2013-10-05 2 views
0

가벼운 방향을 고려한 일반 매핑 용 쉐이더가 있습니다. 그 효과를 강화하고 싶습니다.float3을 0.0 또는 1.0 방향으로 강제 이동

float3 N = (2.0 * (tex2D(NormalMapSampler, Tex))) - 1.0; 

그것은 내가 원하는 인 0과 1 사이에 머물 값을 강제로이 모델의 특정 픽셀의 밝기를 계산하는 데 사용되는 라인입니다. 그러나 반올림을 사용하지 않고 0.5보다 큰 값을 높이고 0.5보다 작은 값을 줄이면 광원을 향한 모델의 측면과 그렇지 않은 모델의 측면 사이에 더 큰 차이가 있습니다. 이를 달성하기 위해 무엇을 사용할 수 있습니까?

+0

정상이 아니십니까? 빛의 양 (기본 빛 방정식의 경우에는 내적을 사용)이 아닙니다. 대비를 높이려면 pow (lightcontrib, power) * scale을 사용하면됩니다 (물론 음의 값에주의하십시오). – catflier

답변

0

공식은 내가 당신이 원하는 것은 많은 의미가 있다고 생각하지 않는다 -1과 1 사이의 값으로 벡터를 생성하지만, 당신은 단지는 Z 좌표를 증가시킬 수있다 :

float3 N = (2.0 * (tex2D(NormalMapSampler, Tex))) - 1.0; 
N.z *= 2; //or any other value 
N = normalize(N); 

높은 요인 , 보통 맵핑에는 영향을 미치지 않습니다. 0에서 1 사이의 값으로 증가합니다.