[GPG 1 글 4.1] [질문]z depth 에관한 문제.. ㅡ.ㅡ 정점의 투영 깊이값.. 1권 4

GPG 시리즈 관련 질답, 논의 공간.

Moderator: 류광

누굴까요..

[질문]z depth 에관한 문제.. ㅡ.ㅡ 정점의 투영 깊이값.. 1권 4

Post by 누굴까요.. »

후진 글픽카드 에서.. z buffer 16bit 이하로 잡히면 카메라에서 조금만 떨어져도 캐릭터들 껌벅껌벅.. 배경도 껌벅 껌벅하네여..
그래서 1권 4.1에 있는 정점 투영 깊이값조정... 이걸 적용해볼라구 하는데 수학에 약해서 도대췌 모르겠네여..

void LoadOffsetMatrix(GLdouble l, GLdouble r, GLdouble b, GLdouble t,GLdouble n, GLdouble f, GLfloat delta, GLfloat pz)
{
GLfloat matrix[16];

// Set up standard perspective projection
glMatrixMode(GL_PROJECTION);
glFrustum(l, r, b, t, n, f);

// Retrieve the projection matrix
glGetFloatv(GL_PROJECTION_MATRIX, matrix);

// Calculate epsilon with equation (7)
GLfloat epsilon = -2.0F * f * n * delta / ((f + n) * pz * (pz + delta));

// Modify entry (3,3) of the projection matrix
matrix[10] *= 1.0F + epsilon;

// Send the projection matrix back to OpenGL
glLoadMatrixf(matrix);
}

여기서 delta 하구 pz 값은 어케 정해줘야하나여..

glDepthRange() 함수도 비슷한 기능을 하는거 같은데 어떠케 쓰는건지 몰겠네여..

혹시 다른 방법두 있나여.. 도와주세여.. Help ME///
류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

Post by 류광 »

장면 전체적으로 그런 현상이 생긴다면 zfar와 znear 또는 게임 세계의 전반적인 수치 단위를 조정하는 게 더 나을 수도 있습니다...
누구일까요.

질문한사람.

Post by 누구일까요. »

일단 답변 감사해요~~

지금 cm 단위로 작업해서
near 1.f , far 10000.f 으로 되있는데... 이수치가 문제가 될수있는건가요..
미터단위로 바꾸면... 0.01 , 100 이 되는데 이러면 해결될까여..
z Depth 를 내부적으로 어떠케 처리하는지 몰라서 .. ㅡ.ㅡ
걍 암생각없이 했는데.. 수의 크기에 영향을 받나요.??
Guest

Re: 질문한사람.

Post by Guest »

cm 단위로 하신다면, near를 한 100(1m) 정도로 하면.

웬만해서는 z-다툼 문제가 크게 눈에 띄지는 않을 겁니다...
누구일까요. wrote:일단 답변 감사해요~~

지금 cm 단위로 작업해서
near 1.f , far 10000.f 으로 되있는데... 이수치가 문제가 될수있는건가요..
미터단위로 바꾸면... 0.01 , 100 이 되는데 이러면 해결될까여..
z Depth 를 내부적으로 어떠케 처리하는지 몰라서 .. ㅡ.ㅡ
걍 암생각없이 했는데.. 수의 크기에 영향을 받나요.??
류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

Post by 류광 »

아! z-fighting을 z 다툼이라고 번역할 수 있군요!! z 경쟁이라고 하고는 뭔가 찜찜했는데.. 고맙습니다~
Post Reply