paint: tweak envmap strength
This commit is contained in:
@@ -287,7 +287,7 @@ fun deferred_light_frag(input: vert_out): float4 {
|
||||
|
||||
envl.rgb = envl.rgb * albedo * ao;
|
||||
envl.rgb = envl.rgb + prefiltered_color * env_brdf_approx(f0, roughness, dotnv) * specular_occlusion(dotnv, ao, roughness);
|
||||
envl.rgb = envl.rgb * constants.envmap_data.w * 0.5;
|
||||
envl.rgb = envl.rgb * constants.envmap_data.w;
|
||||
|
||||
var color: float4;
|
||||
color.rgb = envl.rgb + emission;
|
||||
|
||||
@@ -277,7 +277,7 @@ void project_set_default_envmap() {
|
||||
scene_world->_->radiance = g_context->default_radiance;
|
||||
scene_world->_->radiance_mipmaps = g_context->default_radiance_mipmaps;
|
||||
scene_world->_->irradiance = g_context->default_irradiance;
|
||||
scene_world->strength = 2.0;
|
||||
scene_world->strength = 1.0;
|
||||
g_context->envmap_angle = 0.0;
|
||||
g_context->show_envmap_blur = false;
|
||||
g_project->envmap = NULL;
|
||||
|
||||
@@ -529,7 +529,7 @@ node_shader_context_t *make_mesh_run(material_t *data, i32 layer_pass) {
|
||||
node_shader_add_function(kong, str_env_brdf_approx);
|
||||
node_shader_write_frag(kong, "indirect = indirect * occlusion;");
|
||||
node_shader_write_frag(kong, "indirect = indirect + prefiltered_color * env_brdf_approx(f0, roughness, dotnv) * 0.5;");
|
||||
node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w * 0.5;");
|
||||
node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w;");
|
||||
node_shader_write_frag(kong, "indirect = max3(indirect, float3(0.0, 0.0, 0.0));");
|
||||
node_shader_write_frag(kong, "output[1] = float4(indirect, 1.0);");
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ static node_shader_context_t *make_envsphere_shader(char *name, f32 roughness, f
|
||||
node_shader_write_frag(kong, "var indirect: float3 = albedo * (sh_irradiance(float3(n.x * constants.envmap_data.z + n.y * constants.envmap_data.y, n.y * "
|
||||
"constants.envmap_data.z - n.x * constants.envmap_data.y, n.z)) / 3.14159265);");
|
||||
node_shader_write_frag(kong, "indirect = indirect + prefiltered_color * env_brdf_approx(f0, roughness, dotnv);");
|
||||
node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w * 0.5;");
|
||||
node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w;");
|
||||
node_shader_write_frag(kong, "indirect = max3(indirect, float3(0.0, 0.0, 0.0));");
|
||||
|
||||
// Filmic tone-mapping (matches compositor_pass)
|
||||
|
||||
@@ -78,7 +78,7 @@ static node_shader_context_t *make_pathsphere_shader(char *name) {
|
||||
node_shader_write_frag(kong, "var indirect: float3 = albedo * (sh_irradiance(float3(n.x * constants.envmap_data.z + n.y * constants.envmap_data.y, n.y * "
|
||||
"constants.envmap_data.z - n.x * constants.envmap_data.y, n.z)) / 3.14159265);");
|
||||
node_shader_write_frag(kong, "indirect = indirect + prefiltered_color * env_brdf_approx(f0, roughness, dotnv);");
|
||||
node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w * 0.5;");
|
||||
node_shader_write_frag(kong, "indirect = indirect * constants.envmap_data.w;");
|
||||
node_shader_write_frag(kong, "indirect = max3(indirect, float3(0.0, 0.0, 0.0));");
|
||||
|
||||
// Filmic tone-mapping (matches compositor_pass)
|
||||
|
||||
@@ -2774,7 +2774,7 @@ scene_t *startup_get_scene(void) {
|
||||
world_data_t *wd = (world_data_t *)calloc(1, sizeof(world_data_t));
|
||||
wd->name = "World";
|
||||
wd->color = -15987700;
|
||||
wd->strength = 2.0f;
|
||||
wd->strength = 1.0f;
|
||||
wd->irradiance = "World_irradiance";
|
||||
wd->radiance = "World_radiance.k";
|
||||
wd->radiance_mipmaps = 5;
|
||||
|
||||
@@ -420,7 +420,7 @@ void ui_menubar_draw_category_items() {
|
||||
ui_handle_t *env_handle = ui_handle(__ID__);
|
||||
env_handle->f = p->strength;
|
||||
ui_menu_align();
|
||||
p->strength = ui_slider(env_handle, tr("Environment"), 0.0, 6.0, true, 100.0, true, UI_ALIGN_RIGHT, true);
|
||||
p->strength = ui_slider(env_handle, tr("Environment"), 0.0, 4.0, true, 100.0, true, UI_ALIGN_RIGHT, true);
|
||||
if (env_handle->changed) {
|
||||
g_context->ddirty = 2;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user