続、3DCGライブラリ 山中和義 2005/11/10 11:34:38 └線と面との交点を計算してみました。 山中和義 2005/11/15 10:16:06 └2次元も表示できようにしてみました。 山中和義 2005/11/17 21:41:21 └参考Basic4GL 山中和義 2005/12/04 20:09:44
続、3DCGライブラリ 山中和義 2005/11/10 11:34:38 ツリーへ
続、3DCGライブラリ |
返事を書く |
山中和義 2005/11/10 11:34:38 | |
Zソート、フラットシェーディングをサポートしました。 http://www.urban.ne.jp/home/kz4ymnk/seminar/basic/3dcg_api2.txt フレームレートは、PentiumV700MHzで7fpsです。(10秒ごとに算出) みなさんのパソコンではどのくらいでしょうか? 線と面との交点などを計算すれば(オブジェクトの細分化)、 もう少し、まともに表示できそうです。 例. 立体図形と座標の格子との交差 ワイヤーフレーム版 http://www.urban.ne.jp/home/kz4ymnk/seminar/basic/3dcg_api.txt |
└線と面との交点を計算してみました。 山中和義 2005/11/15 10:16:06 ツリーへ
Re: 続、3DCGライブラリ |
返事を書く |
山中和義 2005/11/15 10:16:06 | |
線と面との交点を計算してみました。 http://www.urban.ne.jp/home/kz4ymnk/seminar/basic/3dcg_api2.txt フレームレートは、PentiumV700MHzで5fpsです。(10秒ごとに算出) |
└2次元も表示できようにしてみました。 山中和義 2005/11/17 21:41:21 ツリーへ
Re: 線と面との交点を計算してみました。 |
返事を書く |
山中和義 2005/11/17 21:41:21 | |
2次元も表示できようにしてみました。 http://www.urban.ne.jp/home/kz4ymnk/seminar/basic/3dcg_api2.txt メイン部分を下記のものに差し替えてください。 SUB draw_axes(scl) !ワールド座標(XY軸)を描く CALL glBegin(GL_LINES) !線を描く CALL glColor3f(0.5,0.5,0.5) FOR i=-10 TO 10 !XZ平面 x方向 CALL glVertex2f(i*scl,-10*scl) IF i=0 THEN CALL glVertex2f(0,0) ELSE CALL glVertex2f(i*scl,10*scl) END IF NEXT i FOR i=-10 TO 10 !XZ平面 z方向 CALL glVertex2f(-10*scl,i*scl) IF i=0 THEN CALL glVertex2f(0,0) ELSE CALL glVertex2f(10*scl,i*scl) END IF NEXT i CALL glEnd CALL glBegin(GL_LINES) CALL glColor3f(1,0,0) !X軸(赤) CALL glVertex2f(0,0) CALL glVertex2f(20*scl,0) CALL glColor3f(0,1,0) !Y軸(緑) CALL glVertex2f(0,0) CALL glVertex2f(0,20*scl) CALL glEnd END SUB SUB DRAW !図形を描く CALL glColor3f(1,1,0) CALL glBegin(GL_LINE_LOOP) CALL glVertex2f(-0.9, -0.9) CALL glVertex2f(0.9, -0.9) CALL glVertex2f(0.9, 0.9) CALL glVertex2f(-0.9, 0.9) CALL glEnd END SUB SUB DISPLAY !GLUTディスプレイコールバック関数 CALL glClear(f) !画面をクリアする CALL draw_axes(0.1) CALL DRAW CALL glFlush END SUB SUB reshape(w,h) !GLUTシェイプコールバック関数 END SUB SUB keyboard(c,x,y) !GLUTキーボード入力コールバック関数 IF c=27 THEN STOP !ESCキーなら終了 END SUB SUB timer(dummy) !GLUTタイマーコールバック関数 END SUB SUB init !シーンの初期化 CALL glClearColor(0,0,0,1) !背景色を設定する END SUB !main CALL glutInit !GLUTを初期化する CALL init CALL glutMainLoop !あとのことはGLUTにまかせる END |
└参考Basic4GL 山中和義 2005/12/04 20:09:44 ツリーへ
Re: 2次元も表示できようにしてみました。 |
返事を書く |
山中和義 2005/12/04 20:09:44 | |
参考 Basic4GL OpenGL1.1をほぼサポートしたBASICコンパイラ処理系 http://www.basic4gl.net/ |