Corrupt VS -> PS interpolants,
Crossbones+ - Reputation: 4406
Posted 29 October 2012 - 01:04 PM
I'm having this issue where artifacts show up around geometric edges (D3D10.1):
These blown-out pixels are caused by per-vertex occlusion values passed from a vertex shader. VS input values are all normalized values between 0.0 - 1.0. I perform no kind of processing on these values in the vertex shader, and they are used as simple multipliers in the PS, but for some reason these errors still occur. I'm writing these values out to a DXGI_FORMAT_R11G11B10_FLOAT render target, but any floating point rt shows the same symptoms.
Moderators - Reputation: 48907
Posted 30 October 2012 - 05:21 AM
This feature didn't exist in older API's, but I'm pretty sure DX10 supports it for this very reason; the 'traditional' interpolation scheme calculates values for pixel centres, but with MSAA, this position can be outside the edge of a triangle. So, the centroid option was added to allow you to state that you always want your interpolated values to be within the triangle's boundary.