There we find road types of:
asf = asphalt (clean)
ces = dirt/gravel
kos = cobblestone
sil = asphalt (with white lane paintings)
First in the roads\asf6.p3d model you have the roads\data\asf_new_ca.tga texture with roads\data\asf.rvmat applied. The asf.rvmat looks like this:
Code: Select all
ambient[] = {1.0, 1.0, 1.0, 1.0};
diffuse[] = {1.0, 1.0, 1.0, 1.0};
forcedDiffuse[] = {0.0, 0.0, 0.0, 0.0};
emmisive[] = {0.0, 0.0, 0.0, 1.0};
specular[] = {1.0, 1.0, 1.0, 0.0};
specularPower = 20.0;
renderFlags[] = {"Road"};
nextPass = "ca\roads\data\road-pass2.rvmat";
PixelShaderID = "NormalMapSpecularMap";
VertexShaderID = "NormalMap";
class Stage1
{
texture = "ca\roads\data\asf_new_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
class Stage2
{
texture = "ca\roads\data\asf_new_sm.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
Code: Select all
ambient[] = {1.0, 1.0, 1.0, 1.0};
diffuse[] = {1.0, 1.0, 1.0, 1.0};
forcedDiffuse[] = {0.0, 0.0, 0.0, 0.0};
emmisive[] = {0.0, 0.0, 0.0, 1.0};
specular[] = {1.0, 1.0, 1.0, 0.0};
specularPower = 20.0;
nextPass = "ca\roads\data\road-pass2.rvmat";
PixelShaderID = "NormalMapSpecularMap";
VertexShaderID = "NormalMap";
class Stage1
{
texture = "ca\roads\data\ces_hned_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
class Stage2
{
texture = "ca\roads\data\ces_hned_sm.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
Code: Select all
ambient[] = {1.0, 1.0, 1.0, 1.0};
diffuse[] = {1.0, 1.0, 1.0, 1.0};
forcedDiffuse[] = {0.0, 0.0, 0.0, 0.0};
emmisive[] = {0.0, 0.0, 0.0, 1.0};
specular[] = {1.0, 1.0, 1.0, 0.0};
specularPower = 20.0;
nextPass = "ca\roads\data\road-pass2.rvmat";
PixelShaderID = "NormalMapSpecularMap";
VertexShaderID = "NormalMap";
class Stage1
{
texture = "ca\roads\data\sil_kos_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
class Stage2
{
texture = "ca\roads\data\sil_kos_sm.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
Code: Select all
ambient[] = {1.0, 1.0, 1.0, 1.0};
diffuse[] = {1.0, 1.0, 1.0, 1.0};
forcedDiffuse[] = {0.0, 0.0, 0.0, 0.0};
emmisive[] = {0.0, 0.0, 0.0, 1.0};
specular[] = {1.0, 1.0, 1.0, 0.0};
specularPower = 20.0;
renderFlags[] = {"Road"};
nextPass = "ca\roads\data\road-pass2.rvmat";
PixelShaderID = "NormalMapSpecularMap";
VertexShaderID = "NormalMap";
class Stage1
{
texture = "ca\roads\data\sil_nohq.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {5.0, 0.0, 0.0};
up[] = {0.0, 5.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
class Stage2
{
texture = "ca\roads\data\sil_new_ara_sm.paa";
uvSource = "tex";
class uvTransform
{
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
dir[] = {0.0, 0.0, 0.0};
pos[] = {0.0, 0.0, 0.0};
};
};
Code: Select all
aside[] = {1.0, 0.0, 0.0};
up[] = {0.0, 1.0, 0.0};
Code: Select all
aside[] = {5.0, 0.0, 0.0};
up[] = {0.0, 5.0, 0.0};
I dont claim to have anykind of experience or knowledge about this matter, this was all what I gathered from BIS example models and from the roads.pbo data directory, anyone can feel free to correct me if there is something wrong in these conclusions.