Jump to content
Sign in to follow this  
namman2

reflective matrial

Recommended Posts

is there a way to make a reflective amtrial (not reflective glass) but normal one

Share this post


Link to post
Share on other sites

Sure there is.

Open up Glass or mirror material and find the place when texture is set to Fresnel Glass or Irradiance.

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class Stage1

{

texture="#(ai,64,64,1)fresnelGlass()";

uvSource="none";

};

replace it with a simple texture with alpha channel (use the texture function or make one yourself). Only alpha channel is important.

Make sure to save as _COA if you use TV2.

How to adjust the reflection: the small alpha texture you have is only read horizontally.

The leftmost edge's alpha is the alpha of reflection when face normal is at 90 degree angle. the rightmost row of pixels is the alpha of reflection when the face is being looked straight at.

So if you for example want the reflection to appear only when you are looking straight at it (opposite to normal manner with glass and Fresnel Glas texture) the alpha will look like that:

http://img124.imageshack.us/img124/7484/fresnelzm5.jpg

Which is inverse of FresnelGlass texture.

If you want the reflection to be allways the same (polished steel maybe?) but not 100% opaque - use a texture with constant alpha at value that suits your needs.

Share this post


Link to post
Share on other sites

this matrial is form ObmaR 's Virtual Reflective Glass Material (.rvmat) Tutorial

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">ambient[]={1.000000,1.000000,1.000000,1.000000};

diffuse[]={1.000000,1.000000,1.000000,1.000000};

forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000};

emmisive[]={0.000000,0.000000,0.000000,1.000000};

specular[]={1.000000,1.000000,1.000000,0.000000};

specularPower=1.000000;

renderFlags[]=

{

"NoAlphaWrite"

};

nextPass="F:\armatools\BIModels\CLSAMG\glass-pass2.rvmat";

PixelShaderID="Glass";

VertexShaderID="Glass";

class Stage1

{

texture="#(ai,64,64,1)fresnelGlass()";

uvSource="none";

};

class Stage2

{

texture="F:\armatools\BIModels\CLSAMG\reflect_co.paa";

uvSource="none";

};

so i have to replace the stage1 with a texture with alpha channel right? and if i want the refliction to be mor visiable the alpha channel must be darker right?

thnx

Share this post


Link to post
Share on other sites
and if i want the refliction to be mor visiable the alpha channel must be darker right?

Brighter.

More value = brighter channel

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×