--- /dev/null
+USING: arrays kernel math opengl opengl.gl opengl.glu
+opengl.demo-support ui ui.gadgets ui.render ;
+IN: nehe.2
+
+TUPLE: nehe2-gadget < gadget ;
+
+: width 256 ;
+: height 256 ;
+
+: <nehe2-gadget> ( -- gadget )
+ nehe2-gadget new-gadget ;
+
+M: nehe2-gadget pref-dim* ( gadget -- dim )
+ drop width height 2array ;
+
+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
+ ] do-state
+ 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
+ ] do-state ;
+
+: run2 ( -- )
+ <nehe2-gadget> "NeHe Tutorial 2" open-window ;
--- /dev/null
+Chris Double
--- /dev/null
+USING: arrays kernel math opengl opengl.gl opengl.glu
+opengl.demo-support ui ui.gadgets ui.render ;
+IN: nehe.3
+
+TUPLE: nehe3-gadget < gadget ;
+
+: width 256 ;
+: height 256 ;
+
+: <nehe3-gadget> ( -- gadget )
+ nehe3-gadget new-gadget ;
+
+M: nehe3-gadget pref-dim* ( gadget -- dim )
+ drop width height 2array ;
+
+M: nehe3-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 [
+ 1.0 0.0 0.0 glColor3f
+ 0.0 1.0 0.0 glVertex3f
+ 0.0 1.0 0.0 glColor3f
+ -1.0 -1.0 0.0 glVertex3f
+ 0.0 0.0 1.0 glColor3f
+ 1.0 -1.0 0.0 glVertex3f
+ ] do-state
+ 3.0 0.0 0.0 glTranslatef
+ 0.5 0.5 1.0 glColor3f
+ 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
+ ] do-state ;
+
+: run3 ( -- )
+ <nehe3-gadget> "NeHe Tutorial 3" open-window ;
--- /dev/null
+Chris Double
--- /dev/null
+USING: arrays kernel math opengl opengl.gl opengl.glu
+opengl.demo-support ui ui.gadgets ui.render threads accessors
+calendar ;
+IN: nehe.4
+
+TUPLE: nehe4-gadget < gadget rtri rquad thread quit? ;
+
+: width 256 ;
+: height 256 ;
+: redraw-interval ( -- dt ) 10 milliseconds ;
+
+: <nehe4-gadget> ( -- gadget )
+ nehe4-gadget new-gadget
+ 0.0 >>rtri
+ 0.0 >>rquad ;
+
+M: nehe4-gadget pref-dim* ( gadget -- dim )
+ drop width height 2array ;
+
+M: nehe4-gadget draw-gadget* ( gadget -- )
+ 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
+ dup rtri>> 0.0 1.0 0.0 glRotatef
+
+ GL_TRIANGLES [
+ 1.0 0.0 0.0 glColor3f
+ 0.0 1.0 0.0 glVertex3f
+ 0.0 1.0 0.0 glColor3f
+ -1.0 -1.0 0.0 glVertex3f
+ 0.0 0.0 1.0 glColor3f
+ 1.0 -1.0 0.0 glVertex3f
+ ] do-state
+
+ glLoadIdentity
+
+ 1.5 0.0 -6.0 glTranslatef
+ dup rquad>> 1.0 0.0 0.0 glRotatef
+ 0.5 0.5 1.0 glColor3f
+ 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
+ ] do-state
+ [ 0.2 + ] change-rtri
+ [ 0.15 - ] change-rquad drop ;
+
+: nehe4-update-thread ( gadget -- )
+ dup quit?>> [ drop ] [
+ redraw-interval sleep
+ dup relayout-1
+ nehe4-update-thread
+ ] if ;
+
+M: nehe4-gadget graft* ( gadget -- )
+ f >>quit?
+ [ nehe4-update-thread ] curry in-thread ;
+
+M: nehe4-gadget ungraft* ( gadget -- )
+ t >>quit? drop ;
+
+: run4 ( -- )
+ <nehe4-gadget> "NeHe Tutorial 4" open-window ;
--- /dev/null
+Chris Double
--- /dev/null
+USING: arrays kernel math opengl opengl.gl opengl.glu\r
+opengl.demo-support ui ui.gadgets ui.render threads accessors\r
+calendar ;\r
+IN: nehe.5\r
+\r
+TUPLE: nehe5-gadget < gadget rtri rquad thread quit? ;\r
+: width 256 ;\r
+: height 256 ;\r
+: redraw-interval ( -- dt ) 10 milliseconds ;\r
+\r
+: <nehe5-gadget> ( -- gadget )\r
+ nehe5-gadget new-gadget\r
+ 0.0 >>rtri\r
+ 0.0 >>rquad ;\r
+\r
+M: nehe5-gadget pref-dim* ( gadget -- dim )\r
+ drop width height 2array ;\r
+\r
+M: nehe5-gadget draw-gadget* ( gadget -- )\r
+ GL_PROJECTION glMatrixMode\r
+ glLoadIdentity\r
+ 45.0 width height / >float 0.1 100.0 gluPerspective\r
+ GL_MODELVIEW glMatrixMode\r
+ glLoadIdentity\r
+ GL_SMOOTH glShadeModel\r
+ 0.0 0.0 0.0 0.0 glClearColor\r
+ 1.0 glClearDepth\r
+ GL_DEPTH_TEST glEnable\r
+ GL_LEQUAL glDepthFunc\r
+ GL_PERSPECTIVE_CORRECTION_HINT GL_NICEST glHint\r
+ GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT bitor glClear\r
+ glLoadIdentity\r
+ -1.5 0.0 -6.0 glTranslatef\r
+ dup rtri>> 0.0 1.0 0.0 glRotatef\r
+\r
+ GL_TRIANGLES [\r
+ 1.0 0.0 0.0 glColor3f\r
+ 0.0 1.0 0.0 glVertex3f\r
+ 0.0 1.0 0.0 glColor3f\r
+ -1.0 -1.0 1.0 glVertex3f\r
+ 0.0 0.0 1.0 glColor3f\r
+ 1.0 -1.0 1.0 glVertex3f\r
+\r
+ 1.0 0.0 0.0 glColor3f\r
+ 0.0 1.0 0.0 glVertex3f\r
+ 0.0 0.0 1.0 glColor3f\r
+ 1.0 -1.0 1.0 glVertex3f\r
+ 0.0 1.0 0.0 glColor3f\r
+ 1.0 -1.0 -1.0 glVertex3f\r
+\r
+ 1.0 0.0 0.0 glColor3f\r
+ 0.0 1.0 0.0 glVertex3f\r
+ 0.0 1.0 0.0 glColor3f\r
+ 1.0 -1.0 -1.0 glVertex3f\r
+ 0.0 0.0 1.0 glColor3f\r
+ -1.0 -1.0 -1.0 glVertex3f\r
+\r
+ 1.0 0.0 0.0 glColor3f\r
+ 0.0 1.0 0.0 glVertex3f\r
+ 0.0 0.0 1.0 glColor3f\r
+ -1.0 -1.0 -1.0 glVertex3f\r
+ 0.0 1.0 0.0 glColor3f\r
+ -1.0 -1.0 1.0 glVertex3f\r
+ ] do-state\r
+\r
+ glLoadIdentity\r
+\r
+ 1.5 0.0 -7.0 glTranslatef\r
+ dup rquad>> 1.0 0.0 0.0 glRotatef\r
+ GL_QUADS [\r
+ 0.0 1.0 0.0 glColor3f\r
+ 1.0 1.0 -1.0 glVertex3f\r
+ -1.0 1.0 -1.0 glVertex3f\r
+ -1.0 1.0 1.0 glVertex3f\r
+ 1.0 1.0 1.0 glVertex3f\r
+\r
+ 1.0 0.5 0.0 glColor3f\r
+ 1.0 -1.0 1.0 glVertex3f\r
+ -1.0 -1.0 1.0 glVertex3f\r
+ -1.0 -1.0 -1.0 glVertex3f\r
+ 1.0 -1.0 -1.0 glVertex3f\r
+\r
+ 1.0 0.0 0.0 glColor3f\r
+ 1.0 1.0 1.0 glVertex3f\r
+ -1.0 1.0 1.0 glVertex3f\r
+ -1.0 -1.0 1.0 glVertex3f\r
+ 1.0 -1.0 1.0 glVertex3f\r
+\r
+ 1.0 1.0 0.0 glColor3f\r
+ 1.0 -1.0 -1.0 glVertex3f\r
+ -1.0 -1.0 -1.0 glVertex3f\r
+ -1.0 1.0 -1.0 glVertex3f\r
+ 1.0 1.0 -1.0 glVertex3f\r
+\r
+ 0.0 0.0 1.0 glColor3f\r
+ -1.0 1.0 1.0 glVertex3f\r
+ -1.0 1.0 -1.0 glVertex3f\r
+ -1.0 -1.0 -1.0 glVertex3f\r
+ -1.0 -1.0 1.0 glVertex3f\r
+\r
+ 1.0 0.0 1.0 glColor3f\r
+ 1.0 1.0 -1.0 glVertex3f\r
+ 1.0 1.0 1.0 glVertex3f\r
+ 1.0 -1.0 1.0 glVertex3f\r
+ 1.0 -1.0 -1.0 glVertex3f\r
+ ] do-state \r
+ [ 0.2 + ] change-rtri\r
+ [ 0.15 - ] change-rquad drop ;\r
+\r
+: nehe5-update-thread ( gadget -- ) \r
+ dup quit?>> [\r
+ drop\r
+ ] [\r
+ redraw-interval sleep \r
+ dup relayout-1 \r
+ nehe5-update-thread \r
+ ] if ;\r
+\r
+M: nehe5-gadget graft* ( gadget -- )\r
+ f >>quit?\r
+ [ nehe5-update-thread ] curry in-thread ;\r
+\r
+M: nehe5-gadget ungraft* ( gadget -- )\r
+ t >>quit? drop ;\r
+\r
+\r
+: run5 ( -- )\r
+ <nehe5-gadget> "NeHe Tutorial 5" open-window ;\r
--- /dev/null
+Chris Double
--- /dev/null
+Chris Double
--- /dev/null
+USING: tools.deploy.config ;
+V{
+ { deploy-ui? t }
+ { deploy-io 1 }
+ { deploy-reflection 1 }
+ { deploy-compiler? t }
+ { deploy-math? t }
+ { deploy-word-props? f }
+ { deploy-c-types? f }
+ { "stop-after-last-window?" t }
+ { deploy-name "NeHe OpenGL demos" }
+}
--- /dev/null
+USING: ui.gadgets.buttons ui.gadgets.packs ui.gadgets ui
+nehe.2 nehe.3 nehe.4 nehe.5 kernel ;
+IN: nehe
+
+: nehe-window ( -- )
+ [
+ <filled-pile>
+ "Nehe 2" [ drop run2 ] <bevel-button> add-gadget
+ "Nehe 3" [ drop run3 ] <bevel-button> add-gadget
+ "Nehe 4" [ drop run4 ] <bevel-button> add-gadget
+ "Nehe 5" [ drop run5 ] <bevel-button> add-gadget
+ "Nehe examples" open-window
+ ] with-ui ;
+
+MAIN: nehe-window
--- /dev/null
+NeHe OpenGL tutorials ported to Factor
+++ /dev/null
-USING: arrays kernel math opengl opengl.gl opengl.glu
-opengl.demo-support ui ui.gadgets ui.render ;
-IN: nehe.2
-
-TUPLE: nehe2-gadget < gadget ;
-
-: width 256 ;
-: height 256 ;
-
-: <nehe2-gadget> ( -- gadget )
- nehe2-gadget new-gadget ;
-
-M: nehe2-gadget pref-dim* ( gadget -- dim )
- drop width height 2array ;
-
-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
- ] do-state
- 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
- ] do-state ;
-
-: run2 ( -- )
- <nehe2-gadget> "NeHe Tutorial 2" open-window ;
+++ /dev/null
-Chris Double
+++ /dev/null
-USING: arrays kernel math opengl opengl.gl opengl.glu
-opengl.demo-support ui ui.gadgets ui.render ;
-IN: nehe.3
-
-TUPLE: nehe3-gadget < gadget ;
-
-: width 256 ;
-: height 256 ;
-
-: <nehe3-gadget> ( -- gadget )
- nehe3-gadget new-gadget ;
-
-M: nehe3-gadget pref-dim* ( gadget -- dim )
- drop width height 2array ;
-
-M: nehe3-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 [
- 1.0 0.0 0.0 glColor3f
- 0.0 1.0 0.0 glVertex3f
- 0.0 1.0 0.0 glColor3f
- -1.0 -1.0 0.0 glVertex3f
- 0.0 0.0 1.0 glColor3f
- 1.0 -1.0 0.0 glVertex3f
- ] do-state
- 3.0 0.0 0.0 glTranslatef
- 0.5 0.5 1.0 glColor3f
- 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
- ] do-state ;
-
-: run3 ( -- )
- <nehe3-gadget> "NeHe Tutorial 3" open-window ;
+++ /dev/null
-Chris Double
+++ /dev/null
-USING: arrays kernel math opengl opengl.gl opengl.glu
-opengl.demo-support ui ui.gadgets ui.render threads accessors
-calendar ;
-IN: nehe.4
-
-TUPLE: nehe4-gadget < gadget rtri rquad thread quit? ;
-
-: width 256 ;
-: height 256 ;
-: redraw-interval ( -- dt ) 10 milliseconds ;
-
-: <nehe4-gadget> ( -- gadget )
- nehe4-gadget new-gadget
- 0.0 >>rtri
- 0.0 >>rquad ;
-
-M: nehe4-gadget pref-dim* ( gadget -- dim )
- drop width height 2array ;
-
-M: nehe4-gadget draw-gadget* ( gadget -- )
- 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
- dup rtri>> 0.0 1.0 0.0 glRotatef
-
- GL_TRIANGLES [
- 1.0 0.0 0.0 glColor3f
- 0.0 1.0 0.0 glVertex3f
- 0.0 1.0 0.0 glColor3f
- -1.0 -1.0 0.0 glVertex3f
- 0.0 0.0 1.0 glColor3f
- 1.0 -1.0 0.0 glVertex3f
- ] do-state
-
- glLoadIdentity
-
- 1.5 0.0 -6.0 glTranslatef
- dup rquad>> 1.0 0.0 0.0 glRotatef
- 0.5 0.5 1.0 glColor3f
- 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
- ] do-state
- [ 0.2 + ] change-rtri
- [ 0.15 - ] change-rquad drop ;
-
-: nehe4-update-thread ( gadget -- )
- dup quit?>> [ drop ] [
- redraw-interval sleep
- dup relayout-1
- nehe4-update-thread
- ] if ;
-
-M: nehe4-gadget graft* ( gadget -- )
- f >>quit?
- [ nehe4-update-thread ] curry in-thread ;
-
-M: nehe4-gadget ungraft* ( gadget -- )
- t >>quit? drop ;
-
-: run4 ( -- )
- <nehe4-gadget> "NeHe Tutorial 4" open-window ;
+++ /dev/null
-Chris Double
+++ /dev/null
-USING: arrays kernel math opengl opengl.gl opengl.glu\r
-opengl.demo-support ui ui.gadgets ui.render threads accessors\r
-calendar ;\r
-IN: nehe.5\r
-\r
-TUPLE: nehe5-gadget < gadget rtri rquad thread quit? ;\r
-: width 256 ;\r
-: height 256 ;\r
-: redraw-interval ( -- dt ) 10 milliseconds ;\r
-\r
-: <nehe5-gadget> ( -- gadget )\r
- nehe5-gadget new-gadget\r
- 0.0 >>rtri\r
- 0.0 >>rquad ;\r
-\r
-M: nehe5-gadget pref-dim* ( gadget -- dim )\r
- drop width height 2array ;\r
-\r
-M: nehe5-gadget draw-gadget* ( gadget -- )\r
- GL_PROJECTION glMatrixMode\r
- glLoadIdentity\r
- 45.0 width height / >float 0.1 100.0 gluPerspective\r
- GL_MODELVIEW glMatrixMode\r
- glLoadIdentity\r
- GL_SMOOTH glShadeModel\r
- 0.0 0.0 0.0 0.0 glClearColor\r
- 1.0 glClearDepth\r
- GL_DEPTH_TEST glEnable\r
- GL_LEQUAL glDepthFunc\r
- GL_PERSPECTIVE_CORRECTION_HINT GL_NICEST glHint\r
- GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT bitor glClear\r
- glLoadIdentity\r
- -1.5 0.0 -6.0 glTranslatef\r
- dup rtri>> 0.0 1.0 0.0 glRotatef\r
-\r
- GL_TRIANGLES [\r
- 1.0 0.0 0.0 glColor3f\r
- 0.0 1.0 0.0 glVertex3f\r
- 0.0 1.0 0.0 glColor3f\r
- -1.0 -1.0 1.0 glVertex3f\r
- 0.0 0.0 1.0 glColor3f\r
- 1.0 -1.0 1.0 glVertex3f\r
-\r
- 1.0 0.0 0.0 glColor3f\r
- 0.0 1.0 0.0 glVertex3f\r
- 0.0 0.0 1.0 glColor3f\r
- 1.0 -1.0 1.0 glVertex3f\r
- 0.0 1.0 0.0 glColor3f\r
- 1.0 -1.0 -1.0 glVertex3f\r
-\r
- 1.0 0.0 0.0 glColor3f\r
- 0.0 1.0 0.0 glVertex3f\r
- 0.0 1.0 0.0 glColor3f\r
- 1.0 -1.0 -1.0 glVertex3f\r
- 0.0 0.0 1.0 glColor3f\r
- -1.0 -1.0 -1.0 glVertex3f\r
-\r
- 1.0 0.0 0.0 glColor3f\r
- 0.0 1.0 0.0 glVertex3f\r
- 0.0 0.0 1.0 glColor3f\r
- -1.0 -1.0 -1.0 glVertex3f\r
- 0.0 1.0 0.0 glColor3f\r
- -1.0 -1.0 1.0 glVertex3f\r
- ] do-state\r
-\r
- glLoadIdentity\r
-\r
- 1.5 0.0 -7.0 glTranslatef\r
- dup rquad>> 1.0 0.0 0.0 glRotatef\r
- GL_QUADS [\r
- 0.0 1.0 0.0 glColor3f\r
- 1.0 1.0 -1.0 glVertex3f\r
- -1.0 1.0 -1.0 glVertex3f\r
- -1.0 1.0 1.0 glVertex3f\r
- 1.0 1.0 1.0 glVertex3f\r
-\r
- 1.0 0.5 0.0 glColor3f\r
- 1.0 -1.0 1.0 glVertex3f\r
- -1.0 -1.0 1.0 glVertex3f\r
- -1.0 -1.0 -1.0 glVertex3f\r
- 1.0 -1.0 -1.0 glVertex3f\r
-\r
- 1.0 0.0 0.0 glColor3f\r
- 1.0 1.0 1.0 glVertex3f\r
- -1.0 1.0 1.0 glVertex3f\r
- -1.0 -1.0 1.0 glVertex3f\r
- 1.0 -1.0 1.0 glVertex3f\r
-\r
- 1.0 1.0 0.0 glColor3f\r
- 1.0 -1.0 -1.0 glVertex3f\r
- -1.0 -1.0 -1.0 glVertex3f\r
- -1.0 1.0 -1.0 glVertex3f\r
- 1.0 1.0 -1.0 glVertex3f\r
-\r
- 0.0 0.0 1.0 glColor3f\r
- -1.0 1.0 1.0 glVertex3f\r
- -1.0 1.0 -1.0 glVertex3f\r
- -1.0 -1.0 -1.0 glVertex3f\r
- -1.0 -1.0 1.0 glVertex3f\r
-\r
- 1.0 0.0 1.0 glColor3f\r
- 1.0 1.0 -1.0 glVertex3f\r
- 1.0 1.0 1.0 glVertex3f\r
- 1.0 -1.0 1.0 glVertex3f\r
- 1.0 -1.0 -1.0 glVertex3f\r
- ] do-state \r
- [ 0.2 + ] change-rtri\r
- [ 0.15 - ] change-rquad drop ;\r
-\r
-: nehe5-update-thread ( gadget -- ) \r
- dup quit?>> [\r
- drop\r
- ] [\r
- redraw-interval sleep \r
- dup relayout-1 \r
- nehe5-update-thread \r
- ] if ;\r
-\r
-M: nehe5-gadget graft* ( gadget -- )\r
- f >>quit?\r
- [ nehe5-update-thread ] curry in-thread ;\r
-\r
-M: nehe5-gadget ungraft* ( gadget -- )\r
- t >>quit? drop ;\r
-\r
-\r
-: run5 ( -- )\r
- <nehe5-gadget> "NeHe Tutorial 5" open-window ;\r
+++ /dev/null
-Chris Double
+++ /dev/null
-Chris Double
+++ /dev/null
-USING: tools.deploy.config ;
-V{
- { deploy-ui? t }
- { deploy-io 1 }
- { deploy-reflection 1 }
- { deploy-compiler? t }
- { deploy-math? t }
- { deploy-word-props? f }
- { deploy-c-types? f }
- { "stop-after-last-window?" t }
- { deploy-name "NeHe OpenGL demos" }
-}
+++ /dev/null
-USING: ui.gadgets.buttons ui.gadgets.packs ui.gadgets ui
-nehe.2 nehe.3 nehe.4 nehe.5 kernel ;
-IN: nehe
-
-: nehe-window ( -- )
- [
- <filled-pile>
- "Nehe 2" [ drop run2 ] <bevel-button> add-gadget
- "Nehe 3" [ drop run3 ] <bevel-button> add-gadget
- "Nehe 4" [ drop run4 ] <bevel-button> add-gadget
- "Nehe 5" [ drop run5 ] <bevel-button> add-gadget
- "Nehe examples" open-window
- ] with-ui ;
-
-MAIN: nehe-window
+++ /dev/null
-NeHe OpenGL tutorials ported to Factor