「RubyでOpenGL」の編集履歴(バックアップ)一覧はこちら
「RubyでOpenGL」(2009/06/07 (日) 16:19:00) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
[[GLUTによる「手抜き」OpenGL入門>>http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html]]
和歌山大の先生が学生向けに書かれたものらしく、それなりにわかりやすい。
想像力をつけさせるためなのか、スクリーンショットが1枚もない。
[[RubyでOpenGL>>http://d.hatena.ne.jp/verus/20080225/1203880010]]
[[ruby-openglでお手軽3Dプログラミング>>http://doruby.kbmj.com/akio0911_on_rails/20081009/ruby-opengl_3D_]]
[[ruby-openglで三角形を描画する>>http://doruby.kbmj.com/akio0911_on_rails/20081026/ruby-opengl_]]
[[藤井研記録板 個別記事 更新・ツッコミページ>>http://ex.osaka-kyoiku.ac.jp/~fujii/JREC4/jrec1.cgi?k=4]]
[[glutTimerFunc>>http://balsa.mis.hiroshima-u.ac.jp/interface/opengl/section07-19.html]]
[[モデルビュー変換>>http://wisdom.sakura.ne.jp/system/opengl/gl11.html]]
これらのサイトを参考にしながら和歌山大のチュートリアルをRuby語に翻訳しながら作ってみたのが以下のもの。
#highlight(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()}}
うすっぺらい三角錐がくるくるまわるよ!
&nowiki(){・・・それだけ。}
- ホテル行く前に外で2発イカせてもらいますた! http://ston.mlstarn%2ecom/52288227 -- てれれん (2009-06-04 20:33:01)
- セフしさまさまだなwマジ天国wwwhttp://sersai%2ecom/hosakimenma/318936752 -- 大日にょ来 (2009-06-06 01:11:05)
#comment()
このページへのアクセス数
total
&counter()
today
&counter(today)
yesterday
&counter(yesterday)
このページのタグ一覧
&tags_list()
[[GLUTによる「手抜き」OpenGL入門>>http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html]]
和歌山大の先生が学生向けに書かれたものらしく、それなりにわかりやすい。
想像力をつけさせるためなのか、スクリーンショットが1枚もない。
[[RubyでOpenGL>>http://d.hatena.ne.jp/verus/20080225/1203880010]]
[[ruby-openglでお手軽3Dプログラミング>>http://doruby.kbmj.com/akio0911_on_rails/20081009/ruby-opengl_3D_]]
[[ruby-openglで三角形を描画する>>http://doruby.kbmj.com/akio0911_on_rails/20081026/ruby-opengl_]]
[[藤井研記録板 個別記事 更新・ツッコミページ>>http://ex.osaka-kyoiku.ac.jp/~fujii/JREC4/jrec1.cgi?k=4]]
[[glutTimerFunc>>http://balsa.mis.hiroshima-u.ac.jp/interface/opengl/section07-19.html]]
[[モデルビュー変換>>http://wisdom.sakura.ne.jp/system/opengl/gl11.html]]
これらのサイトを参考にしながら和歌山大のチュートリアルをRuby語に翻訳しながら作ってみたのが以下のもの。
#highlight(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()}}
うすっぺらい三角錐がくるくるまわるよ!
&nowiki(){・・・それだけ。}
#comment()
このページへのアクセス数
total
&counter()
today
&counter(today)
yesterday
&counter(yesterday)
このページのタグ一覧
&tags_list()
表示オプション
横に並べて表示:
変化行の前後のみ表示: