rendered paste body#!/usr/bin/env rubyrequire 'glut'require 'opengl'initOpenGL = Proc.new{|x,y| GLUT.Init(ARGV) GLUT.InitDisplayMode(GLUT::RGB) GLUT.InitWindowPosition(200,200) GLUT.InitWindowSize(x,y) GLUT.CreateWindow("Cours OpenGL avec Ruby !") GL.ClearColor(0,0,0,0) GL.PointSize(2)}affichage = Proc.new{ GL.Clear(GL::COLOR_BUFFER_BIT) GL.Begin(GL::POLYGON) GL.Color3f(1.0,0.0,0.0) GL.Vertex2f(-0.5,-0.5) GL.Color3f(0.0,1.0,0.0) GL.Vertex2f(0.5,-0.5) GL.Color3f(0.0,0.0,1.0) GL.Vertex2f(0.5,0.5) GL.Color3f(1.0,1.0,1.0) GL.Vertex2f(-0.5,0.5) GL.End() GL.Flush()}clavier = Proc.new{|key,x,y| case key.chr when 'p' GL.PolygonMode(GL::FRONT_AND_BACK,GL::FILL) GLUT.PostRedisplay() when 'f' GL.PolygonMode(GL::FRONT_AND_BACK,GL::LINE) GLUT.PostRedisplay() when 's' GL.PolygonMode(GL::FRONT_AND_BACK,GL::POINT) GLUT.PostRedisplay() when 'q' exit(0) end} initOpenGL(200,200)GLUT.DisplayFunc(affichage)GLUT.KeyboardFunc(clavier)GLUT.MainLoop()