RubyでOpenGL
ruby-openglでお手軽3Dプログラミング
ruby-openglで三角形を描画する
藤井研記録板 個別記事 更新・ツッコミページ
glutTimerFunc
モデルビュー変換
ruby-openglでお手軽3Dプログラミング
ruby-openglで三角形を描画する
藤井研記録板 個別記事 更新・ツッコミページ
glutTimerFunc
モデルビュー変換
これらのサイトを参考にしながら和歌山大のチュートリアルをRuby語に翻訳しながら作ってみたのが以下のもの。
require "opengl"
require "glut"
display = proc {
GL.Clear(GL::COLOR_BUFFER_BIT)
GL.Color3d(0.0, 0.0, 0.0)
GL.Begin(GL::LINES)
#AB
GL.Vertex3dv(0.0, 0.2, 0.0)
GL.Vertex3dv(0.0, 0.0, 1.0)
#AD
GL.Vertex3dv(0.0, 0.2, 0.0)
GL.Vertex3dv(-1.0, 0.0, 0.0)
#AC
GL.Vertex3dv(0.0, 0.2, 0.0)
GL.Vertex3dv(1.0, 0.0, 0.0)
#BD
GL.Vertex3dv(0.0, 0.0, 1.0)
GL.Vertex3dv(-1.0, 0.0, 0.0)
#BC
GL.Vertex3dv(0.0, 0.0, 1.0)
GL.Vertex3dv(1.0, 0.0, 0.0)
#CD
GL.Vertex3dv(1.0, 0.0, 0.0)
GL.Vertex3dv(-1.0, 0.0, 0.0)
GL.End();
}
resize = proc {|w,h|
GL.Viewport(0, 0, w, h)
GL.LoadIdentity()
GLU.Perspective(30.0, w / h, 1.0, 100.0)
GLU.LookAt(3.0, 3.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0)
}
timer = proc {
GL.Rotate(2.0, 0.0, 1.0, 0.0)
GLUT.PostRedisplay()
GLUT.TimerFunc(100, timer, 0)
}
GLUT.Init()
GLUT.CreateWindow("ruby-opengl test")
GLUT.DisplayFunc(display)
GLUT.ReshapeFunc(resize)
GL.ClearColor(0.5,0.5,0.5,0.0)
GLUT.TimerFunc(100, timer, 0)
GLUT.MainLoop()
うすっぺらい三角錐がくるくるまわるよ!
・・・それだけ。
・・・それだけ。
このページへのアクセス数
total
-
today
-
yesterday
-
total
-
today
-
yesterday
-