对于OpenGL和图形编程的许多新手,我在设置zNear
的{{1}}和zFar
值方面遇到了一些问题。鉴于我知道我的场景有多大,并考虑到我可能有的深度缓冲问题,如果我将近平面设置得太近。如何正确设置这些参数?
简而言之,如果我知道场景边界的半径,我怎样才能以正确的方式设置投影?
答案 0 :(得分:1)
只要您将物体与相机保持合理距离,就不必担心会失去深度缓冲精度。
丢失的比特是比率zFar/zNear
的基数2对数。换句话说,对于您牺牲的每个深度缓冲区精度位,您可以加倍zFar
或加倍zNear
。对数增长值得感恩。另外,如果你将两个 zNear
和zFar
加倍,则不会牺牲额外的深度缓冲区精度。
zNear=1
和zFar=1024
仅花费9位深度缓冲区精度。那是一个非常舒适的空间。
虽然蓝皮书的描述很擅长指出 关系,这有点不准确。比例(zFar / zNear) 增加,深度背后的精度较低 缓冲区和更高的精度可以在靠近深度的前方 缓冲。因此,原语更有可能在Z中进行交互 更远离观众。
视场角可以在90-70附近。
答案 1 :(得分:0)
也许很简单:
当然,要找到该中心,您必须遍历整个可见对象或使用某些场景层次结构。