Merge git://pgdn.org/factor
commit
33d9e45420
|
@ -187,7 +187,10 @@ main()
|
|||
] if ;
|
||||
|
||||
M: line-art-gadget graft* ( gadget -- )
|
||||
"2.0" { "GL_ARB_draw_buffers" "GL_ARB_shader_objects" "GL_ARB_multitexture" }
|
||||
"2.0" { "GL_ARB_draw_buffers"
|
||||
"GL_ARB_shader_objects"
|
||||
"GL_ARB_multitexture"
|
||||
"GL_ARB_texture_float" }
|
||||
require-gl-version-or-extensions
|
||||
{ "GL_EXT_framebuffer_object" } require-gl-extensions
|
||||
GL_CULL_FACE glEnable
|
||||
|
|
|
@ -136,7 +136,6 @@ IN: opengl
|
|||
|
||||
: with-framebuffer ( id quot -- )
|
||||
GL_FRAMEBUFFER_EXT rot glBindFramebufferEXT
|
||||
[ call ]
|
||||
[ GL_FRAMEBUFFER_EXT 0 glBindFramebufferEXT ] [ ] cleanup ; inline
|
||||
|
||||
: bind-texture-unit ( id target unit -- )
|
||||
|
@ -357,7 +356,7 @@ PREDICATE: gl-shader fragment-shader (fragment-shader?) ;
|
|||
] each delete-gl-program-only ;
|
||||
|
||||
: with-gl-program ( program quot -- )
|
||||
swap glUseProgram [ call ] [ 0 glUseProgram ] [ ] cleanup ; inline
|
||||
swap glUseProgram [ 0 glUseProgram ] [ ] cleanup ; inline
|
||||
|
||||
PREDICATE: integer gl-program (gl-program?) ;
|
||||
|
||||
|
|
|
@ -120,12 +120,10 @@ SYMBOL: ui-hook
|
|||
[ dup update-hand draw-world ] each ;
|
||||
|
||||
: notify ( gadget -- )
|
||||
dup gadget-graft-state [ dup {
|
||||
{ { f t } [ over activate-control over graft* ] }
|
||||
{ { t f } [ over activate-control over ungraft* ] }
|
||||
} case ]
|
||||
[ first { f f } { t t } ?
|
||||
swap set-gadget-graft-state ] [ ] cleanup ;
|
||||
dup gadget-graft-state dup first { f f } { t t } ? pick set-gadget-graft-state {
|
||||
{ { f t } [ dup activate-control graft* ] }
|
||||
{ { t f } [ dup activate-control ungraft* ] }
|
||||
} case ;
|
||||
|
||||
: notify-queued ( -- )
|
||||
graft-queue [ notify ] dlist-slurp ;
|
||||
|
|
Loading…
Reference in New Issue