Gl multiple render targets and/or geometry shader feedback loops

    Mar 27 2013 | 3:32 am
    Hello. Has anyone been able to get geometry shader GPU-only feedback loops in Max 6? Meaning, the ability to generate data in a geometry shader and then use that same data on the next render pass *and* that data stays on the GPU...its isn't passed back to the CPU.
    This might be related to multiple render targets. I'm now to this place in the rabbit hole...and particle systems.

    • Oct 11 2014 | 4:30 am
      It would help to know the GLSL version supported by Cycling. I asked but was
      unable to get a response in the Jitter forum. I did some testing using the
      "# version YYY" command that goes inside the shader. For example, version 1.2
      of GLSL would be "120" for YYY. If that is all that is supported, then the
      GLSL is 8 years out of date according to this page of GLSL releases:
      My testing indicates that "120" (Open GL v. 2.1) is supported. If someone knows
      something to the contrary, please let us know. I think feedback loops through
      buffer handling may be possible within the GPU with the later GLSL releases, but
      I am not positive of this.
    • Oct 11 2014 | 5:16 pm
      @diablodale: I noticed on an older message that you stated:
      "Max 6.1 and earlier do not support tessellation shaders. They only supportGLSL is 1.2. You might be able to get features of higher levels of GLSL using the "#extension GL_xxxxx : enable" statement in a shader."
      I found only one example on the web of such use in Max but I am sure there are others.
      Andrew Benson created an explosion effect and he includes #extension GL_EXT_geometry_shader4 : enable
      to use a geometry shader.
      I would like to try what you are requesting, but the above leads to the question: how does one
      know what extensions to put in a JXS shader based on the GLSL syntax required to achieve an
      effect? For instance, the above GL_EXT extension should handle any GLSL syntax that is involved
      with geometry shading. However, there are hundreds of extensions possible. Is it a matter of which
      are supported by my Nvidia card? If so, I have the GLSL 4.1 pdf manual (this is what is supported
      on my card) but I am still unsure of what #extensions to put in a JXS based on capability within the language.
      I tried "#extension all: enable" but Max didn't like that - that might have been a perfect solution.
      The OpenGL Extensions Viewer certainly helps to know what is supported in a general way.