paint: raytrace fixes

This commit is contained in:
luboslenco
2026-05-20 10:57:58 +02:00
parent 3e327d6d63
commit da278555d2
5 changed files with 12 additions and 13 deletions
+4 -2
View File
@@ -313,7 +313,8 @@ void history_undo() {
history_undos--;
history_redos++;
g_context->ddirty = 2;
g_context->rtdirty = 1;
g_context->ddirty = 2;
ui_base_hwnds->buffer[TAB_AREA_SIDEBAR0]->redraws = 2;
ui_base_hwnds->buffer[TAB_AREA_SIDEBAR1]->redraws = 2;
@@ -593,7 +594,8 @@ void history_redo() {
history_undos++;
history_redos--;
g_context->ddirty = 2;
g_context->rtdirty = 1;
g_context->ddirty = 2;
ui_base_hwnds->buffer[TAB_AREA_SIDEBAR0]->redraws = 2;
ui_base_hwnds->buffer[TAB_AREA_SIDEBAR1]->redraws = 2;
+1 -3
View File
@@ -86,9 +86,7 @@ void make_material_parse_mesh_material() {
}
g_context->ddirty = 2;
if (g_context->viewport_mode == VIEWPORT_MODE_PATH_TRACE) {
g_context->pdirty = 1;
}
g_context->rtdirty = 1;
if (make_material_transluc_used) {
make_material_parse_depth_material();
+2 -1
View File
@@ -48,8 +48,9 @@ void render_path_raytrace_commands(bool use_live_layer) {
}
////
if (g_context->pdirty > 0) {
if (g_context->pdirty > 0 || g_context->rtdirty > 0) {
layers_flatten(true, NULL);
g_context->rtdirty = 0;
}
camera_object_t *cam = scene_camera;
+4 -3
View File
@@ -178,9 +178,10 @@ typedef struct context {
struct mesh_object *paint_object;
struct mesh_object *merged_object;
bool merged_object_is_atlas;
i32 ddirty;
i32 pdirty;
i32 rdirty;
i32 ddirty; // depth
i32 pdirty; // paint
i32 rdirty; // render
i32 rtdirty; // raytrace
bool brush_blend_dirty;
bool split_view;
i32 view_index;
+1 -4
View File
@@ -297,11 +297,8 @@ static void path_repaint(slot_layer_t *l) {
camera_object_build_mat(scene_camera);
render_path_base_draw_gbuffer();
if (g_context->viewport_mode == VIEWPORT_MODE_PATH_TRACE) {
layers_flatten(true, NULL);
}
g_context->pdirty = 0;
g_context->rtdirty = 1;
g_context->rdirty = 2;
g_context->tool = _tool;
g_context->layer = _layer;