RE: passing U and V vectors to mental ray
| Date : Tue, 28 Feb 2006 14:29:35 -0500 |
| To : <XSI(at)Softimage.COM> |
| From : "Mathieu Leclaire" <mleclair(at)hybride.com> |
| Subject : RE: passing U and V vectors to mental ray |
|
I’m not
sure that’s the info I’m looking for. First off, won’t the u and v vectors
change depending on the texture space selected? state->derivs is not
dependant of the texture space and they always return me a null vector in all
the tests I’ve done. I looked at the doc and though that maybe
state->bump_x_list and state->bump_y_list could be what I was looking for
but they also always return me a null vector. -----Original
Message----- I'm not sure if XSI passes them to mental
ray, but you should check for a state->derivs (double check the exact name
in the docs though). On 2/28/06, Mathieu Leclaire
<mleclair(at)hybride.com> wrote: Hi, I've
been looking at the D3 normal map source code and spdl and I've seen him
accessing those vectors from the parameters: miVector
u; /* tangent from bump
basis */ miVector
v; /* binormal from bump
basis */ …Which
I'm guessing, and please correct me if I'm wrong, would represent the direction
of the Us and the Vs so we can determine the orientation of the texture at that
point right? So basically, if you would sample a point on the same triangle but
a little farther in the direction of the u vector then your UV from that new
point would have a U value higher then the one from the original sample… I
assume that's what it represents. Anyway,
D3 uses those u and v vectors to transform the vectors to UV space or from UV
space by putting them in a matrix along with the surface normal before calling
a mi_vector_transform. I can
find a lot of great use to those u and v vectors and create cool shaders but my
attempt to access those vectors through the spdl have so far failed miserably.
I'm just not yet comfortable with spdls and D3 links a few of them through the
phenomenon section like this: phenomenon
"d3_normalmap_gen_declare" {
Name = "d3_normalmap_gen";
Use = texture;
Version = 1;
Node "basis"
= guid "{811FFAA5-2A42-47DF-B767-8DAEB5993E9C}";
Node
"nmapgen" =
guid "{9B4BC656-96D1-4F3A-AC2F-2172A5D406A6}";
Connection
"basis::ntex"
= interface "tspace_id";
Connection
"basis::project" =
interface "project";
Connection
"nmapgen::u"
= "basis::u"; Connection
"nmapgen::v"
= "basis::v";
Connection
"nmapgen::type"
= interface "type";
Connection "nmapgen::objects" =
interface "objects";
Connection root
= "nmapgen"; } …Where
nmapgen is linked through another spdl that contains the u and v vectors
parameters. I'm just all confused how it all works here. Can't I put all this
in the same spdl instead of having 2 spdls to install? Can anyone just explain
to me how to build my shaders spdl so that the user can chose a texture space
and where mental ray will be able to extract the u and v vectors? I want my
shader to work whether D3 is installed or not. Can anyone explain all this to
me please? Thanks! Mathieu
Leclaire R&D
Programmer Hybride
Technologies |
- References:
- Re: passing U and V vectors to mental ray
- From: "Alan Jones" <skyphyr(at)gmail.com>
- Re: passing U and V vectors to mental ray
| DATE: | << | >> | THREAD: | << | >> | INDEX: | Main | Thread |
|---|
- Previous by Date: RE: rigging dilemma: driving a parent with attributes of the child
- Next by Date: RE: rigging dilemma: driving a parent with attributes of the child
- Previous by Thread: RE: rigging dilemma: driving a parent with attributes of the child
- Next by Thread: RE: rigging dilemma: driving a parent with attributes of the child
- Index(es):
| Search the XSI List archives here or use the advanced search form to search across mailing lists. Searching help is available. |