Skip to content
Snippets Groups Projects
Commit 9d074859 authored by Nicolas Pope's avatar Nicolas Pope
Browse files

Compute actual z

parent 2aa70966
No related branches found
No related tags found
1 merge request!151Implements #216 triangle renderer
......@@ -90,6 +90,17 @@ __device__ static
barycentricCoord.z >= 0.0 && barycentricCoord.z <= 1.0;
}
/**
* For a given barycentric coordinate, compute the corresponding z position
* (i.e. depth) on the triangle.
*/
__device__ static
float getZAtCoordinate(const float3 &barycentricCoord, const float (&tri)[3]) {
return (barycentricCoord.x * tri[0]
+ barycentricCoord.y * tri[1]
+ barycentricCoord.z * tri[2]);
}
/*
* Convert source screen position to output screen coordinates.
*/
......@@ -155,7 +166,8 @@ __device__ static
float new_depth = (maxlen == 0.0f) ? d[0] : (d[0]*dist1 + d[1]*dist2 + d[2]*dist3) / (dist1+dist2+dist3);
//if (new_depth < params.camera.minDepth || new_depth > params.camera.maxDepth) continue;*/
float new_depth = d[0];
//float new_depth = d[0]; //(A > 0) ? (B > 0) ? 6.0f : 5.0f : (B > 0) ? 4.0f : 3.0f;
float new_depth = getZAtCoordinate(baryCentricCoordinate, d);
atomicMin(&depth_out(sx,sy), int(new_depth*1000.0f));
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment