Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know this 2 products but i have never used them for production, since I have a bunch of cool shaders i would like to use them under OpenGL with GLSL but i don't know where to start.

If it's not possible to convert them directly, where i can learn the Renderman syntax for the shaders?

share|improve this question
My answer may change depending on one clarification... is this something you have to do? That is, you have to find a way to convert them or is this something that you would like to have if it already exists? – Samaursa Sep 1 '12 at 19:42
@Samaursa If there is a way I would take it, even if i would only learn something more. – user827992 Sep 1 '12 at 19:47

I don't know of any tools that allow you to directly convert complex shaders from Maya or 3Ds Max to GLSL/HLSL (although if you do find it, let me/us know!). For simple shaders (lambert, phong) you can probably write your own parser (tools like Havok Content Tools already parse the shaders [again, simple shaders] and can give you a material which you can then use to create a GLSL shader in your program).

Maya's and Renderman's shaders rely on a complete framework with a lot of nodes. Moreover, they are designed to work with rendering engines that raytrace into the scene; so a shader can have many passes and many texture units and effects which can be impossible to translate to a single GLSL shader.

However, the opposite exists. That is, you can have your shaders work in the 3D packages which is one way to streamline your pipeline. For example, 3Ds Max supports MetaSL which in turn can be converted to HLSL/GLSL shaders. Maya supports rendering HLSL/GLSL shaders via a plugin which exposes supported attributes of the shader. Same with VRay. So instead of relying on their respective shader networks, you may want to create shaders in GLSL in the respective 3D programs which then makes it easy to export the shader as it is already in GLSL.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.