call find-gl-context to ensure context is set during graft/ungraft in GL demos
parent
dacd2dfc1c
commit
3399a579d0
|
@ -1,6 +1,7 @@
|
|||
USING: accessors arrays bunny.cel-shaded bunny.fixed-pipeline
|
||||
bunny.model bunny.outlined destructors kernel math opengl.demo-support
|
||||
opengl.gl sequences ui ui.gadgets ui.gestures ui.render words ;
|
||||
opengl.gl sequences ui ui.gadgets ui.gadgets.worlds ui.gestures
|
||||
ui.render words ;
|
||||
IN: bunny
|
||||
|
||||
TUPLE: bunny-gadget < demo-gadget model-triangles geom draw-seq draw-n ;
|
||||
|
@ -18,6 +19,7 @@ TUPLE: bunny-gadget < demo-gadget model-triangles geom draw-seq draw-n ;
|
|||
>>draw-n relayout-1 ;
|
||||
|
||||
M: bunny-gadget graft* ( gadget -- )
|
||||
dup find-gl-context
|
||||
GL_DEPTH_TEST glEnable
|
||||
dup model-triangles>> <bunny-geom> >>geom
|
||||
dup
|
||||
|
@ -29,6 +31,7 @@ M: bunny-gadget graft* ( gadget -- )
|
|||
drop ;
|
||||
|
||||
M: bunny-gadget ungraft* ( gadget -- )
|
||||
dup find-gl-context
|
||||
[ geom>> [ dispose ] when* ]
|
||||
[ draw-seq>> [ [ dispose ] when* ] each ] bi ;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
USING: kernel opengl.demo-support opengl.gl opengl.shaders opengl.framebuffers
|
||||
opengl multiline ui.gadgets accessors sequences ui.render ui math locals
|
||||
arrays generalizations combinators opengl.capabilities ;
|
||||
arrays generalizations combinators opengl.capabilities ui.gadgets.worlds ;
|
||||
IN: spheres
|
||||
|
||||
STRING: plane-vertex-shader
|
||||
|
@ -162,6 +162,7 @@ M: spheres-gadget distance-step ( gadget -- dz )
|
|||
3array <gl-program> check-gl-program ;
|
||||
|
||||
M: spheres-gadget graft* ( gadget -- )
|
||||
dup find-gl-context
|
||||
"2.0" { "GL_ARB_shader_objects" } require-gl-version-or-extensions
|
||||
{ "GL_EXT_framebuffer_object" } require-gl-extensions
|
||||
(plane-program) >>plane-program
|
||||
|
@ -173,6 +174,7 @@ M: spheres-gadget graft* ( gadget -- )
|
|||
drop ;
|
||||
|
||||
M: spheres-gadget ungraft* ( gadget -- )
|
||||
dup find-gl-context
|
||||
{
|
||||
[ reflection-framebuffer>> [ delete-framebuffer ] when* ]
|
||||
[ reflection-depthbuffer>> [ delete-renderbuffer ] when* ]
|
||||
|
|
Loading…
Reference in New Issue