2008年
9月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

setup diary

2007|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|06|08|11|
2015|01|02|03|04|05|06|07|08|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|

2008-09-02 rubyでOpenGL

_ rubyでgraphics

GUIをrubyでつくる時には、最近はruby/Tkを使っている。簡単なgraphicsはTkのCanvasで実現できる。研究室でOpenGLの話が出たので、rubyでも使えるのかどうかやってみた。
sudo aptitude install  libopengl-ruby
でインストールして、GLUTを使うとcと同じ感覚で使えるようだ。こんな感じ。
require "opengl"
require "glut"
shape = proc {
  GL.Clear(GL::COLOR_BUFFER_BIT)
  GL.Color3d(1.0,0,0)
  GL.Begin(GL::LINES)
  GL.Vertex2d(-1,-1)
  GL.Vertex2d(1,1)
  GL.End()
  GL.Flush()
}
mouse = proc{|button,state,x,y|
  p [button,state,x,y]
}
GLUT.Init()
GLUT.InitDisplayMode(GLUT::RGBA)
GLUT.CreateWindow("OpenGL:test")
GLUT.DisplayFunc(shape)
GLUT.MouseFunc(mouse)
GLUT.MainLoop()
まあ、でも覚えるのが面倒なので、必要性が出てこない限り使わないだろう。