Jump to content
  • Advertisement
Sign in to follow this  
monkeyboi

What Does This Mean "$modelViewProj"

This topic is 2174 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Basically I am trying to compile cg shader file with DX. A char* pointer is used to store the name of a variable in cg. But, here is the question, I don't know why I have to type "$modelViewProj" instead of "modelViewProj". Otherwise the function constanttable->SetValue() will not success. In the cg file that variable's name is just modelViewProj as

void vertextransform(float4 position : POSITION,
float3 Normal : NORMAL,
float2 texCoord : TEXCOORD0,
out float4 oPosition : POSITION,
out float2 otexCoord : TEXCOORD0,
uniform float4x4 modelViewProj)
{
// Transform position from object space to clip space
oPosition = mul(modelViewProj, position);
Normal= float3(0,0,-1);
otexCoord = texCoord;
}

Thanks in advance

Jerry

Share this post


Link to post
Share on other sites
Advertisement
So the question is: Why do I need to use the dollar sign?

There is already a global input named modelViewProj.

The people who wrote the system decided that when the same name comes from both sources, the function parameter would be prepended with $ to avoid duplicate names.


So:
modelViewProj is the global input
$modelViewProj is the parameter.

Share this post


Link to post
Share on other sites

So:
modelViewProj is the global input


But I did not write any input named modelViewProj, or it is just default input written by program?

The people who wrote the system decided that when the same name comes from both sources

What do both sources mean here? global input and parameter?
What if I put uniform float4x4 modelViewProj out of the funcion as an global input, I would only need "modelViewProj"?

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!