Jruby+LWJGL+RubeusでOpenGLしてみる

$:.unshift File.dirname(__FILE__)
require 'lwjgl.jar'
require 'rubeus'
Rubeus::Swing.irb

import org.lwjgl.opengl.AWTGLCanvas
GL = org.lwjgl.opengl.GL11

class MyCanvas < AWTGLCanvas

  def initialize
  end

  def initGL
    GL.glClearColor 0.0,0.0,0.0,1
    GL.glViewport(0, 0, width, height)
  end

  def paintGL
    GL.glClear(GL::GL_COLOR_BUFFER_BIT)

    GL.glColor3d(1,1,0)
    GL.glBegin GL::GL_POLYGON
    GL.glVertex2d(-0.5,-0.5)
    GL.glVertex2d( 0.5,-0.5)
    GL.glVertex2d( 0.5, 0.5)
    GL.glVertex2d(-0.5, 0.5)
    GL.glEnd

    swapBuffers
    repaint
  end

end


JFrame.new do |f|
  f.layout = BorderLayout.new
  canvas = MyCanvas.new
  f.size = "400x300"
  f.visible = true
end