문제

Face Normals를 사용하여 OpenGL에서 인간 모델을 밝히면 각면이 모델의 위치에 매우 분명합니다. 정점 정상을 사용하여 조명이 상당히 부드럽게되지만 여전히 눈에 띄게됩니다. 추가 정점을 추가하지 않고 유기농 모델을 부드럽게하는 기술이 있습니까 (예 : 세분화)?

도움이 되었습니까?

해결책

정점 당 정상에 단일 얼굴을보고 있다면 매끄러운 얼굴을 가능하게하는 것을 잊었을 수 있습니다.

glShadeModel(GL_SMOOTH);

그것이 동일한 위치를 가진 모든 정점이 동일한 정상을 갖도록하는 데 도움이되지 않는다면. 그러나 블렌더는 자동으로 수행해야합니다. 모델에 다각형이 너무 적을 수도 있습니다. 이 경우 더 많은 다각형을 사용하거나 Basszero가 말한 것을 수행해야합니다. 일반지도를 만듭니다 GLSL 셰이더와 함께 사용하십시오.

다른 팁

더 높은 해상도 모델/메쉬에 액세스하거나 괜찮은 경우 3D 모델링 도구 그것은 세분 또는 기타 멋진 방법을 통해 Highres 모델을 만들 수 있습니다 ...

Glsl 픽셀마다 조명 + 일반지도

업데이트:

http://www.blender.org/development/release-logs/blender-246/render-baking/

예, 여러 가지 기술이 있습니다. 하나는 먼저 각면에 대해 정상을 계산하는 것입니다 (아마도 얼굴의 정점에 사용하는 것)는이 정상을 사용하여 각 정점에 대한 새로운 정상을 계산하는 것입니다.

여기에 있습니다 하나 여기서 5 개의 인접한 삼각형의 평균을 계산합니다.

건배 !

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top