티스토리 뷰
cbuffer Constants : register(b0)
{
float2 ViewportSize;
};
static float Scaling = 0.1;
static float Strength = 0.7;
static float Extent = 0.002;
static float2 ViewportOffset = (float2(0.5,0.5)/ViewportSize);
static float2 SampStep = (float2(Extent,Extent)/ViewportSize*ViewportSize.y) * Scaling;
ViewportSize는 디버거에서 1920, 1080 으로 나왔으나, Viewportoffset 은 0 으로 찍혔다.
SampStep 도 마찬가지
float2 viewport = float2(1920, 1080);
float2 stex = texcoord + float2(0.5, 0.5) * rcp( viewport );
color = SourceColor.Sample( LinearSampler, stex );
return float4(color, 1);
답답해서 위처럼 해놓고 하니 잘되었다.
0.5/1920 을 float 은 처리 못하나 부터 별 생각이 다들었는데
문제는, 디버거가 값을 잘못표시해준것이다.
정확히는,
Context.SetConstants( 0, g_SceneColorBuffer.GetWidth(), g_SceneColorBuffer.GetHeight(), { kBindPixel } );
uint32_t, uint32_t 으로 값이 올라간다.
cbuffer 에는 float2 로 되어있어서 맛이간거다.
그걸 디버거는 정상적으로 표시해준거고
Context.SetConstants( 0, (float)g_SceneColorBuffer.GetWidth(), (float)g_SceneColorBuffer.GetHeight(), { kBindPixel } );
로 바꾸지 정상작동.
20분은 날린듯. (추가 20분은 빡쳐서 따른거 봄)
'Game > MMD' 카테고리의 다른 글
Bullet 으로 치마 들어 올리기 (0) | 2017.10.31 |
---|---|
When you see the stripe pattern on the gray scale screen (0) | 2017.10.31 |
HLSL 에서 잘못된 값이 pixel shader로 전달될 때 (0) | 2017.10.28 |
Mirror (5) - Planar reflection (0) | 2017.10.26 |
early depth stencil (0) | 2017.10.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크