2012-08-10 3 views
2

버텍스/프래그먼트 쉐이더, 점 광원 및 감쇠가 있고, 큐브면에 쉐이더를 적용해야하며, 색상 쉐이딩을 변경해야합니다. 높은 폴리 메쉬 모든 것이 잘 작동하고 내 목표는이 낮은 폴리 메쉬에 그라디언트를 적용하는 것입니다.낮은 폴리 표면에서의 glsl 효과

나는 gl_FragColor = vec4 (n, 1) n = normal을 시도했지만 표면 당 단색을 얻었습니다. 이것은 왜 그라데이션이 보이지 않는 이유입니까?

건배

+2

안녕하세요! 낮은 폴리 메쉬의 문제점은 무엇입니까? 효과는 어떻게 다른가요? * 무엇을 시도해 봤습니까? * SO 자습서를 읽고 질문을 향상 시키십시오. 현재 양식으로 답변하지는 않을 것입니다. –

+0

안녕하세요 Bartek, faq이 어디 있는지 말해 주실 수 있습니까? 나는 미안 해요. 그래서 끔찍한 경험을하지 않았습니다. 저는 조명, 퐁, 블링, 쉐이딩을위한 쉐이더를 작성하려했지만 감쇄를 추가하려고했지만 그래도 그라디언트를 얻으려면 제 큐브면에 단색을 얻었습니다. 쉽게 디버깅 할 수 없습니다. glsl 쉐이더는 도움이되지 않습니다. – user1583007

+1

페이지 상단에 링크가 있습니다. 또한 답변을 편집하고 추가 정보를 입력해야합니다. –

답변

0

관찰하는 올바른 동작입니다. 큐브는 완벽하게 평면이므로 얼굴 정점 당 법선은 같습니다.

그러나 Phong 조명 계산시 주어진 (하위)면의 정점 3 개 (또는 4 개 사용시 4 개) 사이에 삽입되는 단편의 위치를 ​​사용해야합니다. 주어진 조각의 위치에서 빛 위치와 눈 벡터 사이의 각도를 계산하는 데 사용할 수 있습니다.

나는 최근에 비슷한 문제를 겪었고, 평평하지 않은 것을보고 싶다면 큐브가 정말로 빛나야한다는 것을 알았습니다. 나는 말 그대로 의미합니다. shininess를 합리적으로 높은 가치 (250-500)로 설정하십시오. 얼굴에 초점을 맞춘 움직이는 빛의 지점이 보일 것입니다. 그렇지 않다면 번개 쉐이더가 잘못되었을 수도 있습니다.