gl3 package update 0.1.1


    Sep 16 2019 | 6:43 pm
    Hey everyone, there is an update to the gl3 package currently live in the Package Manager.
    Big thanks to everyone who has taken it for a spin and provided your feedback and bug reports.
    Changelist below: - jit.gl.slab fix read message (affecting some vizzie modules) - jit.gl.mesh fix draw_modes that require splitting on matrix input rows - put in some checks and warnings for opengl versions on specific features, prevent crashing - allow OpenGL 3.2 supported contexts on Mac - better error reporting when encountering unsupported hardware - jit.gl.sketch fix cmd_enable message - jit.gl.buffer fix context rebuilding when @texbuf enabled - fix tb.point.lights.jxs lighting calculation - jit.gl.texture fix for file read with @type float32 - jit.gl.mesh handle non-standard planecounts on input matrix

    • Sep 18 2019 | 4:54 pm
      Hey this package is great thank you very much for that. I especially like the shadertoy loader. Is it working also with Multipass shaders ?
    • Sep 19 2019 | 5:27 pm
      hey GUILLAUME, the shadertoy loader is there mainly as as starting point (I am just now noticing that it will fail on any shaders that have cubemaps as input channels). I believe multi-pass shaders will just involve creating a jit.gl.slab for each buffer, and sending them as inputs to the main slab (don't use the leftmost inlet, that's just there to map to window size). if there's a particular one you're interested in please take a crack at it and post here if you get stuck.
    • Sep 19 2019 | 7:59 pm
      Hey, Are there any issues using GL3 on standalones?
      Thx, Bill
    • Sep 20 2019 | 5:28 am
      Thank you Rob, I will try to post something today :)
    • Sep 20 2019 | 2:10 pm
      it's perfeclty working yes!
    • Sep 20 2019 | 3:35 pm
      @BILLYANOK, I just tested and it does seem to work OK, but you'll have to manually copy the gl3 package into the c74/resources/packages folder of your standalone. You will also have to ensure that your app preference glengine setting is set to gl3. you can either manage this file yourself, or the first time you launch your app open a file with the a loadbang on a message box with: ; max glengine gl3 @GUILLAUME please share!
    • Sep 20 2019 | 4:37 pm
      Rob, Thank you for the reply. Curious, How would I "manage this file yourself.."? Is this in the Plist file? Bill
    • Sep 20 2019 | 5:41 pm
      Hey Rob, The message box with "; max glengine gl3" and copying GL3 folder works a treat. ThX! Bill
    • Sep 22 2019 | 5:42 pm
      I'm so happy for the shadertoy loader, in 10min we can have beautifull results, I share the patch
    • Sep 23 2019 | 3:50 pm
      very cool!
    • Oct 01 2019 | 1:42 pm
      hey Rob, I tried another shadertoy code, and I have this error: error C1503: undefined variable "iChannelResolution"
      I think max doesn't understand what is "iChannelResolution[0].xy" variable. I think is the resolution of the channel 0 in pixel. Do you know by what I need to replace this expression ?
      by the way is this one : https://www.shadertoy.com/view/ldV3Wc
    • Oct 01 2019 | 2:03 pm
      unforutnately the iChannelResolution uniform array does not easily map to Jitter's builtin texture-dimension state uniforms which are not passed as an array (TEXDIM0, TEXDIM1, etc). so you must first add in the uniform declarations and bindings for any of these variables used, noting that in the shadertoy jxs template the iChannel0 texture is actually bound to jitter texture 1 (first texture is simply a dummy texture) <param name="iChannelResolution0" type="vec2" state="TEXDIM1" /> <param name="iChannelResolution1" type="vec2" state="TEXDIM2" /> <bind param="iChannelResolution0" program="fp" /> <bind param="iChannelResolution1" program="fp" /> ... uniform vec2 iChannelResolution0; uniform vec2 iChannelResolution1; finally you must find and replace the array with your newly declared uniform, e.g. find iChannelResolution[0] and replace with iChannelResolution0.
      we can add all the declarations to the template for a future gl3 package update, leaving the only task for users the search and replace in the pasted in shadertoy glsl.
    • Oct 02 2019 | 8:41 am
      Guillaume, Did you manage to get this working? I must have missed something very simple? No errors in console. Thx, Bill
    • Oct 02 2019 | 9:12 am
      Hey thanks Rob, no errors in the console now with your code. But at the end my window is black so for me is not working but I don't know why and the code from shadertoy is too much complicated for me to understand... I will post the patch here if someone want to look inside
    • Oct 02 2019 | 9:21 am
      So here is the patch. I tried to clean up so I hope it will be readable for you. I think problems starts in the jit.gl.slab buffer C. Have a nice day guys
    • Oct 02 2019 | 2:36 pm
      Hi there, very exciting upgrade! thanks
      I get this error message from 3D texture 1 & 2 in the xample patches
      jit.gl.texture: update_teximage_state: GL Error: Out of memory
      GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
      I am on a i7 + GTX 1060
    • Oct 03 2019 | 2:24 pm
      hi JAKY, thanks much for testing. see the thread here regarding your report: https://cycling74.com/forums/issues-with-certain-gl3-features
    • Oct 03 2019 | 2:32 pm
      GUILLAUME, I'll try to find some time to look at this in more detail in the not too distant future, but hopefully some others can also take a look.
    • Feb 22 2021 | 6:32 pm
      Hi Rob, seconding Byllianok, how can I create this file in order to have the external always to start with the gl3 engine? What's the syntax and where should it be put in the resources? Thank you!
    • Feb 22 2021 | 7:16 pm
      check out the "preffilename" attribute in the standalone object's reference page.
      you could write out this preference file to the correct location using some script as part of the application install process.
      easier may be to create a loader patch that first sets the preference via the ; max glengine gl3 message, and then loads the guts of the patch. As long as that preference is set prior to any jitter objects instantiating then you should be good.
    • Feb 22 2021 | 7:24 pm
      Thank you a lot for the fast reply!