diff --git a/extra/cel-shading/cel-shading.factor b/extra/cel-shading/cel-shading.factor index c89fd0e244..64d23275e9 100644 --- a/extra/cel-shading/cel-shading.factor +++ b/extra/cel-shading/cel-shading.factor @@ -1,5 +1,5 @@ USING: arrays bunny combinators.lib io io.files kernel - math math.functions multiline + math math.functions multiline continuations debugger opengl opengl.gl opengl-demo-support sequences ui ui.gadgets ui.render ; IN: cel-shading @@ -58,14 +58,14 @@ main() <simple-gl-program> ; M: cel-shading-gadget graft* ( gadget -- ) - "2.0" { "GL_ARB_shader_objects" } require-gl-version-or-extensions + [ "2.0" { "GL_ARB_shader_objects" } require-gl-version-or-extensions 0.0 0.0 0.0 1.0 glClearColor GL_CULL_FACE glEnable GL_DEPTH_TEST glEnable - cel-shading-program swap set-cel-shading-gadget-program ; + cel-shading-program swap set-cel-shading-gadget-program ] [ ] [ :c ] cleanup ; M: cel-shading-gadget ungraft* ( gadget -- ) - cel-shading-gadget-program delete-gl-program ; + cel-shading-gadget-program [ delete-gl-program ] when* ; : cel-shading-draw-setup ( gadget -- gadget ) [ demo-gadget-set-matrices ] keep diff --git a/extra/line-art/line-art.factor b/extra/line-art/line-art.factor index 9eb3dc2dda..1a0ae6993f 100644 --- a/extra/line-art/line-art.factor +++ b/extra/line-art/line-art.factor @@ -1,6 +1,6 @@ USING: arrays bunny combinators.lib continuations io io.files kernel math math.functions math.vectors multiline - namespaces + namespaces debugger opengl opengl.gl opengl-demo-support prettyprint sequences ui ui.gadgets ui.gestures ui.render ; @@ -187,7 +187,7 @@ main() ] if ; M: line-art-gadget graft* ( gadget -- ) - "2.0" { "GL_ARB_draw_buffers" + [ "2.0" { "GL_ARB_draw_buffers" "GL_ARB_shader_objects" "GL_ARB_multitexture" "GL_ARB_texture_float" } @@ -196,16 +196,17 @@ M: line-art-gadget graft* ( gadget -- ) GL_CULL_FACE glEnable GL_DEPTH_TEST glEnable (line-art-step1-program) over set-line-art-gadget-step1-program - (line-art-step2-program) swap set-line-art-gadget-step2-program ; + (line-art-step2-program) swap set-line-art-gadget-step2-program + ] [ ] [ :c ] cleanup ; M: line-art-gadget ungraft* ( gadget -- ) dup line-art-gadget-framebuffer [ - { [ line-art-gadget-step1-program delete-gl-program ] - [ line-art-gadget-step2-program delete-gl-program ] - [ line-art-gadget-framebuffer delete-framebuffer ] - [ line-art-gadget-color-texture delete-texture ] - [ line-art-gadget-normal-texture delete-texture ] - [ line-art-gadget-depth-texture delete-texture ] + { [ line-art-gadget-step1-program [ delete-gl-program ] when* ] + [ line-art-gadget-step2-program [ delete-gl-program ] when* ] + [ line-art-gadget-framebuffer [ delete-framebuffer ] when* ] + [ line-art-gadget-color-texture [ delete-texture ] when* ] + [ line-art-gadget-normal-texture [ delete-texture ] when* ] + [ line-art-gadget-depth-texture [ delete-texture ] when* ] [ f swap set-line-art-gadget-framebuffer-dim ] [ f swap set-line-art-gadget-framebuffer ] } call-with ] [ drop ] if ;