私はこの奇妙な顔に問題があるときにボクセルエンジンを書きました。ボクセルエンジン、カメラがパンを外したときに顔が怪我をしている
地形から遠ざかると、すべてが壊れています。私はいくつかのスクリーンショットを掲載する予定の問題をどのように記述するのか考えていません。
camera_projection = bb_perspective(bb_toRadiansReal32(70.0f), ((r32)WINDOW_WIDTH/(r32)WINDOW_HEIGHT), 0.1f, 1000.0f);
私は私が最後の値に2番目と遊ぶと消え部分で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になると消えますか? –
完全には、私はカメラでこのバグをもう一度見に行く必要があります。 – Brajanowski