O comando glDepthRange(near, far) define o mapeamento de coordenadas de dispositivo normalizadas (NDC) z ∈ [-1, 1] para valores de profundidade no espaço da janela.
glDepthRange(0.0, 1.0); // Padrão: near=0, far=1
glZMax 999 não é uma função OpenGL padrão. Pode referir-se a:
glFrustum, gluPerspective, glm::perspective), onde far = 999 unidades.Em gluPerspective(fov, aspect, near, far), far define a distância máxima de visualização. Objetos além de far são clippados.
far muito grande (ex.: 999999) → z-fighting (perda de precisão de profundidade) devido à distribuição não-linear de profundidade (precisão concentrada perto de near).near o maior possível, far o menor possível para a cena.Depth buffer 24-bit: precisão ≈ near * far / (far - near) à distância. Reverse-z (depth floating-point, glClipControl(GL_LOWER_LEFT, GL_ZERO_TO_ONE) + glDepthFunc(GL_GREATER)) melhora dramaticamente precisão para ranges grandes.
Tecnologia Eletrônica © [www.351231.com]