2017-10-22 18 views
0

원형 태양을 그리는 방법OpenGL을, three.js를 - 난 그냥 구형이 쉐이더를 적용하고 나는 매우 가지고 내가</p> <p>먼저 three.js를 사용하여 GLSL - 대기 (<a href="https://github.com/wwwtyro/glsl-atmosphere" rel="nofollow noreferrer">https://github.com/wwwtyro/glsl-atmosphere</a>)에 따라 대기 쉐이더에서 일하고 있어요

: return 문에이 부분을 추가 좋은 결과 :

원래 쉐이더는 태양 도면 요소를 가지고하지 않았다, 그래서 난 그냥 다음

float spot = smoothstep(0.0, 1000.0, pMie)*10.0; 

를 사용하여 만든

return iSun * (spot*totalMie+pRlh * kRlh * totalRlh + pMie * kMie * totalMie); 

enter image description here

그것은이 각도에서 좋은 보이지만, 그것은 화면의 국경 근처 때 내가 해결하기 위해 무엇을 할 수 enter image description here

그것은 타원형이된다 ...

그것?

+1

귀하의 질문에 대답하기 위해 우리는 누군가가 할 것이라고 의심되는 연결된 쉐이더를 분석해야 할 것입니다 ... 나는 [내 GLSL 대기 산란] (https://stackoverflow.com/a/19659648/)을보고 있습니다. 2521214). 기본적으로 카메라 광선이 Suns 디스크와 교차하는지 테스트합니다 (최대 3 개의 별을 지원합니다). 그렇다면 필자는 Sun에 산란을 통합하기 전에 색과 강도를 설정합니다. 코드에서'_star_colide'를 검색하십시오. 그 결과 모든 각도에서 원형 디스크가 생성되고 White Sun [여기] (https://stackoverflow.com/a/28020934/2521214)의 색상이 빨간색에서 노란색으로 바르게 설정됩니다. – Spektre

답변

1

그건 원근감 왜곡입니다. 카메라의 시야를 줄이면됩니다.