【美少女】やる夫で学 ..
[2ch|▼Menu]
43:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:07:07.60 4/9/sa+x0

     / ̄ ̄\
   /   _ノ  \    そう、つまり物陰に何かが隠れていたとしても、
   |    ( ー)(ー)
.   |     (__人__)   それを描く必要は無い。
    |     ` ⌒´ノ
   .l^l^ln      }   ところが、3DCGの場合、物陰に隠れているネコやドラム缶の情報も
.   ヽ   L     }
    ゝ  ノ   ノ    あらかじめ持ってしまってるわけだ。
   /   /   \
  /   /      \
. /    /     |ヽ、二⌒)、
 ヽ__ノ     

     ____  
   /      \
  /  ─    ─\    意味がわからないお。
/    (●)  (●) \ 
|       (__人__)    | ))
/     ∩ノ ⊃   /
(  \ / _ノ |  |
.\ “  /__|  |  
  |\ /___ /|



44:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:09:13.54 4/9/sa+x0
   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)   奥にあるものから描いていけば問題ないんだ。
. |     (__人__)
  |     ` ⌒´ノ   でも、デフォルトではどっちが奥にどっちが後ろにいるのかわからない。
.  |         }
.  ヽ        }     だから間違えて手前にあるものを先に描いてしまうと、
   ヽ     ノ        \
   /    く  \        \   奥にあるはずの画像で上書きして、
   |     \   \         \
    |    |ヽ、二⌒)、          \   画面がめちゃくちゃになることがあるんだ。

     ____  
   /      \
  /  ─    ─\    ますますわからんお。
/    (ー)  (ー) \ 
|       (__人__)    | ))
/     ∩ノ ⊃   /
(  \ / _ノ |  |
.\ “  /__|  |  
  |\ /___ /|



45:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:11:06.74 4/9/sa+x0
         / ̄ ̄\
       /  .― / \
       |  ( ●)(●) |    とにかくだ。
.       |    (__人__) |
        |    ` ⌒´ ノ    デプスバッファ(別名:深度バッファ/Zバッファ)を使えっていうことだ。
.        ∧       .}
      /\ヽ     /
    ,r―''''''ヽ, \__,ノヽ
 ,r‐' ,、;-‐''''""''ヾ、、,     l      デプスバッファを使うために、
/ ./     r''"ヽ, \,     l`ヽ、     glClearのフラグにGL_DEPTH_BUFFER_BITを追加する
j l ,. /    '    l   ヽ、 ト,   ヽ    初期化時にglEnable(GL_DEPTH_TEST);を追加する
.Lj∠、'´   , i,    /     `ヾ、`'ヽゝ   ディスプレイモードに GLUT_DEPTHフラグを追加するだろ。
,      / 二'''"    ,;、,     `''ー゙--、
゙ヽ-ッ-‐'´ ./`ト-:rイ「´ ゙l;:`''ト-、,_ ノ'i,
=======================================
void display() {
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // デプスバッファも一緒にクリアするですぅ
  glFlush();
}
int main(int argc, char *argv[])
{
  (略)
  glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH); // デプスバッファを追加するですぅ
  glutCreateWindow(argv[0]);
  (略)
  glEnable(GL_DEPTH_TEST); // デプスバッファ出撃ですぅ!
  glutMainLoop();
  return 0;
}
=======================================

46:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:13:56.10 4/9/sa+x0
      ,-‐-、           ,rー-、
     j::::::::::.ヽ ,ヘ^ ⌒ Y ⌒ヽ/ .:::::::.i
     ,ノ::::::::::j(ノ ..::::....::::..:::: ::. .ヾ)':::::::::.i
     ル:::::リγ::..:::::..:::.:..ヘ、: : : :: ノy:::::リ  よく頑張るわねー。
      Yyノ ノ :ノ...:ノ _ノ   ヽ ::::::) ルリノ
        リ::::::( ( ●) (●::(     お兄ちゃん、やる夫、お茶が入ったわよ。
.        ハ::::ハ  ''  r‐ァ リ) )
         ) ) )、  ⌒ ノくハ(
        (,(.( ' ヘ   (´ ノ:::))
        ノ/)`   ヾ ソ ̄(( 、    /
         /   ノ    Y   ヾ.  /
          |  ( ......    .....  i/ 旦
         |  ヽ::::::.   .:::: .ノ
           ヽ   `ー─--r'う 旦
            )`ー──、)))  旦
             /
     ____
    / ⌒  ⌒  \
  ./( ―) ( ●)  \   ありがとだお。
  /::⌒(_人_)⌒:::::  |
  |    ー       .|   やらない夫の話がむずかしすぎて、困ってたところなんだお。
  \          /



47:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:15:48.62 4/9/sa+x0
   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)   次は、マス目を描いてみる。
. |     (__人__)
  |     ` ⌒´ノ    直線を描くためには、頂点を二つ指定する必要がある。
.  |         }
.  ヽ        }       glBegin(GL_LINE)とglEnd()で、直線のための頂点を指定するぞ。
   ヽ     ノ        \
   /    く  \        \  URLリンク(wktk.vip2ch.com)
   |     \   \         \
    |    |ヽ、二⌒)、  旦       \
=======================================
void display() {
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  glLoadIdentity(); // いろいろ初期化するですぅ
  gluLookAt(sx,sy,sz, sx+dx*300,sy+dy*300,sz+dz, 0.0, 0.0, 1.0); // カメラ位置を調整するですぅ
  for ( i=0; i<MAZE_WIDTH; i++ ) {
    glBegin(GL_LINE);
    glVertex2d(i*BLOCKSIZE,0); // 始点を登録するですぅ
    glVertex2d(i*BLOCKSIZE,MAZE_HEIGHT*BLOCKSIZE); // 終点を登録するですぅ
    glEnd();
  }
  for ( i=0; i<MAZE_HEIGHT; i++ ) {
    glBegin(GL_LINE);
    glVertex2d(0,i*BLOCKSIZE); // 始点を登録するですぅ
    glVertex2d(MAZE_WIDTH*BLOCKSIZE,i*BLOCKSIZE); // 終点を登録するですぅ
    glEnd();
  }
  glFlush();
}

48:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:17:26.18 4/9/sa+x0
   / ̄ ̄\
 /   _ノ  \
 |    ( ●)(●)   さて、いよいよ迷路を描いていくぞ。
. |     (__人__)
  |     ` ⌒´ノ    GLUTには立方体を描くためにglutSolidCube()関数というのがある。
.  |         }  
.  ヽ        }       あと、この立方体の位置を調整するのにglTranslated()関数も使う。
   ヽ     ノ        \
   /    く  \        \  迷路情報は >>15 で書いた通りだ。
   |     \   \         \
    |    |ヽ、二⌒)、  旦       \ URLリンク(wktk.vip2ch.com)
=======================================
void display() {
  for ( i=0; i<MAZE_HEIGHT; i++ ) {
    for ( j=0; j<MAZE_WIDTH; j++ ) {
      glPushMatrix();
      glTranslated((0.5+j)*BLOCKSIZE,(0.5+i)*BLOCKSIZE,5); // これから描く物の位置を調整するですぅ
      if ( maze[i][j] == 1 ) {
        glutSolidCube(BLOCKSIZE); // 迷路の壁を描くことを予定するですぅ
      }
      else if ( maze[i][j] == 2 ) {
        drawLady(); // 美少女を描くですぅ
      }
      else { /* 何もしない */ }
glPopMatrix();
}
}
=======================================


49:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:20:32.84 05BQ1Hyh0
わずかに支援

50:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:21:06.78 vkoHd9Sc0
頑張れ支援

51:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:21:25.01 vkoHd9Sc0
もっと支援

このままじゃサル食らうな

52:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:21:53.73 vkoHd9Sc0
つうわけで、こっちがサル食らうまで支援しつづける
頑張れ>>1

53:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:22:03.53 4/9/sa+x0
   / ̄ ̄\
 /   _ノ  \
 |    ( ー)(ー)   仕上げに美少女を描く関数を作って、
. |  /// (__人__)
  |     ` ⌒´ノ   あとはキーボードでダンジョン内を歩けるようにすれば
.  |         }
.  ヽ        }      とりあえず完成だろ常考。
   ヽ     ノ        \
   /    く  \        \   あ、そうそう。glEnable(GL_LIGHTING);glEnable(GL_LIGHT0);で、
   |     \   \         \   空間にライトもつけとくだろ。
    |    |ヽ、二⌒)、          \

       ____
     /⌒  ⌒\     お?適当に割愛するなんていい加減な奴だお。
   /( >)  (<)\
  /::::::⌒(__人__)⌒::::: \   でも、これで3D美少女ダンジョンRPGが完成だお!
  |    /| | | | |      |
  \  (、`ー―'´,    /
       ̄ ̄ ̄
*ソース: URLリンク(wktk.vip2ch.com)



54:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:22:17.74 vkoHd9Sc0
支援

55:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:23:40.72 4/9/sa+x0
         ____
      /::::::─三三─\
    /:::::::: ( ○)三(○)\    ついにゴールイン……!!!!?
    |::::::::::::::::::::(__人__)::::  | ________
     \:::::::::   |r┬-|   ,/ .| |          |
    ノ::::::::::::  `ー'´   \ .| |          |
URLリンク(wktk.vip2ch.com)

   / ̄ ̄\
 /   _ノ  \
 |    ( ー)(ー)   言い忘れてたけど、OpenGL/GLUTだけだと、
. |  /// (__人__)
  |     ` ⌒´ノ     画像を「読み込む」関数が無いから、
.  |         }
.  ヽ        }        自分でいろいろと作らないといけないみたいなんだよな。
   ヽ     ノ        \
   /    く  \        \ でもそんなのやってられるわけないだろ常考。
   |     \   \         \
    |    |ヽ、二⌒)、          \

おしまい


56:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:23:43.09 jIxDLa040
支援

57:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:25:28.10 4/9/sa+x0
うん、これで終わりなんだ。

58:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:25:49.31 Qw1da+t80
なんというやっつけ

59:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:27:23.14 05BQ1Hyh0
あ、おつかれっす

60:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:32:51.64 ONGk6hTI0
僕はIrrlichtたんをおすすめするお!

61:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:33:08.10 vkoHd9Sc0
まてこらwwwwwww

62:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:36:20.02 GbCBiTmL0
(^o^) 乙

63:以下、名無しにかわりましてVIPがお送りします
08/12/18 15:38:20.84 4/9/sa+x0
あ、そうそう。
>>53のソースをコンパイルするには

gcc dungeon.c -lglut

で、おkだよ。(某*nixの場合)
Windowsとか他のマシンではやったことないからてきとーに調整してね(はあと)

>>60
参考にさせてもらうお(^ω^)


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4102日前に更新/48 KB
担当:undef