[Bf-blender-cvs] [595d0339401] soc-2019-cycles-procedural: Refactor musgrave node
OmarSquircleArt
noreply at git.blender.org
Thu Jul 4 21:32:30 CEST 2019
Commit: 595d03394010faab6a3429850b11703f2b0dd261
Author: OmarSquircleArt
Date: Thu Jul 4 21:33:09 2019 +0200
Branches: soc-2019-cycles-procedural
https://developer.blender.org/rB595d03394010faab6a3429850b11703f2b0dd261
Refactor musgrave node
===================================================================
M source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c
===================================================================
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c
index 932ba96933f..c6384310356 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c
@@ -76,74 +76,50 @@ static int node_shader_gpu_tex_musgrave(GPUMaterial *mat,
int dimensions = tex->dimensions;
int type = tex->musgrave_type;
- switch (dimensions) {
- case 1: {
- switch (type) {
- case SHD_MUSGRAVE_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_multi_fractal_1d", in, out);
- case SHD_MUSGRAVE_FBM:
- return GPU_stack_link(mat, node, "node_tex_musgrave_fBm_1d", in, out);
- case SHD_MUSGRAVE_HYBRID_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_hybrid_multi_fractal_1d", in, out);
- case SHD_MUSGRAVE_RIDGED_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_ridged_multi_fractal_1d", in, out);
- case SHD_MUSGRAVE_HETERO_TERRAIN:
- return GPU_stack_link(mat, node, "node_tex_musgrave_hetero_terrain_1d", in, out);
- default:
- return 0;
- }
- }
- case 2: {
- switch (type) {
- case SHD_MUSGRAVE_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_multi_fractal_2d", in, out);
- case SHD_MUSGRAVE_FBM:
- return GPU_stack_link(mat, node, "node_tex_musgrave_fBm_2d", in, out);
- case SHD_MUSGRAVE_HYBRID_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_hybrid_multi_fractal_2d", in, out);
- case SHD_MUSGRAVE_RIDGED_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_ridged_multi_fractal_2d", in, out);
- case SHD_MUSGRAVE_HETERO_TERRAIN:
- return GPU_stack_link(mat, node, "node_tex_musgrave_hetero_terrain_2d", in, out);
- default:
- return 0;
- }
- }
- case 3: {
- switch (type) {
- case SHD_MUSGRAVE_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_multi_fractal_3d", in, out);
- case SHD_MUSGRAVE_FBM:
- return GPU_stack_link(mat, node, "node_tex_musgrave_fBm_3d", in, out);
- case SHD_MUSGRAVE_HYBRID_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_hybrid_multi_fractal_3d", in, out);
- case SHD_MUSGRAVE_RIDGED_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_ridged_multi_fractal_3d", in, out);
- case SHD_MUSGRAVE_HETERO_TERRAIN:
- return GPU_stack_link(mat, node, "node_tex_musgrave_hetero_terrain_3d", in, out);
- default:
- return 0;
- }
- }
- case 4: {
- switch (type) {
- case SHD_MUSGRAVE_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_multi_fractal_4d", in, out);
- case SHD_MUSGRAVE_FBM:
- return GPU_stack_link(mat, node, "node_tex_musgrave_fBm_4d", in, out);
- case SHD_MUSGRAVE_HYBRID_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_hybrid_multi_fractal_4d", in, out);
- case SHD_MUSGRAVE_RIDGED_MULTIFRACTAL:
- return GPU_stack_link(mat, node, "node_tex_musgrave_ridged_multi_fractal_4d", in, out);
- case SHD_MUSGRAVE_HETERO_TERRAIN:
- return GPU_stack_link(mat, node, "node_tex_musgrave_hetero_terrain_4d", in, out);
- default:
- return 0;
- }
- }
- default:
- return 0;
- }
+ static const char *names[][5] = {
+ [SHD_MUSGRAVE_MULTIFRACTAL] =
+ {
+ "",
+ "node_tex_musgrave_multi_fractal_1d",
+ "node_tex_musgrave_multi_fractal_2d",
+ "node_tex_musgrave_multi_fractal_3d",
+ "node_tex_musgrave_multi_fractal_4d",
+ },
+ [SHD_MUSGRAVE_FBM] =
+ {
+ "",
+ "node_tex_musgrave_fBm_1d",
+ "node_tex_musgrave_fBm_2d",
+ "node_tex_musgrave_fBm_3d",
+ "node_tex_musgrave_fBm_4d",
+ },
+ [SHD_MUSGRAVE_HYBRID_MULTIFRACTAL] =
+ {
+ "",
+ "node_tex_musgrave_hybrid_multi_fractal_1d",
+ "node_tex_musgrave_hybrid_multi_fractal_2d",
+ "node_tex_musgrave_hybrid_multi_fractal_3d",
+ "node_tex_musgrave_hybrid_multi_fractal_4d",
+ },
+ [SHD_MUSGRAVE_RIDGED_MULTIFRACTAL] =
+ {
+ "",
+ "node_tex_musgrave_ridged_multi_fractal_1d",
+ "node_tex_musgrave_ridged_multi_fractal_2d",
+ "node_tex_musgrave_ridged_multi_fractal_3d",
+ "node_tex_musgrave_ridged_multi_fractal_4d",
+ },
+ [SHD_MUSGRAVE_HETERO_TERRAIN] =
+ {
+ "",
+ "node_tex_musgrave_hetero_terrain_1d",
+ "node_tex_musgrave_hetero_terrain_2d",
+ "node_tex_musgrave_hetero_terrain_3d",
+ "node_tex_musgrave_hetero_terrain_4d",
+ },
+ };
+
+ return GPU_stack_link(mat, node, names[type][dimensions], in, out);
}
static void node_shader_update_tex_musgrave(bNodeTree *UNUSED(ntree), bNode *node)
More information about the Bf-blender-cvs
mailing list