I'm using the FBX SDK to import and display FBX models in my OpenGL app. It works fine so far with a simple phong shader and displays basic models.

However I have some FBX models that have custom (Mental Ray) Arch & Design materials. Can I render these models with such materials in my app?

My (completely noob) understanding of how this works is that the Arch & Design thing is a shader. A graphic designer edited some data fields, and the way the model is rendered is that such data is passed to the Arch & Design shader during rendering, and the shader takes care of it (ie does all the lighting calculations etc).

Is it possible for me to use that flashy Arch & Design shader in my app, so I manually parse the FBX model and send the data fields to the shader? How do I get hold of it?

Any clarification will be appreciated, you can probably tell that I'm somewhat confused.


1 Answer 1


mental ray is a stand-alone 3D renderer. It's primarily application domain is film and TV. As a renderer, it supports a concept of "shaders" as functions that compute lighting effects. However, these are not mechanically the same shaders that you'd use in OpenGL or D3D. They are built in their own language, tied to the mental ray lighting and renderer engine. Further, the renderer isn't designed for real-time use.

Consequently it is not possible to use the shaders directly in your own game or application. You will need to manually re-implement the effects you are after (or find somebody else who has and use their implementation), probably making tweaks and adjustments for performance.

  • \$\begingroup\$ Thank you, so with the models I have, I would need to basically read and interpret the data in them using my own shaders? If I wanted to use these models with my app, would the standard practice be to convert the Mental Ray materials to a different material that is designed for real-time rendering? E.g. 3ds Max has a "standard" material with ambient, diffuse etc properties, I could tweak that to look like the current materials and use it directly in my app with the Phong shader. I think. \$\endgroup\$
    – hamza_tm
    Jul 1, 2014 at 11:58
  • \$\begingroup\$ You will need some form of reimplementation of the effects, yes. \$\endgroup\$
    – user1430
    Jul 1, 2014 at 15:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .