UI: Optional Complex Layout for Workspace Status #120595
|
@ -573,7 +573,7 @@ class RENDER_PT_eevee_next_raytracing(RenderButtonsPanel, Panel):
|
|||
options = context.scene.eevee.ray_tracing_options
|
||||
|
||||
col.prop(options, "resolution_scale")
|
||||
col.prop(options, "screen_trace_max_roughness", text="Max Roughness")
|
||||
col.prop(options, "trace_max_roughness", text="Max Roughness")
|
||||
# TODO Move it to raytracing options
|
||||
col.prop(props, "horizon_bias", text="Bias")
|
||||
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
* \ingroup bke
|
||||
*/
|
||||
|
||||
#include "BLI_utildefines.h"
|
||||
|
||||
#include "BKE_subdiv_topology.hh"
|
||||
|
||||
#include "BKE_subdiv.hh"
|
||||
|
@ -20,6 +22,7 @@ int topology_num_fvar_layers_get(const Subdiv *subdiv)
|
|||
OpenSubdiv_TopologyRefiner *topology_refiner = subdiv->topology_refiner;
|
||||
return topology_refiner->getNumFVarChannels();
|
||||
#else
|
||||
UNUSED_VARS(subdiv);
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -2830,7 +2830,7 @@ void blo_do_versions_400(FileData *fd, Library * /*lib*/, Main *bmain)
|
|||
RAYTRACE_EEVEE_DENOISE_BILATERAL;
|
||||
scene->eevee.ray_tracing_options.screen_trace_quality = 0.25f;
|
||||
scene->eevee.ray_tracing_options.screen_trace_thickness = 0.2f;
|
||||
scene->eevee.ray_tracing_options.screen_trace_max_roughness = 0.5f;
|
||||
scene->eevee.ray_tracing_options.trace_max_roughness = 0.5f;
|
||||
scene->eevee.ray_tracing_options.sample_clamp = 10.0f;
|
||||
scene->eevee.ray_tracing_options.resolution_scale = 2;
|
||||
}
|
||||
|
|
|
@ -335,7 +335,7 @@ RayTraceResult RayTraceModule::render(RayTraceBuffer &rt_buffer,
|
|||
|
||||
RaytraceEEVEE options = ray_tracing_options_;
|
||||
|
||||
bool use_horizon_scan = options.screen_trace_max_roughness < 1.0f;
|
||||
bool use_horizon_scan = options.trace_max_roughness < 1.0f;
|
||||
|
||||
const int resolution_scale = max_ii(1, power_of_2_max_i(options.resolution_scale));
|
||||
const int horizon_resolution_scale = max_ii(
|
||||
|
@ -380,7 +380,7 @@ RayTraceResult RayTraceModule::render(RayTraceBuffer &rt_buffer,
|
|||
raytrace_denoise_tiles_buf_.resize(ceil_to_multiple_u(denoise_tile_count, 512));
|
||||
|
||||
/* Data for tile classification. */
|
||||
float roughness_mask_start = options.screen_trace_max_roughness;
|
||||
float roughness_mask_start = options.trace_max_roughness;
|
||||
float roughness_mask_fade = 0.2f;
|
||||
data_.roughness_mask_scale = 1.0 / roughness_mask_fade;
|
||||
data_.roughness_mask_bias = data_.roughness_mask_scale * roughness_mask_start;
|
||||
|
@ -514,7 +514,7 @@ RayTraceResultTexture RayTraceModule::trace(
|
|||
data_.quality = 1.0f - 0.95f * options.screen_trace_quality;
|
||||
data_.brightness_clamp = (options.sample_clamp > 0.0) ? options.sample_clamp : 1e20;
|
||||
|
||||
float roughness_mask_start = options.screen_trace_max_roughness;
|
||||
float roughness_mask_start = options.trace_max_roughness;
|
||||
float roughness_mask_fade = 0.2f;
|
||||
data_.roughness_mask_scale = 1.0 / roughness_mask_fade;
|
||||
data_.roughness_mask_bias = data_.roughness_mask_scale * roughness_mask_start;
|
||||
|
|
|
@ -598,9 +598,6 @@ static void gesture_end(bContext & /*C*/, gesture::GestureData &gesture_data)
|
|||
|
||||
static void init_operation(gesture::GestureData &gesture_data, wmOperator &op)
|
||||
{
|
||||
gesture_data.operation = reinterpret_cast<gesture::Operation *>(
|
||||
MEM_cnew<TrimOperation>(__func__));
|
||||
|
||||
TrimOperation *trim_operation = (TrimOperation *)gesture_data.operation;
|
||||
|
||||
trim_operation->op.begin = gesture_begin;
|
||||
|
@ -725,6 +722,8 @@ static int gesture_box_exec(bContext *C, wmOperator *op)
|
|||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
gesture_data->operation = reinterpret_cast<gesture::Operation *>(
|
||||
MEM_cnew<TrimOperation>(__func__));
|
||||
initialize_cursor_info(*C, *op, *gesture_data);
|
||||
init_operation(*gesture_data, *op);
|
||||
|
||||
|
@ -754,6 +753,8 @@ static int gesture_lasso_exec(bContext *C, wmOperator *op)
|
|||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
||||
gesture_data->operation = reinterpret_cast<gesture::Operation *>(
|
||||
MEM_cnew<TrimOperation>(__func__));
|
||||
initialize_cursor_info(*C, *op, *gesture_data);
|
||||
init_operation(*gesture_data, *op);
|
||||
|
||||
|
|
|
@ -164,7 +164,7 @@
|
|||
RAYTRACE_EEVEE_DENOISE_BILATERAL, \
|
||||
.screen_trace_quality = 0.25f, \
|
||||
.screen_trace_thickness = 0.2f, \
|
||||
.screen_trace_max_roughness = 0.5f, \
|
||||
.trace_max_roughness = 0.5f, \
|
||||
.sample_clamp = 10.0f, \
|
||||
.resolution_scale = 2, \
|
||||
}
|
||||
|
|
|
@ -1800,7 +1800,7 @@ typedef struct RaytraceEEVEE {
|
|||
/** Thickness in world space each surface will have during screen space tracing. */
|
||||
float screen_trace_thickness;
|
||||
/** Maximum roughness before using horizon scan. */
|
||||
float screen_trace_max_roughness;
|
||||
float trace_max_roughness;
|
||||
/** Resolution downscale factor. */
|
||||
int resolution_scale;
|
||||
/** Maximum intensity a ray can have. */
|
||||
|
|
|
@ -7758,10 +7758,10 @@ static void rna_def_raytrace_eevee(BlenderRNA *brna)
|
|||
RNA_def_property_override_flag(prop, PROPOVERRIDE_OVERRIDABLE_LIBRARY);
|
||||
RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, nullptr);
|
||||
|
||||
prop = RNA_def_property(srna, "screen_trace_max_roughness", PROP_FLOAT, PROP_FACTOR);
|
||||
prop = RNA_def_property(srna, "trace_max_roughness", PROP_FLOAT, PROP_FACTOR);
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Screen-Trace Max Roughness",
|
||||
"Raytrace Max Roughness",
|
||||
"Maximum roughness to use the tracing pipeline for. Higher "
|
||||
"roughness surfaces will use horizon scan. A value of 1 will disable horizon scan");
|
||||
RNA_def_property_range(prop, 0.0f, 1.0f);
|
||||
|
|
Loading…
Reference in New Issue