GL11.glClearColor(0, 0, 0, 0) GL11.glEnable(GL11.GL_DEPTH_TEST) GL11.glViewport(0, 0, width, height) GL11.glMatrixMode(GL11.GL_PROJECTION) GL11.glLoadIdentity GL11.glFrustum(-halfWidth, halfWidth, -halfHeight, halfHeight, 100, 10000)
次に、 オブジェクトの描画です。
GLUTオブジェクトを使って簡単に何か描こうと思っていたのですが、LWJGLにはGLUTはない模様・・・
なので、GLUオブジェクトを使って描きます。
object ACT3D
@throws(classOf[LWJGLException]) def run { val sphere = new Sphere sphere.setDrawStyle(GLU.GLU_LINE) while (running) { Display.update if (Display.isCloseRequested) { running = false } else { GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT) GL11.glMatrixMode(GL11.GL_MODELVIEW) GL11.glLoadIdentity GLU.gluLookAt(0, 150, 50, 0, 0, 0, 0, 1, 0) GL11.glColor3f(1, 1, 1) sphere.draw(50, 10, 10) Display.swapBuffers Display.sync(fps) } } }
これを実行すると、
こんな感じで、球が描画されます。
今回使っているglFrustumやgluLookAtは、私にはまだ到底説明できないものなので、Googleなどで調べてもらえるとありがたいです。
読み込み中
クリックでキャンセルします
画像が存在しません
0 件のコメント:
コメントを投稿