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などで調べてもらえるとありがたいです。
読み込み中
クリックでキャンセルします
画像が存在しません
