Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Stockner <lukas.stockner@freenet.de>2020-07-13 02:40:47 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2020-07-13 03:00:38 +0300
commit77cd8182f865022320d0e48b31b599bad033dab5 (patch)
tree3f27b7fe4dfb40a56ab0a6c654ea1ca5ba8be5ee /source/blender/nodes/shader
parent474dcbcf126a308ea46543fcd914aa4bebf30a49 (diff)
Cycles: Remove Vector input on Sky texture when using the included sun
When using the sun, we need to sun sampling logic to avoid excessive sampling map resolution, but that logic assumes that the Vector input comes from the view direction. That is the case in the vast majority of cases anyways, so the easiest solution is to just remove the input for that case. Differential Revision: https://developer.blender.org/D8091
Diffstat (limited to 'source/blender/nodes/shader')
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_sky.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_sky.c b/source/blender/nodes/shader/nodes/node_shader_tex_sky.c
index 70f3f80eb4b..7e15daaf666 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_sky.c
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_sky.c
@@ -214,6 +214,14 @@ static int node_shader_gpu_tex_sky(GPUMaterial *mat,
}
}
+static void node_shader_update_sky(bNodeTree *UNUSED(ntree), bNode *node)
+{
+ bNodeSocket *sockVector = nodeFindSocket(node, SOCK_IN, "Vector");
+
+ NodeTexSky *tex = (NodeTexSky *)node->storage;
+ nodeSetSocketAvailability(sockVector, !(tex->sky_model == 2 && tex->sun_disc == 1));
+}
+
/* node type definition */
void register_node_type_sh_tex_sky(void)
{
@@ -225,6 +233,8 @@ void register_node_type_sh_tex_sky(void)
node_type_init(&ntype, node_shader_init_tex_sky);
node_type_storage(&ntype, "NodeTexSky", node_free_standard_storage, node_copy_standard_storage);
node_type_gpu(&ntype, node_shader_gpu_tex_sky);
+ /* remove Vector input for Nishita */
+ node_type_update(&ntype, node_shader_update_sky);
nodeRegisterType(&ntype);
}