base: taa fixes
This commit is contained in:
+7
-10
@@ -1076,22 +1076,15 @@ void camera_object_remove(camera_object_t *raw) {
|
||||
object_remove_super(raw->base);
|
||||
}
|
||||
|
||||
void camera_object_render_frame(camera_object_t *raw) {
|
||||
camera_object_proj_jitter(raw);
|
||||
camera_object_build_mat(raw);
|
||||
render_path_render_frame();
|
||||
}
|
||||
|
||||
void camera_object_proj_jitter(camera_object_t *raw) {
|
||||
i32 w = render_path_current_w;
|
||||
i32 h = render_path_current_h;
|
||||
raw->p = raw->no_jitter_p;
|
||||
i32 i = raw->frame % 2;
|
||||
f32 x = i == 0 ? -0.5 : 0.5;
|
||||
f32 y = i == 0 ? -0.5 : 0.5;
|
||||
f32 x = i == 0 ? -0.5 : 0.5;
|
||||
f32 y = i == 0 ? 0.5 : -0.5;
|
||||
raw->p.m20 += x / w;
|
||||
raw->p.m21 += y / h;
|
||||
raw->frame++;
|
||||
}
|
||||
|
||||
void camera_object_build_mat(camera_object_t *raw) {
|
||||
@@ -2224,7 +2217,11 @@ void scene_render_frame(void) {
|
||||
transform_update(e->transform);
|
||||
}
|
||||
}
|
||||
camera_object_render_frame(scene_camera);
|
||||
|
||||
camera_object_proj_jitter(scene_camera);
|
||||
camera_object_build_mat(scene_camera);
|
||||
render_path_render_frame();
|
||||
scene_camera->frame++;
|
||||
}
|
||||
|
||||
object_t *scene_add_object(object_t *parent) {
|
||||
|
||||
@@ -380,7 +380,6 @@ extern vec4_t _camera_object_sphere_center;
|
||||
camera_object_t *camera_object_create(camera_data_t *data);
|
||||
void camera_object_build_proj(camera_object_t *raw, f32 screen_aspect);
|
||||
void camera_object_remove(camera_object_t *raw);
|
||||
void camera_object_render_frame(camera_object_t *raw);
|
||||
void camera_object_proj_jitter(camera_object_t *raw);
|
||||
void camera_object_build_mat(camera_object_t *raw);
|
||||
vec4_t camera_object_right(camera_object_t *raw);
|
||||
|
||||
@@ -1441,7 +1441,6 @@ void minic_register_builtins() {
|
||||
R(camera_object_create, "p(p)");
|
||||
R(camera_object_build_proj, "v(p,f)");
|
||||
R(camera_object_remove, "v(p)");
|
||||
R(camera_object_render_frame, "v(p)");
|
||||
R(camera_object_proj_jitter, "v(p)");
|
||||
R(camera_object_build_mat, "v(p)");
|
||||
R(camera_object_sphere_in_frustum, "i(p,p,f,f,f,f)");
|
||||
|
||||
Reference in New Issue
Block a user