Juju
Member
GameMaker's standard implementation of GLSL ES version 1.00rev17 leaves out some functionality that is commonly used in graphics programming. Fortunately, we can access some of these features by using GLSL's #extension directive.
Here're two examples that demonstrate how to enable two particularly useful extensions. (Bear in mind that I've tested these on Windows but not other platforms.)
GL_EXT_frag_depth, which enables per-pixel depth setting (gl_FragDepthEXT):
https://github.com/JujuAdams/gl_FragDepthEXT
GL_OES_standard_derivatives, which enables derivative functions (dFdx/dFdy/fwidth):
https://github.com/JujuAdams/GL_OES_standard_derivatives
I'm hardly the first person to demonstrate this extension directive functionality, but beyond these two extensions, I don't really know what other extensions are available and what they can do. There's an extension registry here and a GitHub repo for Angle (the OGL-to-DX transpiler GM uses) here but that's a lot of information to wade through. Anyone have any suggestions?
Here're two examples that demonstrate how to enable two particularly useful extensions. (Bear in mind that I've tested these on Windows but not other platforms.)
GL_EXT_frag_depth, which enables per-pixel depth setting (gl_FragDepthEXT):
https://github.com/JujuAdams/gl_FragDepthEXT
GL_OES_standard_derivatives, which enables derivative functions (dFdx/dFdy/fwidth):
https://github.com/JujuAdams/GL_OES_standard_derivatives
I'm hardly the first person to demonstrate this extension directive functionality, but beyond these two extensions, I don't really know what other extensions are available and what they can do. There's an extension registry here and a GitHub repo for Angle (the OGL-to-DX transpiler GM uses) here but that's a lot of information to wade through. Anyone have any suggestions?
Last edited: