Is anyone currently working on an “official” profile_HLSL for COLLADA? Or are people currently handling this via <extra>? I am adding COLLADA support to the material system in our application (which supports GLSL and HLSL) and I would like to support HLSL via COLLADA in a “standard” manner so that when other apps that support COLLADA want to access HLSL shaders created by our app (such as FX Composer 2, RenderMonkey 1.7, etc.), they can.

I am looking for references or someone that is working on profile_HLSL to work with.


Khronos is working on support for external FX files such as Microsoft’s HLSL based FX for a future release of COLLADA which will be available in early 2008.

In the mean time, many vendors have adopted an NVIDIA <extra>.

<extra type=“import”>
<technique profile=“NV_import”>
<import url="" compiler_options="" profile=""/>


  • ‘uri’ is the address to the effect file.
  • ‘compiler_options’ are any additional options that a compiler might need to build such as command line #defines
  • ‘profile’ is “fx” or “cgfx”.

This will provide you with maximum compatibility today with SoftImage XSI, Feeling Software’s Autodesk plugins, and NVIDIA’s FXComposer2.



Thanks for your response. Would you happen to know if there is any “standard” mechanism for identifying/storing Microsoft’s D3D vertex/pixel shaders (assembly versions) in Collada? I am trying to support as many shader types as possible. :wink:

Thanks much!


No, I’ve never seen any extras for that although I believe you can store HLSL asm directly in an FX file. This way you don’t have to worry about exerting any additional effort since I think we are reaching the point where supporting assembly has deminishing return on investment. Compilers are very good and the hardware where that was important (SM 1.x) is quite dated…not even qualifying for Vista.