Jitter 8.5 and GLCore
Nov 02 2022 | 8:33 pm
Happy post RNBO day everyone, I've got some details and context on what the Jitter team has cooked up for the 8.5 update.
Top of the list, GLCore (or glcore) and what it's all about. With 8.5 we've done 2 things:
- Renamed the formerly beta gl3 engine to glcore
- Transitioned our default graphics engine from the legacy gl2 to the modern glcore.
The reason for the renaming is to better reflect the reality that most graphics cards will support OpenGL versions beyond version 3. The engine provides support for modern core profile OpenGL at whatever version your graphics card supports.
For existing gl3 users not much has changed in functionality (other than the new juicy bits described below). However the consequences extend beyond the technology. We now have a solid foundation for continuing our engine modernization and growth, and can fully document the new behavior and features. To that end there are a handful of new examples to check out in the glcore Examples Extras patch.
For gl2 users this is a significant but hopefully seamless change. We will publish more details on how best to utilize modern graphics engines and other ins and outs, and we strongly encourage contacting support with any issues. However if you wish to revert back to gl2 simply change your Graphics Engine (gfxengine) preference back to gl2. You first might want to check out the afore mentioned glcore Examples patch to see what you're forgoing.
A new entry to our Jitter Tools suite is the jit.gl.textmult object, which allows for manipulating letters and words of text using a jit.gl.multiple like interface and highly efficient mesh rendering. As an added bonus for text lovers we’ve removed the 1024 character limit on jit.gl.text input strings.
Also included with 8.5 are some lovely new jit.gl.pass post processing effects. The atmospheric effect adds global fog and atmospheric scattering to any 3D scene with ease, and for experimenting with global illumination check out the temporal screen-space ambient occlusion (tssao-gi) and screen-space reflections (tssao-gi-ssr and ssr) effects.
Speaking of global illumination, the new jit.gl.environment object handles the loading and sharing of environment map resources for image based lighting (IBL), cubemap, and skybox rendering for supported objects. This currently includes jit.gl.pbr, jit.gl.material, and jit.gl.skybox. The object functions like jit.gl.light, where if a context has an environment attached, the supported objects will use it for rendering.
We've also added glTF PBR material support to jit.gl.model, giving much better results when rendering these model files. In the video below we see non-PBR rendering on the left, and PBR rendering on the right.
For links to the example patches mentioned (and loads more) check out the glcore Examples and Jitter Tools Extras patches, and the jit.gl.pass reference page.