From bae6713aa9eb3dbdf0bacdef2733fc3f84ccd08e Mon Sep 17 00:00:00 2001 From: "chris.double" Date: Tue, 28 Nov 2006 21:50:58 +0000 Subject: [PATCH] nehe: add nehe opengl example --- examples/nehe/nehe2.factor | 48 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 examples/nehe/nehe2.factor diff --git a/examples/nehe/nehe2.factor b/examples/nehe/nehe2.factor new file mode 100644 index 0000000000..180a5b2818 --- /dev/null +++ b/examples/nehe/nehe2.factor @@ -0,0 +1,48 @@ +IN: nehe +USING: kernel gadgets opengl math arrays ; + +TUPLE: nehe2-gadget ; + +: width 256 ; +: height 256 ; + +C: nehe2-gadget ( -- gadget ) + [ delegate>gadget ] keep ; + +M: nehe2-gadget pref-dim* ( gadget -- dim ) + drop width height 0 3array ; + +: gl-begin ( type quot -- ) + >r glBegin r> call glEnd ; inline + +M: nehe2-gadget draw-gadget* ( gadget -- ) + drop + GL_PROJECTION glMatrixMode + glLoadIdentity + 45.0 width height / >float 0.1 100.0 gluPerspective + GL_MODELVIEW glMatrixMode + glLoadIdentity + GL_SMOOTH glShadeModel + 0.0 0.0 0.0 0.0 glClearColor + 1.0 glClearDepth + GL_DEPTH_TEST glEnable + GL_LEQUAL glDepthFunc + GL_PERSPECTIVE_CORRECTION_HINT GL_NICEST glHint + GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT bitor glClear + glLoadIdentity + -1.5 0.0 -6.0 glTranslatef + GL_TRIANGLES [ + 0.0 1.0 0.0 glVertex3f + -1.0 -1.0 0.0 glVertex3f + 1.0 -1.0 0.0 glVertex3f + ] gl-begin + 3.0 0.0 0.0 glTranslatef + GL_QUADS [ + -1.0 1.0 0.0 glVertex3f + 1.0 1.0 0.0 glVertex3f + 1.0 -1.0 0.0 glVertex3f + -1.0 -1.0 0.0 glVertex3f + ] gl-begin ; + +: run ( -- ) + "NeHe Tutorial 2" open-titled-window ;