]> gitweb.factorcode.org Git - factor.git/blob - extra/nehe/2/2.factor
Fixing conflicts from stack checker changes
[factor.git] / extra / nehe / 2 / 2.factor
1 USING: arrays kernel math opengl opengl.gl opengl.glu
2 opengl.demo-support ui ui.gadgets ui.render ;
3 IN: nehe.2
4
5 TUPLE: nehe2-gadget < gadget ;
6
7 CONSTANT: width 256
8 CONSTANT: height 256
9
10 : <nehe2-gadget> (  -- gadget )
11   nehe2-gadget new ;
12
13 M: nehe2-gadget pref-dim* ( gadget -- dim )
14   drop width height 2array ;
15
16 M: nehe2-gadget draw-gadget* ( gadget -- )
17   drop
18   GL_PROJECTION glMatrixMode
19   glLoadIdentity
20   45.0 width height / >float 0.1 100.0 gluPerspective
21   GL_MODELVIEW glMatrixMode
22   glLoadIdentity
23   GL_SMOOTH glShadeModel
24   0.0 0.0 0.0 0.0 glClearColor
25   1.0 glClearDepth
26   GL_DEPTH_TEST glEnable
27   GL_LEQUAL glDepthFunc
28   GL_PERSPECTIVE_CORRECTION_HINT GL_NICEST glHint
29   GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT bitor glClear
30   glLoadIdentity
31   -1.5 0.0 -6.0 glTranslatef
32   GL_TRIANGLES [
33     0.0 1.0 0.0 glVertex3f
34     -1.0 -1.0 0.0 glVertex3f
35     1.0 -1.0 0.0 glVertex3f
36   ] do-state
37   3.0 0.0 0.0 glTranslatef
38   GL_QUADS [
39     -1.0 1.0 0.0 glVertex3f
40     1.0 1.0 0.0 glVertex3f
41     1.0 -1.0 0.0 glVertex3f
42     -1.0 -1.0 0.0 glVertex3f
43   ] do-state ;
44
45 : run2 ( -- )
46   <nehe2-gadget> "NeHe Tutorial 2" open-window ;