이펙트의 일부를 바꿔서 텍스쳐를 어둡게 해보자.
변경할 사항
픽셀 쉐이더 처리 수치 리턴값에 0.5를 곱해 밝기를 반으로 줄인다.
float4 PS_TextureTech(VS_OUTPUT Out) : COLOR { return 0.5f*tex2D(textureSampler,Out.texcoord).rgba; } |
텍스쳐 보색으로 보기
이펙트의 일부를 고쳐씀으로써 텍스쳐를 보색(색상표에서 반대쪽에 있는 색)으로 바꿔준다.
변경할 사항
픽셀쉐이더 처리 리턴값을 1.0f-텍스쳐색 으로 한다.
float4 PS_TextureTech(VS_OUTPUT Out) : COLOR { return 1.0f-tex2D(textureSampler,Out.texcoord).rgba; } |
텍스쳐의 빨간색 성분 지우기
이펙트의 일부를 바꿈으로써 텍스쳐의 빨간색 성분을 지운다.(빨간색에 대한 마스킹)
고칠 점
픽셀 쉐이더 처리 리턴값의 빨간 성분®을 0으로 만든다.
float4 PS_TextureTech(VS_OUTPUT Out) : COLOR { float4 col=tex2D(textureSampler,Out.texcoord).rgba; col.r=0.0f; return col; } |
텍스쳐에 빨간성분만 남기기
이펙트의 일부를 바꿈으로써 텍스쳐에 빨간색성분만 남긴다.
바꿀 점
픽셀쉐이더의 처리 리턴값의 녹색성분(g) 파란색 성분(b) α성분을 0으로 한다.
float4 PS_TextureTech(VS_OUTPUT Out) : COLOR { float4 col=tex2D(textureSampler,Out.texcoord).rgba; col.gba=0.0f; return col; } |
텍스쳐의 일부를 붉게 하기
이펙트의 일부를 바꿈으로써 텍스쳐 일부를 빨간색으로 한다.
바꿔야 할 곳
픽셀쉐이더 처리 리턴값을 x좌표와y좌표가이하인 경우, 붉게 만든다.
float4 PS_TextureTech(VS_OUTPUT Out) : COLOR { float4 col=tex2D(textureSampler,Out.texcoord).rgba; if (Out.texcoord.x<=0.5f && Out.texcoord.y<=0.5f) col.gba=0.0f; return col; } |
'프로그래밍' 카테고리의 다른 글
[3.0] 3D모델 이동하기 (0) | 2009.07.14 |
---|---|
[3.0] 3D 모델 표시하기 (0) | 2009.07.14 |
텍스쳐를 붙인 3D프리미티브 표시하기 (0) | 2009.07.14 |
ViewingPipeline (0) | 2009.07.14 |
3D프리미티브 표시하기 (0) | 2009.07.14 |
댓글