티스토리 뷰
CASE: Pixel shader가 수행이 안되었다고 뜬다.
여러 문제가 있을 수 있다.
- linear alloactor 를 사용하였던가 <쓰는 사람이 없으므로 문제 될건 없다>
- early depth test 에서 전멸했던가
- blend를 no color write로 해둬었던가
pixel alpha 값에서 머가 보인다고 하면 blend 설정을 찾아보자.
다른 증상으로는 wireframe 시 그 선부분만 배경이 비치게 된다. 왜냐하면 depth는 쓰여졌기에 다른 개체가 그 부분의 color 를 채울 수 없다.
early depth가 의심이 간다면
간단한 사각형을 가지고 테스트를 하자.
depth가 어떤 값을 가졌든 제발좀 써달라고 어필을하자.
depth 를 overwrite 하면 early depth test가 수행되지 않는다.
struct PixelShaderOutput
{
float4 color : SV_Target;
float depth : SV_Depth;
};
PixelShaderOutput main(PixelShaderInput input)
{
PixelShaderOutput output;
output.color = float4(1, 1, 1, 1);
output.depth = 0.5;
return output;
}
CASE: Pixel shader 까지 진행했는데, 안찍히는 경우
OpaquePSO->SetBlendState( BlendNoColorWrite );
depth 쪽 설정 조작하다가 blend가 안먹혔는지 보자
이 경우는 pixel의 alpha를 보면 티가 난다.
'Game > MMD' 카테고리의 다른 글
Environment mapping + mirror (2) (0) | 2017.10.24 |
---|---|
SV_Target 지정시에도 변화가 없을때 (0) | 2017.10.23 |
Bloom + Emmisive (2) (0) | 2017.10.18 |
Physics 치마가 떨어지지 않아 (0) | 2017.10.17 |
Tone mapping (5) (0) | 2017.10.17 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크