2011-01-22 3 views
1

태양의 위치와 물체에 반사되는 빛을 시뮬레이트하는 셰이더를 만들려고합니다. shader sun position - glsl

내가 타이머를 가지고있는 태양의 궤적을 시뮬레이션하고, 빛 위치에 의해 정의된다

fvLightPosition.x=-cos(Time)*speed; 
fvLightPosition.y=sin(Time)*speed; 
fvLightPosition.z=100.0; 

타이머 인 변수가 거꾸로입니다 제외 float Time0_X

은 거의 오른쪽 궤도를 얻을 아래로, 그리고 어떻게 든 이상하게 보입니다. 누구든지 올바른 방법으로 태양의 궤도를 시뮬레이션하는 방법을 알려줄 수 있습니까?

저는 RenderMonkey를 사용하여 셰이더를 만듭니다.

답변

1

값이 02*PI 라디안 (각각 0과 180도에 해당) 사이에 오도록 조정하십시오. 원래 Time 값의 범위가 0에서 MAX 인 경우 (Time/MAX) * 2PI과 같은 비율로 조정할 수 있습니다.

speed이 무엇을 의미하는지 잘 모르겠습니다 만, 실제로 그렇게 곱하면 안됩니다. cossin 값은 태양과 원점 사이의 벡터의 X 및 Y 구성 요소를 나타내므로 장면의 중심으로부터 태양까지의 거리를 곱해야하며 대개 일정합니다.