방향성광원, 점광원
반응형
이번엔 거의 할 부분이 없군.
float diffuseColor;
[branch] switch(lightType)
{
case 1: // dir light
diffuseColor = saturate(dot(input.normal, - lightdirection);
break;
case 2: // point light
diffuseColor = saturate(dot(input.normal, normalize(lightPosition - input.worldPos)));
break;
default: // no light
diffuseColor = 1;
}
[branch] if(textureOn)
{
return texDiffuse.Sample(texureSampler, input.tex) * diffuseColor;
}
else
{
return diffuseColor;
}
그나마 옵션에 따라 동적 분기 분할 하는 이정도가 이 예제의 다인듯.
float diffuseColor;
[branch] switch(lightType)
{
case 1: // dir light
diffuseColor = saturate(dot(input.normal, - lightdirection);
break;
case 2: // point light
diffuseColor = saturate(dot(input.normal, normalize(lightPosition - input.worldPos)));
break;
default: // no light
diffuseColor = 1;
}
[branch] if(textureOn)
{
return texDiffuse.Sample(texureSampler, input.tex) * diffuseColor;
}
else
{
return diffuseColor;
}
그나마 옵션에 따라 동적 분기 분할 하는 이정도가 이 예제의 다인듯.
'Study > Directx 10' 카테고리의 다른 글
텍스쳐 매핑. (0) | 2010.05.16 |
---|---|
Texture load (0) | 2010.05.15 |
광원(확산, 정반사, 환경) (0) | 2010.05.15 |
다수의 광원. (0) | 2010.05.15 |
쉐이딩 모드 (0) | 2010.05.14 |
TAGS.