]> gitweb.factorcode.org Git - factor.git/blob - extra/nehe/3/3.factor
Fix conflict
[factor.git] / extra / nehe / 3 / 3.factor
1 USING: arrays kernel math opengl opengl.gl opengl.glu
2 opengl.demo-support ui ui.gadgets ui.render ;
3 IN: nehe.3
4
5 TUPLE: nehe3-gadget < gadget ;
6
7 : width 256 ;
8 : height 256 ;
9
10 : <nehe3-gadget> (  -- gadget )
11   nehe3-gadget new ;
12
13 M: nehe3-gadget pref-dim* ( gadget -- dim )
14   drop width height 2array ;
15
16 M: nehe3-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     1.0 0.0 0.0 glColor3f
34     0.0 1.0 0.0 glVertex3f
35     0.0 1.0 0.0 glColor3f
36     -1.0 -1.0 0.0 glVertex3f
37     0.0 0.0 1.0 glColor3f
38     1.0 -1.0 0.0 glVertex3f
39   ] do-state
40   3.0 0.0 0.0 glTranslatef
41   0.5 0.5 1.0 glColor3f
42   GL_QUADS [
43     -1.0 1.0 0.0 glVertex3f
44     1.0 1.0 0.0 glVertex3f
45     1.0 -1.0 0.0 glVertex3f
46     -1.0 -1.0 0.0 glVertex3f
47   ] do-state ;
48
49 : run3 ( -- )
50   <nehe3-gadget> "NeHe Tutorial 3" open-window ;