OpenGL 공부중인데 위에껀 어떤 블로그에서 봤고
밑에껀 Soen에서 3차원 좌표계라고 갖다놓은건데
해당 블로그에서
GLfloat MyVertices[8][3] = {
{-0.25,-0.25,0.25},
{-0.25,0.25,0.25},
{0.25,0.25,0.25},
{0.25,-0.25,0.25},
{-0.25,-0.25,-0.25},
{-0.25,0.25,-0.25},
{0.25,0.25,-0.25},
{0.25,-0.25,-0.25}
};
이렇게 육면체 정점 8개를 정의했는데 위 사진의 순서에 따라.. 이 배열에 있는 좌표랑 위 사진이랑 비교하면
좌표가 안맞는데.. z가 앞쪽이 +라는 뜻인데.. 내가 어디 잘못알고 있는거임?
0번 정점 -0.25 -0.25 0.25을 예로들면 soen 좌표로 보면
좌 하단이니까 x는 음수 y도 음수 z도 앞쪽으로 튀어나와있으니까 - 가 붙어야하는데
지금 + 인데 그럼 이말은 육면체에서 앞쪽으로 튀어나온게 양수라는 말인데..뭐 좌표계 내가 잘못 이해하고 있는거있나요?
사용하는 좌표계가 다름 보통은 위에꺼씀
이해가 잘안가는데.. 둘다 똑같은 OpenGL이고 지금 같은 3차원에서 코드를 작성하는데 다르다는거에요?
그냥 기준이 다른거지
어떤기준이요?
어느쪽이 앞이고 어느쪽이 뒤인지에 대한 기준
그러니까 soen에서는 3차원 좌표 z가 음수이라고 설명을하는데 왜 여기선 갑자기 z가 앞쪽이내 이말이지..왜 기준이 바뀌냐구
저거 같은 사람이 설명한거임? 그렇다면 지가 쓰면서도 지가 뭔소리 한건지 모르는거고 다른 사람이면 그냥 그사람의 기준인거고
y축이 위로 가든 오른쪽으로 가든 왼쪽으로 가든 상관없음. 다만 물체의 정점을 표현할 때랑, project 행렬을 이용해 정점을 화면 공간으로 변환할 때 같은 방향으로 통일시키기만 한다면 문제 없음. 다만 OpenGL은 화면 바깥으로 나가는 방향을 +Z라고 정해놓고 깊이값을 계산하기 때문에 그것을 따를 뿐. 님이 원하신다면 다른 좌표계를 사용한 다음 OpenGL에게 넘겨줄 때만 그게 맞게 변환해도 상관 없음.