How to modify an existing DirectX shader to work with Maya 2013 Extension (Viewport + DirectX)?

How to modify an existing DirectX shader to work with Maya 2013 Extension (Viewport + DirectX)?

Anonymous
Not applicable
515 Views
2 Replies
Message 1 of 3

How to modify an existing DirectX shader to work with Maya 2013 Extension (Viewport + DirectX)?

Anonymous
Not applicable
I must be overlooking something. I've been reading Extension docs, searching this forum, googling, but I have failed to find answers to basic questions that anyone needs to know, in order to write custom DirectX shaders for Maya 2013 Extension, for use in Viewport mode using DirectX renderer.

Here are three related questions, three ways to think about what I seek to learn:

"How do I write a custom DirectX shader that is compatible with Maya 2013 Extension?"

"How do I adapt an existing DirectX shader so that it will work with Maya 2013 Extension?"

"What are the DirectX shader features that are/aren't compatible with Maya 2013 Extension?"

The Maya Help does a fine job of explaining:
1. The DirectX 11 Shader node.
2. The provided uber shader, and how to use it.
3. What MAYA features are not compatible with Viewport 2.0 + DirectX. ("DirectX 11 Limitations")

But that's all from the Maya point of view, assuming you are an artist using a compatible shader that is already written.

If there is information anywhere to help the programmer who is creating that shader, I have not found it. (There are the provided shaders as examples, but my questions are basic information I should have, before I expend time experimenting with them. And there are thousands of DirectX shaders in the world; need some basic guidance as to what to do with them, what to look for in them, what is likely to work / not work / need modifying.)

Any help appreciated,
-- Steve

EDIT: Specific questions:
4. If a DirectX 11 Shader needs to access textures, is there a specific HLSL syntax needed to inform Maya of that, so that Maya GUI knows to present user with option to specify texture file?

5. HLSL "technique", "technique10": I infer (by Maya's complaint when I tried to use a .fx file not supplied by Autodesk) that this "technique" syntax is necessary for a shader to be useful in Maya. Do I have to reverse engineer the uber-shader myself, or is there a description somewhere of what Maya needs in the technique profiles? (This is a new concept to me; will read about HLSL technique tomorrow. Maybe this is all obvious after I read that. Regardless, there must be -- or needs to be -- Autodesk provided documentation that at minimum tells the programmer that this is what they should be doing. Would have saved me hours of Google time today.)
0 Likes
516 Views
2 Replies
Replies (2)
Message 2 of 3

Anonymous
Not applicable
Heh. You are on the bleeding edge of the technology curve aren't you? 😃

For the folks who do not know what Maya 2013 Extension is, you can find information here: http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=15500357

Ok, so down to brass tacks here. Your questions might be better addressed in the Plugin Extension or Lighting and Rendering specialized forums at http://area.autodesk.com/forum/autodesk-maya/plugins---extensions/ and http://area.autodesk.com/forum/autodesk-maya/lighting---rendering/ respectfully. The plug-in forums offer a larger set of scripters and programmers who may have looked into the new extension. The lighting and rendering forum should have people who used the new DirectX 11 Uber shader, if any are around.

In truth, the whole expansion package is just under a month old, and only available to a small demographic people Maya users. Finding well documented or precise information will be difficult outside Autodesk. When Maya 2014 rolls around next year I expect this to be a standard feature, then you will see more support for it.

-Avotas
0 Likes
Message 3 of 3

Anonymous
Not applicable
Its not dx11 but here's a good cgfx tutorial vimeo link cgfx and hlsl are similar, and here's Nvidia link another one.
0 Likes