HI!
I discover that changing camera range in dbpro also added some offsets to depth value that i used in shader.
So i need your help.I need to have my camera range like 10,15000 but exactly the same depth value in shader like I have camera range 1,15000. So i need to set near camera range but have correct depth render in same time.
I attached files with some example.Its simple - you change camera range in dbpro and depth value is changing is shader.
Also here is shader code :
matrix WorldVP:WorldViewProjection;
struct In_Geometry
{
float4 Pos: POSITION;
};
struct Out_Geometry
{
float4 Pos: POSITION;
float4 Depth:TEXCOORD1;
};
Out_Geometry VS_Geometry(In_Geometry IN)
{
Out_Geometry OUT;
OUT.Pos=mul(IN.Pos,WorldVP);
OUT.Depth=OUT.Pos;
return OUT;
}
float4 PS_Geometry(Out_Geometry IN) : COLOR
{
float check=((IN.Depth.z)/(IN.Depth.w));
float3 color=float3(1,0,0);
if (check>0.9980)
{
color=float3(0,1,0);
}
return float4(color,1);
}
technique Geometry
{
pass p1
{
vertexShader = compile vs_3_0 VS_Geometry();
pixelShader = compile ps_3_0 PS_Geometry();
}
}
Thanks
PS
I also get an idea to set WorldVP matrix - manually , using custom camera settings. It maybe will work but I dont know how to set dbpro matrixes for WorldViewProjection
I find this code but it doesnt work for me
#constant MATRIX_VIEW 1
#constant MATRIX_WORLD 2
#constant MATRIX_PROJ 3
#constant MATRIX_WORLD_VIEW 4
#constant MATRIX_VIEW_INV 5
#constant MATRIX_WORLD_TRANS 6
#constant MATRIX_WORLD_INV_TRANS 7
#constant MATRIX_WORLD_VIEW_PROJ 8
r = make matrix4(MATRIX_VIEW)
r = make matrix4(MATRIX_WORLD)
r = make matrix4(MATRIX_PROJ)
r = make matrix4(MATRIX_WORLD_VIEW)
r = make matrix4(MATRIX_VIEW_INV)
r = make matrix4(MATRIX_WORLD_TRANS)
r = make matrix4(MATRIX_WORLD_INV_TRANS)
r = make matrix4(MATRIX_WORLD_VIEW_PROJ)
view matrix4 MATRIX_VIEW
r = inverse matrix4(MATRIX_VIEW_INV, MATRIX_VIEW)
world matrix4 MATRIX_WORLD
r = inverse matrix4(MATRIX_WORLD_TRANS, MATRIX_WORLD)
transpose matrix4 MATRIX_WORLD_INV_TRANS, MATRIX_WORLD_TRANS
projection matrix4 MATRIX_PROJ
multiply matrix4 MATRIX_WORLD_VIEW, MATRIX_WORLD, MATRIX_VIEW
multiply matrix4 MATRIX_WORLD_VIEW_PROJ, MATRIX_WORLD_VIEW, MATRIX_PROJ
set effect constant matrix 1, "WorldVP", MATRIX_WORLD_VIEW_PROJ