Ich schrieb eine Voxel-Engine, als ich dieses seltsame Problem mit Gesichtern bekam.Voxel Engine, Gesichter werden abgehört, wenn die Kamera herausschwenkt
Also, wenn ich weg vom Gelände, alles bricht. Ich habe nicht einmal eine Idee, wie ich das Problem beschreiben soll. Ich werde einige Screenshots veröffentlichen.
camera_projection = bb_perspective(bb_toRadiansReal32(70.0f), ((r32)WINDOW_WIDTH/(r32)WINDOW_HEIGHT), 0.1f, 1000.0f);
fand ich heraus, wenn ich mit dem vorletzten Wert spielen und das Problem zu 1.0f ändern teilweise verschwindet. Aber ich möchte diesen Wert nicht bei 1,0f halten.
Ich poste Definition dieser Funktion:
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;
}
Ich habe völlig keine Ahnung, wie damit umgehen.
Können Sie erklären, was wir in den Screenshots sehen und was ist falsch daran? Warum möchten Sie den Wert für "Znear" nicht in einen Wert ändern, der funktioniert? Es ist wichtig, die nahen und fernen Clipping-Ebenen auf vernünftige Werte zu setzen. Welche Bittiefe verwenden Sie für Ihren Tiefenpuffer? –
Geht es weg, wenn Sie einen kleineren Bereich von nah bis fern wählen, sagen wir 1.0f bis 1000.0f? –
Nicht ganz, ich muss weiter weg mit der Kamera, um diesen Bug wieder zu sehen. – Brajanowski