OpenGLを触ってみた
今日はコンピュータグラフィックスの講義を受けました。
内容はOpenGLの概要の説明の様な物。
CでOpenGLを動かすサンプルを見ながらOpenGLについて説明を受けました。
という事で早速動かしてみる事に、、
Macでは始めからOpenGLを動かすための環境が整っている様なのでサンプルをそのままコンパイル!
と思ったが動かず。
#include <GL/glut.h>
を
#include <GLUT/glut.h>
に書き換えたら動きました。
んで、次はRubyからOpenGLを動かしてみる事に。
環境は
$sudo gem install ruby-opengl
で完成。
らくちん。
で、サンプルをRubyで書き換え。
これもほとんどおんなじかんじで書き換えて完成。
書き換えた物はこんなかんじ。
require "opengl" require "glut" display = proc { GL.Viewport(0, 0, 500, 500) GL.Clear(GL::COLOR_BUFFER_BIT) GL.Color3f(1.0, 1.0, 0.0) GL.Begin(GL::LINE_STRIP) GL.Vertex2f(0.25, 0.25) GL.Vertex2f(0.75, 0.25) GL.Vertex2f(0.75, 0.75) GL.Vertex2f(0.25, 0.75) GL.End GL.LineWidth(3.0) GL.Color3f(0.0, 0.0, 1.0) GL.Begin(GL::LINES) GL.Vertex2f(0.25, 0.25) GL.Vertex2f(0.25, 0.75) GL.End() GL.Flush() } GLUT.Init() GLUT.InitDisplayMode(GLUT::SINGLE | GLUT::RGB) GLUT.InitWindowSize(500, 500) GLUT.InitWindowPosition(0, 0) GLUT.CreateWindow("test2") GLUT.DisplayFunc(display) GL.ClearColor(0.0, 0.0, 0.0, 0.0) GL.MatrixMode(GL::PROJECTION) GL.LoadIdentity() GLU.Ortho2D(-1.0, 1.0, -1.0, 1.0) GLUT.MainLoop()