GL3 Beta version 0.2.0 update

Rob Ramirez's icon

Hello everyone, I'm excited to announce the GL3 package 0.2.0 update is now live in the Package Manager.

This update brings a handful of new features, and an even larger handful of bug-fixes. It also represents a significant step forward with gl2 compatibility, and therefore allows us to focus on more exciting new features in the months to come.

Check out the features and change list below, and see what the gl3-beta can do for your pixels!

New Features

  • JXS source file include support - JXS files now support an <include> tag that references a GLSL source file to include in the program. See the GL3 launcher "JXS Includes" for more info.

  • Geometry objects now have a point_mode attribute, allowing for different point type drawing modes. See the GL3 launcher "Point Mode" example patch.

  • Geometry object cull_face attribute now has a 2Pass mode, providing basic support for single object transparency with depth enabled. See the GL3 launcher "Cullface 2 Pass" example.

  • jit.gl.tf texture attribute - This attribute allows jit.gl.tf to bind textures for access in a transform-feedback shader. See the GL3 launcher "Vector Fields" example patches for a demo.

  • Geometry object tex_map attribute fixed function emulation

  • jit.gl.sketch support for stroke commands (see the "Sketch Commands" launcher patch)

  • jit.gl.sketch support for glenable/gldisable commands (see the "Sketch Commands" launcher patch)

  • POINT_SIZE shader uniform state (see the "Point Mode" launcher patch)

  • CAM_PROJECTION_MATRIX shader uniform state (see the new ssaogl3 jit.gl.pass impementation, and the "Updating GLSL Shaders for GL3" reference page)

  • jit.gl.text3d texture support

Bug Fixes

  • gl.mesh index matrix input

  • screentoworld fix

  • fix gl.videoplane drawing via gl.multiple

  • fix gl.model drawing via gl.multiple

  • fix huge slowdown with texture copies

  • fix gl.multiple when bound to gl.node context with transformations

  • fix crash on windows with complex patches

  • jit.gl.text3d properly supports matrixoutput

  • material browser now functioning

  • cubemap texture fix

  • fix jit.gl.node with @capture >= 2 and @fsaa enabled

  • improved error reporting when a shader program fails to compile from a JXS file

  • fix crash with gl.sketch, gl.material and shadow enabled gl.light

  • fix videoplane matrixoutput crash

  • fix jit.gl.sketch glpolygonmode command

  • fix jit.gl.text2d

  • fix render errors when fsaa enabled with a bound jit.gl.pass

  • working SSAO jit.gl.pass effect (@fxname ssaogl3)

  • jit.gl.texture subtex_matrix support parity with gl2 engine

  • jit.gl.buffer fix when using @type tangent

  • jit.gl.slab fix for broken renders with certain values of @rect attribute

  • fix jit.gl.mesh and other geometry objects drawing glitches when geometry dim changes

Matteo Marson's icon

Great!! Thanks for your hard work...jit.gl.tf texture attribute is pure gold!

Herr Markant's icon

I just checked all my GL2 modules and the downward compatibility looks very very promising!
Thanks Rob!

Dante's icon

oooo lots of exciting stuff here. Thanks !

Franky Redente's icon

does this update supports the VR package by Graham Wakefield?

Rob Ramirez's icon

Thanks for the feedback everyone!

gl3 VR package support, in collaboration with Graham, is on the near-term roadmap for gl3.

Roger's icon

jit.gl.buffer and jit.gl.tf don't open. the console says 'could not allocate object'
is anyone else having this problem

Rob Ramirez's icon

Roger, make sure you have your glengine set to gl3 in the Max preferences

Rob Ramirez's icon

Hey everyone, I went ahead and made public an 0.2.1 update to gl3 that addresses the following 3 areas:

  • jit.gl.cubemap now properly adapts edge_length dimensions on texture input and properly updates faces when texture source changes

  • jit.gl.multiple drawing a jit.gl.model containing multiple drawgroups now works as expected

  • shadow rendering now works when rendering objects in a capturing jit.gl.node context (and a handful of other shadow fixes and improvements)

Give it a look and happy patching 🎃🎃🎃

giorgio's icon

trying to update gives me "Error while attempting to update gl3"

giorgio's icon

SOLVED

robin hase's icon

hey everyone, just so i get this right - this does not actually alllow me to use higher versions of glsl than 1.20 within jit.gl.slab, right? i was assuming (due to the name gl3) that i could make use of functions such as mat4 inverse() which was introduced in opengl 1.40

very possible that i'm doing something wrong though...

edit: nevermind, i did something wrong! all good now (:

crysteldorsals's icon

after tweaking some GL2 happy jitter patches recently, with modifications for them to 'look' the same using the GL3 engine, i find that the engine is suddenly way slower frame rate than i remember when i first ran GL3 last year. i know this is a completely vague question but there's a marked performance drop even running basic patches that were silky smooth in GL2 are now super jerky in GL3. are there some settings i should be looking to alter to improve the results?

Rob Ramirez's icon

there's no easy answer, or simple setting to tweak unfortunately, and any recommendations will depend on the specific techniques in your patch. feel free to send to me privately if desired, email is in my profile.

crysteldorsals's icon

hi Rob thanks, yeah i realise i should strip it back a bit and see from the ground up where or why or when I'm seeing notable performance drops, but for now i should stick to GL2 for now, eek out a bit towards GL3 when i know more about the differences