diff --git a/basis/opengl/framebuffers/framebuffers-docs.factor b/basis/opengl/framebuffers/framebuffers-docs.factor index c5507dcce1..6efa63d04e 100644 --- a/basis/opengl/framebuffers/framebuffers-docs.factor +++ b/basis/opengl/framebuffers/framebuffers-docs.factor @@ -4,32 +4,32 @@ IN: opengl.framebuffers HELP: gen-framebuffer { $values { "id" integer } } -{ $description "Wrapper for " { $link glGenFramebuffersEXT } " to handle the common case of generating a single framebuffer ID." } ; +{ $description "Wrapper for " { $link glGenFramebuffers } " to handle the common case of generating a single framebuffer ID." } ; HELP: gen-renderbuffer { $values { "id" integer } } -{ $description "Wrapper for " { $link glGenRenderbuffersEXT } " to handle the common case of generating a single render buffer ID." } ; +{ $description "Wrapper for " { $link glGenRenderbuffers } " to handle the common case of generating a single render buffer ID." } ; HELP: delete-framebuffer { $values { "id" integer } } -{ $description "Wrapper for " { $link glDeleteFramebuffersEXT } " to handle the common case of deleting a single framebuffer ID." } ; +{ $description "Wrapper for " { $link glDeleteFramebuffers } " to handle the common case of deleting a single framebuffer ID." } ; HELP: delete-renderbuffer { $values { "id" integer } } -{ $description "Wrapper for " { $link glDeleteRenderbuffersEXT } " to handle the common case of deleting a single render buffer ID." } ; +{ $description "Wrapper for " { $link glDeleteRenderbuffers } " to handle the common case of deleting a single render buffer ID." } ; { gen-framebuffer delete-framebuffer } related-words { gen-renderbuffer delete-renderbuffer } related-words HELP: framebuffer-incomplete? { $values { "status/f" "The framebuffer error code, or " { $snippet "f" } " if the framebuffer is render-complete." } } -{ $description "Checks the framebuffer currently bound by " { $link glBindFramebufferEXT } " or " { $link with-framebuffer } " to see if it is incomplete, i.e., it is not ready to be rendered to." } ; +{ $description "Checks the framebuffer currently bound by " { $link glBindFramebuffer } " or " { $link with-framebuffer } " to see if it is incomplete, i.e., it is not ready to be rendered to." } ; HELP: check-framebuffer -{ $description "Checks the framebuffer currently bound by " { $link glBindFramebufferEXT } " or " { $link with-framebuffer } " with " { $link framebuffer-incomplete? } ", and throws a descriptive error if the framebuffer is incomplete." } ; +{ $description "Checks the framebuffer currently bound by " { $link glBindFramebuffer } " or " { $link with-framebuffer } " with " { $link framebuffer-incomplete? } ", and throws a descriptive error if the framebuffer is incomplete." } ; HELP: with-framebuffer { $values { "id" "The id of a framebuffer object." } { "quot" "a quotation" } } -{ $description "Binds framebuffer " { $snippet "id" } " in the dynamic extent of " { $snippet "quot" } ", restoring the window framebuffer when finished." } ; +{ $description "Binds framebuffer " { $snippet "id" } " for drawing in the dynamic extent of " { $snippet "quot" } ", restoring the window framebuffer when finished." } ; -ABOUT: "gl-utilities" \ No newline at end of file +ABOUT: "gl-utilities" diff --git a/basis/opengl/framebuffers/framebuffers.factor b/basis/opengl/framebuffers/framebuffers.factor index f3ed8d320d..d3e6d7e25a 100644 --- a/basis/opengl/framebuffers/framebuffers.factor +++ b/basis/opengl/framebuffers/framebuffers.factor @@ -5,30 +5,30 @@ alien.c-types ; IN: opengl.framebuffers : gen-framebuffer ( -- id ) - [ glGenFramebuffersEXT ] (gen-gl-object) ; + [ glGenFramebuffers ] (gen-gl-object) ; : gen-renderbuffer ( -- id ) - [ glGenRenderbuffersEXT ] (gen-gl-object) ; + [ glGenRenderbuffers ] (gen-gl-object) ; : delete-framebuffer ( id -- ) - [ glDeleteFramebuffersEXT ] (delete-gl-object) ; + [ glDeleteFramebuffers ] (delete-gl-object) ; : delete-renderbuffer ( id -- ) - [ glDeleteRenderbuffersEXT ] (delete-gl-object) ; + [ glDeleteRenderbuffers ] (delete-gl-object) ; : framebuffer-incomplete? ( -- status/f ) - GL_FRAMEBUFFER_EXT glCheckFramebufferStatusEXT - dup GL_FRAMEBUFFER_COMPLETE_EXT = f rot ? ; + GL_DRAW_FRAMEBUFFER glCheckFramebufferStatus + dup GL_FRAMEBUFFER_COMPLETE = f rot ? ; : framebuffer-error ( status -- * ) { - { GL_FRAMEBUFFER_COMPLETE_EXT [ "framebuffer complete" ] } - { GL_FRAMEBUFFER_UNSUPPORTED_EXT [ "framebuffer configuration unsupported" ] } - { GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT [ "framebuffer incomplete (incomplete attachment)" ] } - { GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT [ "framebuffer incomplete (missing attachment)" ] } + { GL_FRAMEBUFFER_COMPLETE [ "framebuffer complete" ] } + { GL_FRAMEBUFFER_UNSUPPORTED [ "framebuffer configuration unsupported" ] } + { GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT [ "framebuffer incomplete (incomplete attachment)" ] } + { GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT [ "framebuffer incomplete (missing attachment)" ] } { GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT [ "framebuffer incomplete (dimension mismatch)" ] } { GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT [ "framebuffer incomplete (format mismatch)" ] } - { GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT [ "framebuffer incomplete (draw buffer(s) have no attachment)" ] } - { GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT [ "framebuffer incomplete (read buffer has no attachment)" ] } - { GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT [ "framebuffer incomplete (multisample counts don't match)" ] } + { GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER [ "framebuffer incomplete (draw buffer(s) have no attachment)" ] } + { GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER [ "framebuffer incomplete (read buffer has no attachment)" ] } + { GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE [ "framebuffer incomplete (multisample counts don't match)" ] } [ drop gl-error "unknown framebuffer error" ] } case throw ; @@ -36,19 +36,19 @@ IN: opengl.framebuffers framebuffer-incomplete? [ framebuffer-error ] when* ; : with-framebuffer ( id quot -- ) - [ GL_FRAMEBUFFER_EXT swap glBindFramebufferEXT ] dip - [ GL_FRAMEBUFFER_EXT 0 glBindFramebufferEXT ] [ ] cleanup ; inline + [ GL_DRAW_FRAMEBUFFER swap glBindFramebuffer ] dip + [ GL_DRAW_FRAMEBUFFER 0 glBindFramebuffer ] [ ] cleanup ; inline : with-draw-read-framebuffers ( draw-id read-id quot -- ) [ - [ GL_DRAW_FRAMEBUFFER_EXT swap glBindFramebufferEXT ] - [ GL_READ_FRAMEBUFFER_EXT swap glBindFramebufferEXT ] bi* + [ GL_DRAW_FRAMEBUFFER swap glBindFramebuffer ] + [ GL_READ_FRAMEBUFFER swap glBindFramebuffer ] bi* ] dip [ - GL_DRAW_FRAMEBUFFER_EXT 0 glBindFramebufferEXT - GL_READ_FRAMEBUFFER_EXT 0 glBindFramebufferEXT + GL_DRAW_FRAMEBUFFER 0 glBindFramebuffer + GL_READ_FRAMEBUFFER 0 glBindFramebuffer ] [ ] cleanup ; inline : framebuffer-attachment ( attachment -- id ) - GL_FRAMEBUFFER_EXT swap GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT - 0 [ glGetFramebufferAttachmentParameterivEXT ] keep *uint ; + GL_FRAMEBUFFER swap GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME + 0 [ glGetFramebufferAttachmentParameteriv ] keep *uint ; diff --git a/basis/opengl/opengl-docs.factor b/basis/opengl/opengl-docs.factor index b773833280..1e4112d5d4 100644 --- a/basis/opengl/opengl-docs.factor +++ b/basis/opengl/opengl-docs.factor @@ -45,7 +45,7 @@ HELP: bind-texture-unit { $description "Binds texture " { $snippet "id" } " to texture target " { $snippet "target" } " of texture unit " { $snippet "unit" } ". Equivalent to " { $snippet "unit glActiveTexture target id glBindTexture" } "." } ; HELP: set-draw-buffers -{ $values { "buffers" "A sequence of buffer words (e.g. " { $snippet "GL_BACK" } ", " { $snippet "GL_COLOR_ATTACHMENT0_EXT" } ")"} } +{ $values { "buffers" "A sequence of buffer words (e.g. " { $snippet "GL_BACK" } ", " { $snippet "GL_COLOR_ATTACHMENT0" } ")"} } { $description "Wrapper for " { $link glDrawBuffers } ". Sets up the buffers named in the sequence for simultaneous drawing." } ; HELP: do-attribs diff --git a/basis/opengl/shaders/shaders.factor b/basis/opengl/shaders/shaders.factor index a946fd16f4..1561138522 100755 --- a/basis/opengl/shaders/shaders.factor +++ b/basis/opengl/shaders/shaders.factor @@ -65,7 +65,7 @@ PREDICATE: fragment-shader < gl-shader (fragment-shader?) ; glCreateProgram [ [ swap [ glAttachShader ] with each ] - [ swap [ first2 swap glBindFragDataLocationEXT ] with each ] bi-curry bi* + [ swap [ first2 swap glBindFragDataLocation ] with each ] bi-curry bi* ] [ glLinkProgram ] [ ] tri diff --git a/basis/opengl/textures/textures-tests.factor b/basis/opengl/textures/textures-tests.factor index 220d2e8e87..895298fe54 100644 --- a/basis/opengl/textures/textures-tests.factor +++ b/basis/opengl/textures/textures-tests.factor @@ -26,14 +26,14 @@ ${ GL_RGBA8 GL_BGRA GL_UNSIGNED_BYTE } ${ GL_RGBA8 GL_BGRA GL_UNSIGNED_INT_8_8_8_8_REV } [ ARGB ubyte-components (image-format) ] unit-test -${ GL_RGBA32F_ARB GL_RGBA GL_FLOAT } +${ GL_RGBA32F GL_RGBA GL_FLOAT } [ RGBA float-components (image-format) ] unit-test -${ GL_RGBA32UI_EXT GL_BGRA_INTEGER_EXT GL_UNSIGNED_INT } +${ GL_RGBA32UI GL_BGRA_INTEGER GL_UNSIGNED_INT } [ BGRA uint-integer-components (image-format) ] unit-test -${ GL_RGB9_E5_EXT GL_RGB GL_UNSIGNED_INT_5_9_9_9_REV_EXT } +${ GL_RGB9_E5 GL_RGB GL_UNSIGNED_INT_5_9_9_9_REV } [ BGR u-9-9-9-e5-components (image-format) ] unit-test -${ GL_R11F_G11F_B10F_EXT GL_RGB GL_UNSIGNED_INT_10F_11F_11F_REV_EXT } +${ GL_R11F_G11F_B10F GL_RGB GL_UNSIGNED_INT_10F_11F_11F_REV } [ BGR float-11-11-10-components (image-format) ] unit-test diff --git a/extra/bunny/outlined/outlined.factor b/extra/bunny/outlined/outlined.factor index 8856032488..858689738f 100755 --- a/extra/bunny/outlined/outlined.factor +++ b/extra/bunny/outlined/outlined.factor @@ -120,14 +120,13 @@ TUPLE: bunny-outlined framebuffer framebuffer-dim ; : outlining-supported? ( -- ? ) - "2.0" { + "3.0" { "GL_ARB_shader_objects" "GL_ARB_draw_buffers" "GL_ARB_multitexture" - } has-gl-version-or-extensions? { "GL_EXT_framebuffer_object" "GL_ARB_texture_float" - } has-gl-extensions? and ; + } has-gl-version-or-extensions? ; : pass1-program ( -- program ) vertex-shader-source check-gl-shader @@ -154,14 +153,14 @@ TUPLE: bunny-outlined GL_TEXTURE_2D 0 iformat dim first2 0 xformat GL_UNSIGNED_BYTE f glTexImage2D ; :: (attach-framebuffer-texture) ( texture attachment -- ) - GL_FRAMEBUFFER_EXT attachment GL_TEXTURE_2D texture 0 glFramebufferTexture2DEXT + GL_DRAW_FRAMEBUFFER attachment GL_TEXTURE_2D texture 0 glFramebufferTexture2D gl-error ; : (make-framebuffer) ( color-texture normal-texture depth-texture -- framebuffer ) 3array gen-framebuffer dup [ - swap GL_COLOR_ATTACHMENT0_EXT - GL_COLOR_ATTACHMENT1_EXT - GL_DEPTH_ATTACHMENT_EXT 3array [ (attach-framebuffer-texture) ] 2each + swap GL_COLOR_ATTACHMENT0 + GL_COLOR_ATTACHMENT1 + GL_DEPTH_ATTACHMENT 3array [ (attach-framebuffer-texture) ] 2each check-framebuffer ] with-framebuffer ; @@ -182,8 +181,8 @@ MACRO: (framebuffer-texture>>draw) ( iformat xformat setter -- ) : (make-framebuffer-textures) ( draw dim -- draw color normal depth ) { [ drop ] - [ GL_RGBA16F_ARB GL_RGBA [ >>color-texture ] (framebuffer-texture>>draw) ] - [ GL_RGBA16F_ARB GL_RGBA [ >>normal-texture ] (framebuffer-texture>>draw) ] + [ GL_RGBA16F GL_RGBA [ >>color-texture ] (framebuffer-texture>>draw) ] + [ GL_RGBA16F GL_RGBA [ >>normal-texture ] (framebuffer-texture>>draw) ] [ GL_DEPTH_COMPONENT32 GL_DEPTH_COMPONENT [ >>depth-texture ] (framebuffer-texture>>draw) @@ -202,17 +201,17 @@ MACRO: (framebuffer-texture>>draw) ( iformat xformat setter -- ) [ drop ] [ remake-framebuffer ] if ; : clear-framebuffer ( -- ) - GL_COLOR_ATTACHMENT0_EXT glDrawBuffer + GL_COLOR_ATTACHMENT0 glDrawBuffer 0.15 0.15 0.15 1.0 glClearColor GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT bitor glClear - GL_COLOR_ATTACHMENT1_EXT glDrawBuffer + GL_COLOR_ATTACHMENT1 glDrawBuffer 0.0 0.0 0.0 0.0 glClearColor GL_COLOR_BUFFER_BIT glClear ; : (pass1) ( geom draw -- ) dup framebuffer>> [ clear-framebuffer - { GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT1_EXT } set-draw-buffers + { GL_COLOR_ATTACHMENT0 GL_COLOR_ATTACHMENT1 } set-draw-buffers pass1-program>> (draw-cel-shaded-bunny) ] with-framebuffer ; diff --git a/extra/spheres/spheres.factor b/extra/spheres/spheres.factor index b07b7a5ad1..b7431caef8 100755 --- a/extra/spheres/spheres.factor +++ b/extra/spheres/spheres.factor @@ -148,14 +148,14 @@ M: spheres-world distance-step : (make-reflection-depthbuffer) ( -- depthbuffer ) gen-renderbuffer [ - GL_RENDERBUFFER_EXT swap glBindRenderbufferEXT - GL_RENDERBUFFER_EXT GL_DEPTH_COMPONENT32 (reflection-dim) glRenderbufferStorageEXT + GL_RENDERBUFFER swap glBindRenderbuffer + GL_RENDERBUFFER GL_DEPTH_COMPONENT32 (reflection-dim) glRenderbufferStorage ] keep ; : (make-reflection-framebuffer) ( depthbuffer -- framebuffer ) gen-framebuffer dup [ - swap [ GL_FRAMEBUFFER_EXT GL_DEPTH_ATTACHMENT_EXT GL_RENDERBUFFER_EXT ] dip - glFramebufferRenderbufferEXT + swap [ GL_DRAW_FRAMEBUFFER GL_DEPTH_ATTACHMENT GL_RENDERBUFFER ] dip + glFramebufferRenderbuffer ] with-framebuffer ; : (plane-program) ( -- program ) @@ -244,9 +244,9 @@ M: spheres-world pref-dim* : (reflection-face) ( gadget face -- ) swap reflection-texture>> [ - GL_FRAMEBUFFER_EXT - GL_COLOR_ATTACHMENT0_EXT - ] 2dip 0 glFramebufferTexture2DEXT + GL_DRAW_FRAMEBUFFER + GL_COLOR_ATTACHMENT0 + ] 2dip 0 glFramebufferTexture2D check-framebuffer ; : (draw-reflection-texture) ( gadget -- )