我在写这个奇怪的脸部问题时正在写一个体素引擎。体素引擎,当相机掉出来时脸部会被窃听
因此,当我离开地形时,一切都断裂。我什至不知道如何描述我将发布一些截图的问题。
camera_projection = bb_perspective(bb_toRadiansReal32(70.0f), ((r32)WINDOW_WIDTH/(r32)WINDOW_HEIGHT), 0.1f, 1000.0f);
我发现,当我第二个玩到最后一个值,并更改设置为1.0F问题部分消失。但我不想将此值保持在1.0f。
我张贴此函数的定义:
static bbMat4 bb_perspective(r32 fov, r32 aspect, r32 near, r32 far) {
bbMat4 ret(1.0f);
r32 range = near - far;
r32 tan_half_fov = tanf(fov/2.0f);
ret[0][0] = 1.0f/(tan_half_fov * aspect);
ret[1][1] = 1.0f/tan_half_fov;
ret[2][2] = (-near - far)/range;
ret[2][3] = 2.0f * far * near/range;
ret[3][3] = 0.0f;
ret[3][2] = 1.0f;
return ret;
}
我已经完全不知道如何处理这事。
你能解释一下我们在屏幕截图中看到的和它有什么问题吗?您为什么不想将znear值更改为可用的值?将近距和远距剪辑平面设置为合理的数值是至关重要的。你用什么深度的深度缓冲区? –
如果您选择从近到远的较小范围,例如1.0f到1000.0f,它会消失吗? –
不完全,我不得不用相机再次看到这个bug。 – Brajanowski