2017-04-26 2 views
0

openTK를 사용하여 3D 큐브를 렌더링하고 있는데 조명이 예상대로 렌더링되지 않습니다. r, g, b (버텍스 라인의 마지막 세 값) 값은 사용해야하는 올바른 정상 값입니까?이 3D 큐브의 정상적인 값입니까?

Vertex Format x,y,z,r,g,b 
24 
-0.2,-0.2,-0.2,0,1,0 
0.2,-0.2,-0.2,0,1,0 
-0.2,0.2,-0.2,0,1,0 
0.2,0.2,-0.2,0,1,0 
-0.2,-0.2,0.2,0,1,0 
0.2,-0.2,0.2,0,1,0 
-0.2,0.2,0.2,0,1,0 
0.2,0.2,0.2,0,1,0 
0.2,-0.2,-0.2,1,0,0 
0.2,-0.2,0.2,1,0,0 
0.2,0.2,-0.2,1,0,0 
0.2,0.2,0.2,1,0,0 
-0.2,-0.2,-0.2,1,0,0 
-0.2,-0.2,0.2,1,0,0 
-0.2,0.2,-0.2,1,0,0 
-0.2,0.2,0.2,1,0,0 
-0.2,-0.2,-0.2,0,0,1 
-0.2,-0.2,0.2,0,0,1 
0.2,-0.2,-0.2,0,0,1 
0.2,-0.2,0.2,0,0,1 
-0.2,0.2,-0.2,0,0,1 
-0.2,0.2,0.2,0,0,1 
0.2,0.2,-0.2,0,0,1 
0.2,0.2,0.2,0,0,1 
Index Format v1,v2,v3 
12 
1,0,2 
1,2,3 
4,5,6 
6,5,7 
9,8,10 
9,10,11 
12,13,14 
14,13,15 
17,16,18 
17,18,19 
20,21,22 
22,21,23 
+0

아니요. 큐브 법선이 어떻게 보일 것인가 ... 수동으로 법선을 추가하거나 교차 제품으로 계산해야하는 방법에 대해 [2D 객체를 3D 객체로 변경 OpenGl] (http://stackoverflow.com/a/43627507/2521214)을 참조하십시오. – Spektre

답변

0

아니,이 확실히 올바른 법선되지 않습니다

내가이 부여 된 큐브의 형식입니다.

큐브의 방향이 다른 6 개의면이 있으므로 6 개의 법선이 있어야합니다. 현재는 3 명 밖에 없습니다. 정규 벡터의 부호는 중요하므로 [1, 0, 0]! = [-1, 0, 0]입니다.

관련 문제