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:
authorJacques Lucke <jacques@blender.org>2021-12-07 15:26:39 +0300
committerJacques Lucke <jacques@blender.org>2021-12-07 15:26:39 +0300
commit0f48b37aae0230119523a9718b331961bd989a78 (patch)
tree3cbbeb57645785ed0be60719dd16392c9cee595a
parentae5a89e80af78b85877a049d392a84553f2791aa (diff)
Revert moving all shader nodes to c++
This reverts to following commits: * rB5cad004d716da02f511bd34983ac7da820308676 * rB97e3a2d935ba9b21b127eda7ca104d4bcf4e48bd * rBf60b95b5320f8d6abe6a629fe8fc4f1b94d0d91c * rB0bd3cad04edf4bf9b9d3b1353f955534aa5e6740 * rBf72cc47d8edf849af98e196f721022bacf86a5e7 * rB3f7014ecc9d523997062eadd62888af5fc70a2b6 * rB0578921063fbb081239439062215f2538a31af4b * rBc20098e6ec6adee874a12e510aa4a56d89f92838 * rBd5efda72f501ad95679d7ac554086a1fb18c1ac0 The original move to c++ that the other commits depended upon had some issues that should be fixed before committing it again. The issues were reported in T93797, T93809 and T93798. We should also find a better rule for not using c-style casts going forward, although that wouldn't have been reason enough to revert the commits. Introducing something like a `MEM_new<T>` and `MEM_delete<T>` function might help with the the most common case of casting the return type of `MEM_malloc`. Going forward, I recommend first committing the changes that don't require converting files to c++. Then convert the shading node files in smaller chunks. Especially don't mix fairly low risk changes like moving some simple nodes, with higher risk changes.
-rw-r--r--source/blender/blenkernel/intern/node.cc2
-rw-r--r--source/blender/nodes/CMakeLists.txt98
-rw-r--r--source/blender/nodes/NOD_shader.h2
-rw-r--r--source/blender/nodes/NOD_socket_declarations.hh16
-rw-r--r--source/blender/nodes/composite/node_composite_tree.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_alphaOver.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_antialiasing.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_bilateralblur.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_blur.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_bokehblur.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_bokehimage.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_boxmask.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_brightness.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_channelMatte.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_chromaMatte.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorMatte.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorSpill.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorbalance.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorcorrection.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_common.cc5
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_composite.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_cornerpin.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_crop.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc8
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_curves.cc6
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_defocus.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_denoise.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_despeckle.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_diffMatte.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_dilate.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_directionalblur.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_displace.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_distanceMatte.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_ellipsemask.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_exposure.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_filter.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_flip.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_gamma.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_glare.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_hueSatVal.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_huecorrect.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_idMask.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_image.cc4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_inpaint.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_invert.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_keying.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_lensdist.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_levels.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_lummaMatte.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mapRange.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mapUV.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mapValue.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mask.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_math.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mixrgb.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_movieclip.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_moviedistortion.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_normal.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_normalize.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_outputFile.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_pixelate.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_posterize.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_premulkey.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_rgb.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_rotate.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_scale.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_setalpha.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_splitViewer.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_stabilize2d.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sunbeams.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_switch.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_switchview.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_texture.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_tonemap.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_trackpos.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_transform.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_translate.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_valToRgb.cc4
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_value.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_vecBlur.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_viewer.cc2
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_zcombine.cc2
-rw-r--r--source/blender/nodes/intern/node_socket_declarations.cc25
-rw-r--r--source/blender/nodes/shader/CMakeLists.txt171
-rw-r--r--source/blender/nodes/shader/node_shader_tree.c (renamed from source/blender/nodes/shader/node_shader_tree.cc)192
-rw-r--r--source/blender/nodes/shader/node_shader_util.cc2
-rw-r--r--source/blender/nodes/shader/node_shader_util.h (renamed from source/blender/nodes/shader/node_shader_util.hh)24
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_add_shader.c (renamed from source/blender/nodes/shader/nodes/node_shader_add_shader.cc)32
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.c (renamed from source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.cc)19
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_attribute.c (renamed from source/blender/nodes/shader/nodes/node_shader_attribute.cc)21
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_background.c (renamed from source/blender/nodes/shader/nodes/node_shader_background.cc)19
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bevel.c (renamed from source/blender/nodes/shader/nodes/node_shader_bevel.cc)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_blackbody.c (renamed from source/blender/nodes/shader/nodes/node_shader_blackbody.cc)22
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_brightness.c (renamed from source/blender/nodes/shader/nodes/node_shader_brightness.cc)19
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc)44
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc)34
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc)38
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc)38
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_hair.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc)46
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.cc)90
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_principled.cc)133
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.cc)36
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_toon.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_toon.cc)40
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.cc)32
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.cc)30
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c (renamed from source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.cc)38
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_bump.c (renamed from source/blender/nodes/shader/nodes/node_shader_bump.cc)17
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_camera.c (renamed from source/blender/nodes/shader/nodes/node_shader_camera.cc)17
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_clamp.cc20
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_combine_rgb.cc86
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_combine_xyz.cc67
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_common.c (renamed from source/blender/nodes/shader/nodes/node_shader_common.cc)69
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_curves.cc62
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_displacement.c (renamed from source/blender/nodes/shader/nodes/node_shader_displacement.cc)19
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_eevee_specular.c (renamed from source/blender/nodes/shader/nodes/node_shader_eevee_specular.cc)21
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_emission.c (renamed from source/blender/nodes/shader/nodes/node_shader_emission.cc)32
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_fresnel.c (renamed from source/blender/nodes/shader/nodes/node_shader_fresnel.cc)21
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_gamma.c (renamed from source/blender/nodes/shader/nodes/node_shader_gamma.cc)20
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_geometry.c (renamed from source/blender/nodes/shader/nodes/node_shader_geometry.cc)20
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_hair_info.c (renamed from source/blender/nodes/shader/nodes/node_shader_hair_info.cc)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_holdout.c (renamed from source/blender/nodes/shader/nodes/node_shader_holdout.cc)28
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_hueSatVal.c (renamed from source/blender/nodes/shader/nodes/node_shader_hueSatVal.cc)17
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_ies_light.c (renamed from source/blender/nodes/shader/nodes/node_shader_ies_light.cc)17
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_invert.c (renamed from source/blender/nodes/shader/nodes/node_shader_invert.cc)17
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_layer_weight.c (renamed from source/blender/nodes/shader/nodes/node_shader_layer_weight.cc)21
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_light_falloff.c (renamed from source/blender/nodes/shader/nodes/node_shader_light_falloff.cc)19
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_light_path.c (renamed from source/blender/nodes/shader/nodes/node_shader_light_path.cc)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_map_range.cc22
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_mapping.c (renamed from source/blender/nodes/shader/nodes/node_shader_mapping.cc)25
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_math.cc18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_mixRgb.cc (renamed from source/blender/nodes/shader/nodes/node_shader_mix_rgb.cc)20
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_mix_shader.c (renamed from source/blender/nodes/shader/nodes/node_shader_mix_shader.cc)34
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_normal.c (renamed from source/blender/nodes/shader/nodes/node_shader_normal.cc)17
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_normal_map.c (renamed from source/blender/nodes/shader/nodes/node_shader_normal_map.cc)32
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_object_info.c (renamed from source/blender/nodes/shader/nodes/node_shader_object_info.cc)14
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_output_aov.c (renamed from source/blender/nodes/shader/nodes/node_shader_output_aov.cc)19
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_output_light.c (renamed from source/blender/nodes/shader/nodes/node_shader_output_light.cc)16
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_output_linestyle.c (renamed from source/blender/nodes/shader/nodes/node_shader_output_linestyle.cc)14
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_output_material.c (renamed from source/blender/nodes/shader/nodes/node_shader_output_material.cc)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_output_world.c (renamed from source/blender/nodes/shader/nodes/node_shader_output_world.cc)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_particle_info.c (renamed from source/blender/nodes/shader/nodes/node_shader_particle_info.cc)17
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_rgb.c (renamed from source/blender/nodes/shader/nodes/node_shader_rgb.cc)15
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_rgb_to_bw.cc74
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_script.c (renamed from source/blender/nodes/shader/nodes/node_shader_script.cc)26
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_separate_hsv.cc75
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_sepcombHSV.c (renamed from source/blender/nodes/shader/nodes/node_shader_combine_hsv.cc)61
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_sepcombRGB.cc (renamed from source/blender/nodes/shader/nodes/node_shader_separate_rgb.cc)80
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc (renamed from source/blender/nodes/shader/nodes/node_shader_separate_xyz.cc)59
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_shaderToRgb.c (renamed from source/blender/nodes/shader/nodes/node_shader_shader_to_rgb.cc)19
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_squeeze.c (renamed from source/blender/nodes/shader/nodes/node_shader_squeeze.cc)19
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c (renamed from source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.cc)57
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tangent.c (renamed from source/blender/nodes/shader/nodes/node_shader_tangent.cc)21
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_brick.cc22
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_checker.cc22
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_coord.c (renamed from source/blender/nodes/shader/nodes/node_shader_tex_coord.cc)27
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_environment.c (renamed from source/blender/nodes/shader/nodes/node_shader_tex_environment.cc)24
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_gradient.cc22
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_image.cc18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_magic.cc22
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_musgrave.cc24
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_noise.cc24
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_pointdensity.c (renamed from source/blender/nodes/shader/nodes/node_shader_tex_pointdensity.cc)27
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_sky.c (renamed from source/blender/nodes/shader/nodes/node_shader_tex_sky.cc)24
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_voronoi.cc24
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_wave.cc22
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_tex_white_noise.cc24
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_uvAlongStroke.c (renamed from source/blender/nodes/shader/nodes/node_shader_uv_along_stroke.cc)14
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_uvmap.c (renamed from source/blender/nodes/shader/nodes/node_shader_uvmap.cc)21
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_valToRgb.cc (renamed from source/blender/nodes/shader/nodes/node_shader_color_ramp.cc)102
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_value.cc18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_vectTransform.c (renamed from source/blender/nodes/shader/nodes/node_shader_vector_transform.cc)34
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_vector_displacement.c (renamed from source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_vector_math.cc20
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_vector_rotate.cc20
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_vertex_color.c (renamed from source/blender/nodes/shader/nodes/node_shader_vertex_color.cc)20
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_volume_absorption.c (renamed from source/blender/nodes/shader/nodes/node_shader_volume_absorption.cc)32
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_volume_info.c (renamed from source/blender/nodes/shader/nodes/node_shader_volume_info.cc)14
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_volume_principled.c (renamed from source/blender/nodes/shader/nodes/node_shader_volume_principled.cc)62
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_volume_scatter.c (renamed from source/blender/nodes/shader/nodes/node_shader_volume_scatter.cc)34
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_wavelength.c (renamed from source/blender/nodes/shader/nodes/node_shader_wavelength.cc)22
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_wireframe.c (renamed from source/blender/nodes/shader/nodes/node_shader_wireframe.cc)20
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_bricks.c1
-rw-r--r--source/blender/render/RE_texture.h2
190 files changed, 1526 insertions, 2146 deletions
diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc
index 7dce57a2773..14ba87d51eb 100644
--- a/source/blender/blenkernel/intern/node.cc
+++ b/source/blender/blenkernel/intern/node.cc
@@ -5592,7 +5592,7 @@ static void registerShaderNodes()
register_node_type_sh_wavelength();
register_node_type_sh_blackbody();
register_node_type_sh_mix_rgb();
- register_node_type_sh_color_ramp();
+ register_node_type_sh_valtorgb();
register_node_type_sh_rgbtobw();
register_node_type_sh_shadertorgb();
register_node_type_sh_normal();
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index da3e0c837a2..c8a14f25f21 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -19,7 +19,6 @@
# ***** END GPL LICENSE BLOCK *****
add_subdirectory(geometry)
-add_subdirectory(shader)
set(INC
.
@@ -158,6 +157,99 @@ set(SRC
function/nodes/node_fn_value_to_string.cc
function/node_function_util.cc
+ shader/nodes/node_shader_add_shader.c
+ shader/nodes/node_shader_ambient_occlusion.c
+ shader/nodes/node_shader_attribute.c
+ shader/nodes/node_shader_background.c
+ shader/nodes/node_shader_bevel.c
+ shader/nodes/node_shader_blackbody.c
+ shader/nodes/node_shader_brightness.c
+ shader/nodes/node_shader_bsdf_anisotropic.c
+ shader/nodes/node_shader_bsdf_diffuse.c
+ shader/nodes/node_shader_bsdf_glass.c
+ shader/nodes/node_shader_bsdf_glossy.c
+ shader/nodes/node_shader_bsdf_hair.c
+ shader/nodes/node_shader_bsdf_hair_principled.c
+ shader/nodes/node_shader_bsdf_principled.c
+ shader/nodes/node_shader_bsdf_refraction.c
+ shader/nodes/node_shader_bsdf_toon.c
+ shader/nodes/node_shader_bsdf_translucent.c
+ shader/nodes/node_shader_bsdf_transparent.c
+ shader/nodes/node_shader_bsdf_velvet.c
+ shader/nodes/node_shader_bump.c
+ shader/nodes/node_shader_camera.c
+ shader/nodes/node_shader_clamp.cc
+ shader/nodes/node_shader_common.c
+ shader/nodes/node_shader_curves.cc
+ shader/nodes/node_shader_displacement.c
+ shader/nodes/node_shader_eevee_specular.c
+ shader/nodes/node_shader_emission.c
+ shader/nodes/node_shader_fresnel.c
+ shader/nodes/node_shader_gamma.c
+ shader/nodes/node_shader_geometry.c
+ shader/nodes/node_shader_hair_info.c
+ shader/nodes/node_shader_holdout.c
+ shader/nodes/node_shader_hueSatVal.c
+ shader/nodes/node_shader_ies_light.c
+ shader/nodes/node_shader_invert.c
+ shader/nodes/node_shader_layer_weight.c
+ shader/nodes/node_shader_light_falloff.c
+ shader/nodes/node_shader_light_path.c
+ shader/nodes/node_shader_map_range.cc
+ shader/nodes/node_shader_mapping.c
+ shader/nodes/node_shader_math.cc
+ shader/nodes/node_shader_mixRgb.cc
+ shader/nodes/node_shader_mix_shader.c
+ shader/nodes/node_shader_normal.c
+ shader/nodes/node_shader_normal_map.c
+ shader/nodes/node_shader_object_info.c
+ shader/nodes/node_shader_output_aov.c
+ shader/nodes/node_shader_output_light.c
+ shader/nodes/node_shader_output_linestyle.c
+ shader/nodes/node_shader_output_material.c
+ shader/nodes/node_shader_output_world.c
+ shader/nodes/node_shader_particle_info.c
+ shader/nodes/node_shader_rgb.c
+ shader/nodes/node_shader_script.c
+ shader/nodes/node_shader_sepcombHSV.c
+ shader/nodes/node_shader_sepcombRGB.cc
+ shader/nodes/node_shader_sepcombXYZ.cc
+ shader/nodes/node_shader_shaderToRgb.c
+ shader/nodes/node_shader_squeeze.c
+ shader/nodes/node_shader_subsurface_scattering.c
+ shader/nodes/node_shader_tangent.c
+ shader/nodes/node_shader_tex_brick.cc
+ shader/nodes/node_shader_tex_checker.cc
+ shader/nodes/node_shader_tex_coord.c
+ shader/nodes/node_shader_tex_environment.c
+ shader/nodes/node_shader_tex_gradient.cc
+ shader/nodes/node_shader_tex_image.cc
+ shader/nodes/node_shader_tex_magic.cc
+ shader/nodes/node_shader_tex_musgrave.cc
+ shader/nodes/node_shader_tex_noise.cc
+ shader/nodes/node_shader_tex_pointdensity.c
+ shader/nodes/node_shader_tex_sky.c
+ shader/nodes/node_shader_tex_voronoi.cc
+ shader/nodes/node_shader_tex_wave.cc
+ shader/nodes/node_shader_tex_white_noise.cc
+ shader/nodes/node_shader_uvAlongStroke.c
+ shader/nodes/node_shader_uvmap.c
+ shader/nodes/node_shader_valToRgb.cc
+ shader/nodes/node_shader_value.cc
+ shader/nodes/node_shader_vectTransform.c
+ shader/nodes/node_shader_vector_displacement.c
+ shader/nodes/node_shader_vector_math.cc
+ shader/nodes/node_shader_vector_rotate.cc
+ shader/nodes/node_shader_vertex_color.c
+ shader/nodes/node_shader_volume_absorption.c
+ shader/nodes/node_shader_volume_info.c
+ shader/nodes/node_shader_volume_principled.c
+ shader/nodes/node_shader_volume_scatter.c
+ shader/nodes/node_shader_wavelength.c
+ shader/nodes/node_shader_wireframe.c
+ shader/node_shader_tree.c
+ shader/node_shader_util.cc
+
texture/nodes/node_texture_at.c
texture/nodes/node_texture_bricks.c
texture/nodes/node_texture_checker.c
@@ -200,7 +292,7 @@ set(SRC
composite/node_composite_util.hh
function/node_function_util.hh
- shader/node_shader_util.hh
+ shader/node_shader_util.h
texture/node_texture_util.h
NOD_common.h
@@ -229,8 +321,8 @@ set(SRC
set(LIB
bf_bmesh
bf_functions
+ bf_intern_sky
bf_nodes_geometry
- bf_nodes_shader
)
if(WITH_BULLET)
diff --git a/source/blender/nodes/NOD_shader.h b/source/blender/nodes/NOD_shader.h
index 74933e69ab2..76c174201e8 100644
--- a/source/blender/nodes/NOD_shader.h
+++ b/source/blender/nodes/NOD_shader.h
@@ -42,7 +42,7 @@ void register_node_type_sh_camera(void);
void register_node_type_sh_value(void);
void register_node_type_sh_rgb(void);
void register_node_type_sh_mix_rgb(void);
-void register_node_type_sh_color_ramp(void);
+void register_node_type_sh_valtorgb(void);
void register_node_type_sh_rgbtobw(void);
void register_node_type_sh_shadertorgb(void);
void register_node_type_sh_normal(void);
diff --git a/source/blender/nodes/NOD_socket_declarations.hh b/source/blender/nodes/NOD_socket_declarations.hh
index 1b78a09d6a8..89bc198f97e 100644
--- a/source/blender/nodes/NOD_socket_declarations.hh
+++ b/source/blender/nodes/NOD_socket_declarations.hh
@@ -213,22 +213,6 @@ class Image : public IDSocketDeclaration {
Image();
};
-class ShaderBuilder;
-
-class Shader : public SocketDeclaration {
- private:
- friend ShaderBuilder;
-
- public:
- using Builder = ShaderBuilder;
-
- bNodeSocket &build(bNodeTree &ntree, bNode &node, eNodeSocketInOut in_out) const override;
- bool matches(const bNodeSocket &socket) const override;
-};
-
-class ShaderBuilder : public SocketDeclarationBuilder<Shader> {
-};
-
/* -------------------------------------------------------------------- */
/** \name #FloatBuilder Inline Methods
* \{ */
diff --git a/source/blender/nodes/composite/node_composite_tree.cc b/source/blender/nodes/composite/node_composite_tree.cc
index 1326c9edab1..a9adc01661f 100644
--- a/source/blender/nodes/composite/node_composite_tree.cc
+++ b/source/blender/nodes/composite/node_composite_tree.cc
@@ -212,7 +212,7 @@ static bool composite_node_tree_socket_type_valid(bNodeTreeType *UNUSED(ntreetyp
bNodeTreeType *ntreeType_Composite;
-void register_node_tree_type_cmp()
+void register_node_tree_type_cmp(void)
{
bNodeTreeType *tt = ntreeType_Composite = (bNodeTreeType *)MEM_callocN(
sizeof(bNodeTreeType), "compositor node tree type");
diff --git a/source/blender/nodes/composite/nodes/node_composite_alphaOver.cc b/source/blender/nodes/composite/nodes/node_composite_alphaOver.cc
index b971b26aa6f..262333055d7 100644
--- a/source/blender/nodes/composite/nodes/node_composite_alphaOver.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_alphaOver.cc
@@ -42,7 +42,7 @@ static void node_alphaover_init(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = MEM_callocN(sizeof(NodeTwoFloats), "NodeTwoFloats");
}
-void register_node_type_cmp_alphaover()
+void register_node_type_cmp_alphaover(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_antialiasing.cc b/source/blender/nodes/composite/nodes/node_composite_antialiasing.cc
index a498033733f..6adba7ee3bf 100644
--- a/source/blender/nodes/composite/nodes/node_composite_antialiasing.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_antialiasing.cc
@@ -49,7 +49,7 @@ static void node_composit_init_antialiasing(bNodeTree *UNUSED(ntree), bNode *nod
node->storage = data;
}
-void register_node_type_cmp_antialiasing()
+void register_node_type_cmp_antialiasing(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_bilateralblur.cc b/source/blender/nodes/composite/nodes/node_composite_bilateralblur.cc
index 7ec28fba460..3b1171ea11d 100644
--- a/source/blender/nodes/composite/nodes/node_composite_bilateralblur.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_bilateralblur.cc
@@ -46,7 +46,7 @@ static void node_composit_init_bilateralblur(bNodeTree *UNUSED(ntree), bNode *no
nbbd->sigma_space = 5.0;
}
-void register_node_type_cmp_bilateralblur()
+void register_node_type_cmp_bilateralblur(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_blur.cc b/source/blender/nodes/composite/nodes/node_composite_blur.cc
index 274c2567749..5cc19416471 100644
--- a/source/blender/nodes/composite/nodes/node_composite_blur.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_blur.cc
@@ -44,7 +44,7 @@ static void node_composit_init_blur(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
-void register_node_type_cmp_blur()
+void register_node_type_cmp_blur(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_bokehblur.cc b/source/blender/nodes/composite/nodes/node_composite_bokehblur.cc
index b5f3f7c9a1e..9099cae37f1 100644
--- a/source/blender/nodes/composite/nodes/node_composite_bokehblur.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_bokehblur.cc
@@ -45,7 +45,7 @@ static void node_composit_init_bokehblur(bNodeTree *UNUSED(ntree), bNode *node)
node->custom4 = 16.0f;
}
-void register_node_type_cmp_bokehblur()
+void register_node_type_cmp_bokehblur(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_bokehimage.cc b/source/blender/nodes/composite/nodes/node_composite_bokehimage.cc
index ad4cbb47a77..3f8a7606d94 100644
--- a/source/blender/nodes/composite/nodes/node_composite_bokehimage.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_bokehimage.cc
@@ -45,7 +45,7 @@ static void node_composit_init_bokehimage(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
-void register_node_type_cmp_bokehimage()
+void register_node_type_cmp_bokehimage(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_boxmask.cc b/source/blender/nodes/composite/nodes/node_composite_boxmask.cc
index e423bd051fe..b4d2a4dba2a 100644
--- a/source/blender/nodes/composite/nodes/node_composite_boxmask.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_boxmask.cc
@@ -47,7 +47,7 @@ static void node_composit_init_boxmask(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
-void register_node_type_cmp_boxmask()
+void register_node_type_cmp_boxmask(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_brightness.cc b/source/blender/nodes/composite/nodes/node_composite_brightness.cc
index 69af3fdca10..028afad3cf8 100644
--- a/source/blender/nodes/composite/nodes/node_composite_brightness.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_brightness.cc
@@ -42,7 +42,7 @@ static void node_composit_init_brightcontrast(bNodeTree *UNUSED(ntree), bNode *n
node->custom1 = 1;
}
-void register_node_type_cmp_brightcontrast()
+void register_node_type_cmp_brightcontrast(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_channelMatte.cc b/source/blender/nodes/composite/nodes/node_composite_channelMatte.cc
index ec569a27bf8..3d3ed90b198 100644
--- a/source/blender/nodes/composite/nodes/node_composite_channelMatte.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_channelMatte.cc
@@ -51,7 +51,7 @@ static void node_composit_init_channel_matte(bNodeTree *UNUSED(ntree), bNode *no
node->custom2 = 2; /* Green Channel. */
}
-void register_node_type_cmp_channel_matte()
+void register_node_type_cmp_channel_matte(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_chromaMatte.cc b/source/blender/nodes/composite/nodes/node_composite_chromaMatte.cc
index 02e2a24989b..e3a79763cf3 100644
--- a/source/blender/nodes/composite/nodes/node_composite_chromaMatte.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_chromaMatte.cc
@@ -48,7 +48,7 @@ static void node_composit_init_chroma_matte(bNodeTree *UNUSED(ntree), bNode *nod
c->fstrength = 1.0f;
}
-void register_node_type_cmp_chroma_matte()
+void register_node_type_cmp_chroma_matte(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_colorMatte.cc b/source/blender/nodes/composite/nodes/node_composite_colorMatte.cc
index 564e9dbbff4..33a50e35514 100644
--- a/source/blender/nodes/composite/nodes/node_composite_colorMatte.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_colorMatte.cc
@@ -48,7 +48,7 @@ static void node_composit_init_color_matte(bNodeTree *UNUSED(ntree), bNode *node
c->fstrength = 1.0f;
}
-void register_node_type_cmp_color_matte()
+void register_node_type_cmp_color_matte(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_colorSpill.cc b/source/blender/nodes/composite/nodes/node_composite_colorSpill.cc
index 2e5735414bd..ad1679bb671 100644
--- a/source/blender/nodes/composite/nodes/node_composite_colorSpill.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_colorSpill.cc
@@ -47,7 +47,7 @@ static void node_composit_init_color_spill(bNodeTree *UNUSED(ntree), bNode *node
ncs->unspill = 0; /* do not use unspill */
}
-void register_node_type_cmp_color_spill()
+void register_node_type_cmp_color_spill(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_colorbalance.cc b/source/blender/nodes/composite/nodes/node_composite_colorbalance.cc
index 2e39a6e1ebe..ef8af5f81a6 100644
--- a/source/blender/nodes/composite/nodes/node_composite_colorbalance.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_colorbalance.cc
@@ -80,7 +80,7 @@ static void node_composit_init_colorbalance(bNodeTree *UNUSED(ntree), bNode *nod
node->storage = n;
}
-void register_node_type_cmp_colorbalance()
+void register_node_type_cmp_colorbalance(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_colorcorrection.cc b/source/blender/nodes/composite/nodes/node_composite_colorcorrection.cc
index 32f4a7dc1ae..095fbef826a 100644
--- a/source/blender/nodes/composite/nodes/node_composite_colorcorrection.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_colorcorrection.cc
@@ -66,7 +66,7 @@ static void node_composit_init_colorcorrection(bNodeTree *UNUSED(ntree), bNode *
node->storage = n;
}
-void register_node_type_cmp_colorcorrection()
+void register_node_type_cmp_colorcorrection(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_common.cc b/source/blender/nodes/composite/nodes/node_composite_common.cc
index f76ab765a51..35e1e124ae5 100644
--- a/source/blender/nodes/composite/nodes/node_composite_common.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_common.cc
@@ -32,13 +32,14 @@
#include "RNA_access.h"
-void register_node_type_cmp_group()
+void register_node_type_cmp_group(void)
{
static bNodeType ntype;
/* NOTE: Cannot use sh_node_type_base for node group, because it would map the node type
* to the shared NODE_GROUP integer type id. */
- node_type_base_custom(&ntype, "CompositorNodeGroup", "Group", NODE_CLASS_GROUP, 0);
+ node_type_base_custom(
+ &ntype, "CompositorNodeGroup", "Group", NODE_CLASS_GROUP, 0);
ntype.type = NODE_GROUP;
ntype.poll = cmp_node_poll_default;
ntype.poll_instance = node_group_poll_instance;
diff --git a/source/blender/nodes/composite/nodes/node_composite_composite.cc b/source/blender/nodes/composite/nodes/node_composite_composite.cc
index d4558d717e8..a1a49133a3a 100644
--- a/source/blender/nodes/composite/nodes/node_composite_composite.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_composite.cc
@@ -36,7 +36,7 @@ static void cmp_node_composite_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_composite()
+void register_node_type_cmp_composite(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_cornerpin.cc b/source/blender/nodes/composite/nodes/node_composite_cornerpin.cc
index 2e7a87a576d..806fa631fb8 100644
--- a/source/blender/nodes/composite/nodes/node_composite_cornerpin.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_cornerpin.cc
@@ -50,7 +50,7 @@ static void cmp_node_cornerpin_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_cornerpin()
+void register_node_type_cmp_cornerpin(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_crop.cc b/source/blender/nodes/composite/nodes/node_composite_crop.cc
index 73c4eb85259..622d5c52612 100644
--- a/source/blender/nodes/composite/nodes/node_composite_crop.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_crop.cc
@@ -45,7 +45,7 @@ static void node_composit_init_crop(bNodeTree *UNUSED(ntree), bNode *node)
nxy->y2 = 0;
}
-void register_node_type_cmp_crop()
+void register_node_type_cmp_crop(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc b/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc
index 446a43b638d..39fc86e837b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_cryptomatte.cc
@@ -297,8 +297,8 @@ static bool node_poll_cryptomatte(bNodeType *UNUSED(ntype),
}
if (scene == nullptr) {
- *r_disabled_hint = TIP_(
- "The node tree must be the compositing node tree of any scene in the file");
+ *r_disabled_hint =
+ TIP_("The node tree must be the compositing node tree of any scene in the file");
}
return scene != nullptr;
}
@@ -306,7 +306,7 @@ static bool node_poll_cryptomatte(bNodeType *UNUSED(ntype),
return false;
}
-void register_node_type_cmp_cryptomatte()
+void register_node_type_cmp_cryptomatte(void)
{
static bNodeType ntype;
@@ -361,7 +361,7 @@ int ntreeCompositCryptomatteRemoveSocket(bNodeTree *ntree, bNode *node)
return 1;
}
-void register_node_type_cmp_cryptomatte_legacy()
+void register_node_type_cmp_cryptomatte_legacy(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_curves.cc b/source/blender/nodes/composite/nodes/node_composite_curves.cc
index 53d721ce616..0e3ed53e129 100644
--- a/source/blender/nodes/composite/nodes/node_composite_curves.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_curves.cc
@@ -42,7 +42,7 @@ static void node_composit_init_curves_time(bNodeTree *UNUSED(ntree), bNode *node
node->storage = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
}
-void register_node_type_cmp_curve_time()
+void register_node_type_cmp_curve_time(void)
{
static bNodeType ntype;
@@ -72,7 +72,7 @@ static void node_composit_init_curve_vec(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = BKE_curvemapping_add(3, -1.0f, -1.0f, 1.0f, 1.0f);
}
-void register_node_type_cmp_curve_vec()
+void register_node_type_cmp_curve_vec(void)
{
static bNodeType ntype;
@@ -106,7 +106,7 @@ static void node_composit_init_curve_rgb(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = BKE_curvemapping_add(4, 0.0f, 0.0f, 1.0f, 1.0f);
}
-void register_node_type_cmp_curve_rgb()
+void register_node_type_cmp_curve_rgb(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_defocus.cc b/source/blender/nodes/composite/nodes/node_composite_defocus.cc
index 1d8a02e463c..ac4c209a74b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_defocus.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_defocus.cc
@@ -55,7 +55,7 @@ static void node_composit_init_defocus(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = nbd;
}
-void register_node_type_cmp_defocus()
+void register_node_type_cmp_defocus(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_denoise.cc b/source/blender/nodes/composite/nodes/node_composite_denoise.cc
index 2c07dbb3d81..cce33debf22 100644
--- a/source/blender/nodes/composite/nodes/node_composite_denoise.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_denoise.cc
@@ -49,7 +49,7 @@ static void node_composit_init_denonise(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = ndg;
}
-void register_node_type_cmp_denoise()
+void register_node_type_cmp_denoise(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_despeckle.cc b/source/blender/nodes/composite/nodes/node_composite_despeckle.cc
index 070c38feaa8..51a4b0653b3 100644
--- a/source/blender/nodes/composite/nodes/node_composite_despeckle.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_despeckle.cc
@@ -42,7 +42,7 @@ static void node_composit_init_despeckle(bNodeTree *UNUSED(ntree), bNode *node)
node->custom4 = 0.5f;
}
-void register_node_type_cmp_despeckle()
+void register_node_type_cmp_despeckle(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_diffMatte.cc b/source/blender/nodes/composite/nodes/node_composite_diffMatte.cc
index bfec3dadd09..9e3ecf9ebb5 100644
--- a/source/blender/nodes/composite/nodes/node_composite_diffMatte.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_diffMatte.cc
@@ -45,7 +45,7 @@ static void node_composit_init_diff_matte(bNodeTree *UNUSED(ntree), bNode *node)
c->t2 = 0.1f;
}
-void register_node_type_cmp_diff_matte()
+void register_node_type_cmp_diff_matte(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_dilate.cc b/source/blender/nodes/composite/nodes/node_composite_dilate.cc
index 14e618435d1..4953e26c21f 100644
--- a/source/blender/nodes/composite/nodes/node_composite_dilate.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_dilate.cc
@@ -43,7 +43,7 @@ static void node_composit_init_dilateerode(bNodeTree *UNUSED(ntree), bNode *node
node->storage = data;
}
-void register_node_type_cmp_dilateerode()
+void register_node_type_cmp_dilateerode(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_directionalblur.cc b/source/blender/nodes/composite/nodes/node_composite_directionalblur.cc
index cbc2484ceb8..4250938aa44 100644
--- a/source/blender/nodes/composite/nodes/node_composite_directionalblur.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_directionalblur.cc
@@ -42,7 +42,7 @@ static void node_composit_init_dblur(bNodeTree *UNUSED(ntree), bNode *node)
ndbd->center_y = 0.5;
}
-void register_node_type_cmp_dblur()
+void register_node_type_cmp_dblur(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_displace.cc b/source/blender/nodes/composite/nodes/node_composite_displace.cc
index 0137c1f7da8..90db3fbcb8e 100644
--- a/source/blender/nodes/composite/nodes/node_composite_displace.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_displace.cc
@@ -42,7 +42,7 @@ static void cmp_node_displace_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_displace()
+void register_node_type_cmp_displace(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_distanceMatte.cc b/source/blender/nodes/composite/nodes/node_composite_distanceMatte.cc
index 302170081bb..8c85b488c2c 100644
--- a/source/blender/nodes/composite/nodes/node_composite_distanceMatte.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_distanceMatte.cc
@@ -46,7 +46,7 @@ static void node_composit_init_distance_matte(bNodeTree *UNUSED(ntree), bNode *n
c->t2 = 0.1f;
}
-void register_node_type_cmp_distance_matte()
+void register_node_type_cmp_distance_matte(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.cc b/source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.cc
index ce4532366a3..2b572c35372 100644
--- a/source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_doubleEdgeMask.cc
@@ -35,7 +35,7 @@ static void cmp_node_double_edge_mask_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_doubleedgemask()
+void register_node_type_cmp_doubleedgemask(void)
{
static bNodeType ntype; /* Allocate a node type data structure. */
diff --git a/source/blender/nodes/composite/nodes/node_composite_ellipsemask.cc b/source/blender/nodes/composite/nodes/node_composite_ellipsemask.cc
index 5f49357107c..6ab5450c7e8 100644
--- a/source/blender/nodes/composite/nodes/node_composite_ellipsemask.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_ellipsemask.cc
@@ -48,7 +48,7 @@ static void node_composit_init_ellipsemask(bNodeTree *UNUSED(ntree), bNode *node
node->storage = data;
}
-void register_node_type_cmp_ellipsemask()
+void register_node_type_cmp_ellipsemask(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_exposure.cc b/source/blender/nodes/composite/nodes/node_composite_exposure.cc
index b696db41a3c..c1e64065f7e 100644
--- a/source/blender/nodes/composite/nodes/node_composite_exposure.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_exposure.cc
@@ -36,7 +36,7 @@ static void cmp_node_exposure_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_exposure()
+void register_node_type_cmp_exposure(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_filter.cc b/source/blender/nodes/composite/nodes/node_composite_filter.cc
index 72510387b6a..d5d2be295b8 100644
--- a/source/blender/nodes/composite/nodes/node_composite_filter.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_filter.cc
@@ -36,7 +36,7 @@ static void cmp_node_filter_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_filter()
+void register_node_type_cmp_filter(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_flip.cc b/source/blender/nodes/composite/nodes/node_composite_flip.cc
index 95a00dd58da..d663aff24d1 100644
--- a/source/blender/nodes/composite/nodes/node_composite_flip.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_flip.cc
@@ -35,7 +35,7 @@ static void cmp_node_flip_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_flip()
+void register_node_type_cmp_flip(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_gamma.cc b/source/blender/nodes/composite/nodes/node_composite_gamma.cc
index 438770865ae..74152a27485 100644
--- a/source/blender/nodes/composite/nodes/node_composite_gamma.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_gamma.cc
@@ -40,7 +40,7 @@ static void cmp_node_gamma_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_gamma()
+void register_node_type_cmp_gamma(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_glare.cc b/source/blender/nodes/composite/nodes/node_composite_glare.cc
index d3a5fff0b68..2500a129e6f 100644
--- a/source/blender/nodes/composite/nodes/node_composite_glare.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_glare.cc
@@ -50,7 +50,7 @@ static void node_composit_init_glare(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = ndg;
}
-void register_node_type_cmp_glare()
+void register_node_type_cmp_glare(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_hueSatVal.cc b/source/blender/nodes/composite/nodes/node_composite_hueSatVal.cc
index 47fbaa4d384..21430035465 100644
--- a/source/blender/nodes/composite/nodes/node_composite_hueSatVal.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_hueSatVal.cc
@@ -47,7 +47,7 @@ static void cmp_node_huesatval_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_hue_sat()
+void register_node_type_cmp_hue_sat(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_huecorrect.cc b/source/blender/nodes/composite/nodes/node_composite_huecorrect.cc
index e78ba0c7f9c..83743bbed18 100644
--- a/source/blender/nodes/composite/nodes/node_composite_huecorrect.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_huecorrect.cc
@@ -51,7 +51,7 @@ static void node_composit_init_huecorrect(bNodeTree *UNUSED(ntree), bNode *node)
cumapping->cur = 1;
}
-void register_node_type_cmp_huecorrect()
+void register_node_type_cmp_huecorrect(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_idMask.cc b/source/blender/nodes/composite/nodes/node_composite_idMask.cc
index be7d4e22aba..5121370567c 100644
--- a/source/blender/nodes/composite/nodes/node_composite_idMask.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_idMask.cc
@@ -35,7 +35,7 @@ static void cmp_node_idmask_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_idmask()
+void register_node_type_cmp_idmask(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_image.cc b/source/blender/nodes/composite/nodes/node_composite_image.cc
index ed76aa50527..4b53010db30 100644
--- a/source/blender/nodes/composite/nodes/node_composite_image.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_image.cc
@@ -443,7 +443,7 @@ static void node_composit_copy_image(bNodeTree *UNUSED(dest_ntree),
}
}
-void register_node_type_cmp_image()
+void register_node_type_cmp_image(void)
{
static bNodeType ntype;
@@ -555,7 +555,7 @@ static void cmp_node_rlayers_update(bNodeTree *ntree, bNode *node)
cmp_node_update_default(ntree, node);
}
-void register_node_type_cmp_rlayers()
+void register_node_type_cmp_rlayers(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_inpaint.cc b/source/blender/nodes/composite/nodes/node_composite_inpaint.cc
index c7674263b68..5c043fbe878 100644
--- a/source/blender/nodes/composite/nodes/node_composite_inpaint.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_inpaint.cc
@@ -35,7 +35,7 @@ static void cmp_node_inpaint_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_inpaint()
+void register_node_type_cmp_inpaint(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_invert.cc b/source/blender/nodes/composite/nodes/node_composite_invert.cc
index caf28d24b44..dabf0452628 100644
--- a/source/blender/nodes/composite/nodes/node_composite_invert.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_invert.cc
@@ -42,7 +42,7 @@ static void node_composit_init_invert(bNodeTree *UNUSED(ntree), bNode *node)
}
/* custom1 = mix type */
-void register_node_type_cmp_invert()
+void register_node_type_cmp_invert(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_keying.cc b/source/blender/nodes/composite/nodes/node_composite_keying.cc
index 6286c61b292..07826cfa492 100644
--- a/source/blender/nodes/composite/nodes/node_composite_keying.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_keying.cc
@@ -60,7 +60,7 @@ static void node_composit_init_keying(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
-void register_node_type_cmp_keying()
+void register_node_type_cmp_keying(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc b/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc
index f0423497bed..c8001ec9c60 100644
--- a/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_keyingscreen.cc
@@ -46,7 +46,7 @@ static void node_composit_init_keyingscreen(bNodeTree *UNUSED(ntree), bNode *nod
node->storage = data;
}
-void register_node_type_cmp_keyingscreen()
+void register_node_type_cmp_keyingscreen(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_lensdist.cc b/source/blender/nodes/composite/nodes/node_composite_lensdist.cc
index bd52328db0f..1ea6d45df5b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_lensdist.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_lensdist.cc
@@ -42,7 +42,7 @@ static void node_composit_init_lensdist(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = nld;
}
-void register_node_type_cmp_lensdist()
+void register_node_type_cmp_lensdist(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_levels.cc b/source/blender/nodes/composite/nodes/node_composite_levels.cc
index c36e0153991..54064f24e0d 100644
--- a/source/blender/nodes/composite/nodes/node_composite_levels.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_levels.cc
@@ -41,7 +41,7 @@ static void node_composit_init_view_levels(bNodeTree *UNUSED(ntree), bNode *node
node->custom1 = 1; /* All channels. */
}
-void register_node_type_cmp_view_levels()
+void register_node_type_cmp_view_levels(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_lummaMatte.cc b/source/blender/nodes/composite/nodes/node_composite_lummaMatte.cc
index c951dfbcf37..c73b7883e4b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_lummaMatte.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_lummaMatte.cc
@@ -44,7 +44,7 @@ static void node_composit_init_luma_matte(bNodeTree *UNUSED(ntree), bNode *node)
c->t2 = 0.0f;
}
-void register_node_type_cmp_luma_matte()
+void register_node_type_cmp_luma_matte(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_mapRange.cc b/source/blender/nodes/composite/nodes/node_composite_mapRange.cc
index 8eefc9beb18..b21a9203bd1 100644
--- a/source/blender/nodes/composite/nodes/node_composite_mapRange.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_mapRange.cc
@@ -39,7 +39,7 @@ static void cmp_node_map_range_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_map_range()
+void register_node_type_cmp_map_range(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_mapUV.cc b/source/blender/nodes/composite/nodes/node_composite_mapUV.cc
index 80e4db4bdf0..893710c183d 100644
--- a/source/blender/nodes/composite/nodes/node_composite_mapUV.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_mapUV.cc
@@ -36,7 +36,7 @@ static void cmp_node_map_uv_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_mapuv()
+void register_node_type_cmp_mapuv(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_mapValue.cc b/source/blender/nodes/composite/nodes/node_composite_mapValue.cc
index 1b34f987168..8e2c9add414 100644
--- a/source/blender/nodes/composite/nodes/node_composite_mapValue.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_mapValue.cc
@@ -40,7 +40,7 @@ static void node_composit_init_map_value(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = BKE_texture_mapping_add(TEXMAP_TYPE_POINT);
}
-void register_node_type_cmp_map_value()
+void register_node_type_cmp_map_value(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_mask.cc b/source/blender/nodes/composite/nodes/node_composite_mask.cc
index 0c6f70a3837..6428fadaa5f 100644
--- a/source/blender/nodes/composite/nodes/node_composite_mask.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_mask.cc
@@ -56,7 +56,7 @@ static void node_mask_label(bNodeTree *UNUSED(ntree), bNode *node, char *label,
}
}
-void register_node_type_cmp_mask()
+void register_node_type_cmp_mask(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_math.cc b/source/blender/nodes/composite/nodes/node_composite_math.cc
index e6e4531dd2e..6657d13ce02 100644
--- a/source/blender/nodes/composite/nodes/node_composite_math.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_math.cc
@@ -43,7 +43,7 @@ static void cmp_node_math_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_math()
+void register_node_type_cmp_math(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_mixrgb.cc b/source/blender/nodes/composite/nodes/node_composite_mixrgb.cc
index cbfa3509c2b..4f1da66c7e0 100644
--- a/source/blender/nodes/composite/nodes/node_composite_mixrgb.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_mixrgb.cc
@@ -38,7 +38,7 @@ static void cmp_node_mixrgb_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
/* custom1 = mix type */
-void register_node_type_cmp_mix_rgb()
+void register_node_type_cmp_mix_rgb(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_movieclip.cc b/source/blender/nodes/composite/nodes/node_composite_movieclip.cc
index 0d44671897b..5d63a1b8002 100644
--- a/source/blender/nodes/composite/nodes/node_composite_movieclip.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_movieclip.cc
@@ -53,7 +53,7 @@ static void init(const bContext *C, PointerRNA *ptr)
user->framenr = 1;
}
-void register_node_type_cmp_movieclip()
+void register_node_type_cmp_movieclip(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_moviedistortion.cc b/source/blender/nodes/composite/nodes/node_composite_moviedistortion.cc
index d874be63616..4c1bd12b23f 100644
--- a/source/blender/nodes/composite/nodes/node_composite_moviedistortion.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_moviedistortion.cc
@@ -73,7 +73,7 @@ static void storage_copy(bNodeTree *UNUSED(dest_ntree), bNode *dest_node, const
}
}
-void register_node_type_cmp_moviedistortion()
+void register_node_type_cmp_moviedistortion(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_normal.cc b/source/blender/nodes/composite/nodes/node_composite_normal.cc
index b541761a8cc..975dbe310ec 100644
--- a/source/blender/nodes/composite/nodes/node_composite_normal.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_normal.cc
@@ -40,7 +40,7 @@ static void cmp_node_normal_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_normal()
+void register_node_type_cmp_normal(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_normalize.cc b/source/blender/nodes/composite/nodes/node_composite_normalize.cc
index dd3939fa6e2..44c1a28f399 100644
--- a/source/blender/nodes/composite/nodes/node_composite_normalize.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_normalize.cc
@@ -35,7 +35,7 @@ static void cmp_node_normalize_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_normalize()
+void register_node_type_cmp_normalize(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_outputFile.cc b/source/blender/nodes/composite/nodes/node_composite_outputFile.cc
index 6a1b83f657e..c4e0368934f 100644
--- a/source/blender/nodes/composite/nodes/node_composite_outputFile.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_outputFile.cc
@@ -277,7 +277,7 @@ static void update_output_file(bNodeTree *ntree, bNode *node)
}
}
-void register_node_type_cmp_output_file()
+void register_node_type_cmp_output_file(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_pixelate.cc b/source/blender/nodes/composite/nodes/node_composite_pixelate.cc
index 3679aada759..7e164196de8 100644
--- a/source/blender/nodes/composite/nodes/node_composite_pixelate.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_pixelate.cc
@@ -35,7 +35,7 @@ static void cmp_node_pixelate_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_pixelate()
+void register_node_type_cmp_pixelate(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc b/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc
index 82738d70531..db820d291f9 100644
--- a/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_planetrackdeform.cc
@@ -43,7 +43,7 @@ static void init(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
-void register_node_type_cmp_planetrackdeform()
+void register_node_type_cmp_planetrackdeform(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_posterize.cc b/source/blender/nodes/composite/nodes/node_composite_posterize.cc
index 8437c72e76c..bd3968683ea 100644
--- a/source/blender/nodes/composite/nodes/node_composite_posterize.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_posterize.cc
@@ -36,7 +36,7 @@ static void cmp_node_posterize_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_posterize()
+void register_node_type_cmp_posterize(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_premulkey.cc b/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
index 8dec90c875a..49068429a8d 100644
--- a/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_premulkey.cc
@@ -35,7 +35,7 @@ static void cmp_node_premulkey_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_premulkey()
+void register_node_type_cmp_premulkey(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_rgb.cc b/source/blender/nodes/composite/nodes/node_composite_rgb.cc
index 54f152d1cd0..abe69d6a756 100644
--- a/source/blender/nodes/composite/nodes/node_composite_rgb.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_rgb.cc
@@ -34,7 +34,7 @@ static void cmp_node_rgb_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_rgb()
+void register_node_type_cmp_rgb(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_rotate.cc b/source/blender/nodes/composite/nodes/node_composite_rotate.cc
index 8ddd62a6226..1ac04c554fb 100644
--- a/source/blender/nodes/composite/nodes/node_composite_rotate.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_rotate.cc
@@ -45,7 +45,7 @@ static void node_composit_init_rotate(bNodeTree *UNUSED(ntree), bNode *node)
node->custom1 = 1; /* Bilinear Filter. */
}
-void register_node_type_cmp_rotate()
+void register_node_type_cmp_rotate(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_scale.cc b/source/blender/nodes/composite/nodes/node_composite_scale.cc
index 14890146818..81acd646920 100644
--- a/source/blender/nodes/composite/nodes/node_composite_scale.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_scale.cc
@@ -50,7 +50,7 @@ static void node_composite_update_scale(bNodeTree *ntree, bNode *node)
}
}
-void register_node_type_cmp_scale()
+void register_node_type_cmp_scale(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
index 9eafc0e3594..83c54069658 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.cc
@@ -38,7 +38,7 @@ static void cmp_node_sephsva_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_sephsva()
+void register_node_type_cmp_sephsva(void)
{
static bNodeType ntype;
@@ -62,7 +62,7 @@ static void cmp_node_combhsva_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_combhsva()
+void register_node_type_cmp_combhsva(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
index e81ea6f31be..049e798af0a 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.cc
@@ -37,7 +37,7 @@ static void cmp_node_seprgba_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_seprgba()
+void register_node_type_cmp_seprgba(void)
{
static bNodeType ntype;
@@ -62,7 +62,7 @@ static void cmp_node_combrgba_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_combrgba()
+void register_node_type_cmp_combrgba(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc b/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc
index 15c8efc2ef8..eaf6ba5e9b2 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.cc
@@ -43,7 +43,7 @@ static void node_composit_init_mode_sepycca(bNodeTree *UNUSED(ntree), bNode *nod
node->custom1 = 1; /* BLI_YCC_ITU_BT709 */
}
-void register_node_type_cmp_sepycca()
+void register_node_type_cmp_sepycca(void)
{
static bNodeType ntype;
@@ -74,7 +74,7 @@ static void node_composit_init_mode_combycca(bNodeTree *UNUSED(ntree), bNode *no
node->custom1 = 1; /* BLI_YCC_ITU_BT709 */
}
-void register_node_type_cmp_combycca()
+void register_node_type_cmp_combycca(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc b/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc
index 4d4b01c2fb3..bc7710122d1 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.cc
@@ -38,7 +38,7 @@ static void cmp_node_sepyuva_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_sepyuva()
+void register_node_type_cmp_sepyuva(void)
{
static bNodeType ntype;
@@ -63,7 +63,7 @@ static void cmp_node_combyuva_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_combyuva()
+void register_node_type_cmp_combyuva(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_setalpha.cc b/source/blender/nodes/composite/nodes/node_composite_setalpha.cc
index 04eb055f3b2..f59ba76f0c5 100644
--- a/source/blender/nodes/composite/nodes/node_composite_setalpha.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_setalpha.cc
@@ -43,7 +43,7 @@ static void node_composit_init_setalpha(bNodeTree *UNUSED(ntree), bNode *node)
settings->mode = CMP_NODE_SETALPHA_MODE_APPLY;
}
-void register_node_type_cmp_setalpha()
+void register_node_type_cmp_setalpha(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_splitViewer.cc b/source/blender/nodes/composite/nodes/node_composite_splitViewer.cc
index ad8dcd0d8e9..62b8f9a34ca 100644
--- a/source/blender/nodes/composite/nodes/node_composite_splitViewer.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_splitViewer.cc
@@ -48,7 +48,7 @@ static void node_composit_init_splitviewer(bNodeTree *UNUSED(ntree), bNode *node
node->id = (ID *)BKE_image_ensure_viewer(G.main, IMA_TYPE_COMPOSITE, "Viewer Node");
}
-void register_node_type_cmp_splitviewer()
+void register_node_type_cmp_splitviewer(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_stabilize2d.cc b/source/blender/nodes/composite/nodes/node_composite_stabilize2d.cc
index 841cc6a5da3..a6a18705f2f 100644
--- a/source/blender/nodes/composite/nodes/node_composite_stabilize2d.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_stabilize2d.cc
@@ -50,7 +50,7 @@ static void init(const bContext *C, PointerRNA *ptr)
node->custom1 = 1;
}
-void register_node_type_cmp_stabilize2d()
+void register_node_type_cmp_stabilize2d(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_sunbeams.cc b/source/blender/nodes/composite/nodes/node_composite_sunbeams.cc
index 06d32569b0b..43468e20d03 100644
--- a/source/blender/nodes/composite/nodes/node_composite_sunbeams.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_sunbeams.cc
@@ -42,7 +42,7 @@ static void init(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
-void register_node_type_cmp_sunbeams()
+void register_node_type_cmp_sunbeams(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_switch.cc b/source/blender/nodes/composite/nodes/node_composite_switch.cc
index e8e7e7eb941..0430a8c9f7a 100644
--- a/source/blender/nodes/composite/nodes/node_composite_switch.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_switch.cc
@@ -37,7 +37,7 @@ static void cmp_node_switch_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
/* custom1 = mix type */
-void register_node_type_cmp_switch()
+void register_node_type_cmp_switch(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_switchview.cc b/source/blender/nodes/composite/nodes/node_composite_switchview.cc
index b452a894e7c..a61712f7f8d 100644
--- a/source/blender/nodes/composite/nodes/node_composite_switchview.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_switchview.cc
@@ -137,7 +137,7 @@ static void init_switch_view(const bContext *C, PointerRNA *ptr)
cmp_node_switch_view_sanitycheck(ntree, node);
}
-void register_node_type_cmp_switch_view()
+void register_node_type_cmp_switch_view(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_texture.cc b/source/blender/nodes/composite/nodes/node_composite_texture.cc
index 5e5fca755b2..55ae6a4185e 100644
--- a/source/blender/nodes/composite/nodes/node_composite_texture.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_texture.cc
@@ -41,7 +41,7 @@ static void cmp_node_texture_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_texture()
+void register_node_type_cmp_texture(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_tonemap.cc b/source/blender/nodes/composite/nodes/node_composite_tonemap.cc
index e23243e9bee..33d6f98201c 100644
--- a/source/blender/nodes/composite/nodes/node_composite_tonemap.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_tonemap.cc
@@ -49,7 +49,7 @@ static void node_composit_init_tonemap(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = ntm;
}
-void register_node_type_cmp_tonemap()
+void register_node_type_cmp_tonemap(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_trackpos.cc b/source/blender/nodes/composite/nodes/node_composite_trackpos.cc
index 3780a7e1aa1..537f7e661db 100644
--- a/source/blender/nodes/composite/nodes/node_composite_trackpos.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_trackpos.cc
@@ -42,7 +42,7 @@ static void init(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
-void register_node_type_cmp_trackpos()
+void register_node_type_cmp_trackpos(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_transform.cc b/source/blender/nodes/composite/nodes/node_composite_transform.cc
index 1acc671626a..ade737d9a63 100644
--- a/source/blender/nodes/composite/nodes/node_composite_transform.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_transform.cc
@@ -43,7 +43,7 @@ static void cmp_node_transform_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_transform()
+void register_node_type_cmp_transform(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_translate.cc b/source/blender/nodes/composite/nodes/node_composite_translate.cc
index 2ad70b4a0e5..15652664a7a 100644
--- a/source/blender/nodes/composite/nodes/node_composite_translate.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_translate.cc
@@ -44,7 +44,7 @@ static void node_composit_init_translate(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = data;
}
-void register_node_type_cmp_translate()
+void register_node_type_cmp_translate(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_valToRgb.cc b/source/blender/nodes/composite/nodes/node_composite_valToRgb.cc
index dca6c9c141c..a0ab056e657 100644
--- a/source/blender/nodes/composite/nodes/node_composite_valToRgb.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_valToRgb.cc
@@ -41,7 +41,7 @@ static void node_composit_init_valtorgb(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = BKE_colorband_add(true);
}
-void register_node_type_cmp_valtorgb()
+void register_node_type_cmp_valtorgb(void)
{
static bNodeType ntype;
@@ -66,7 +66,7 @@ static void cmp_node_rgbtobw_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_rgbtobw()
+void register_node_type_cmp_rgbtobw(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_value.cc b/source/blender/nodes/composite/nodes/node_composite_value.cc
index d2274d2d82a..51214d23472 100644
--- a/source/blender/nodes/composite/nodes/node_composite_value.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_value.cc
@@ -34,7 +34,7 @@ static void cmp_node_value_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_value()
+void register_node_type_cmp_value(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_vecBlur.cc b/source/blender/nodes/composite/nodes/node_composite_vecBlur.cc
index 7c82001210d..600e4dd9d12 100644
--- a/source/blender/nodes/composite/nodes/node_composite_vecBlur.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_vecBlur.cc
@@ -50,7 +50,7 @@ static void node_composit_init_vecblur(bNodeTree *UNUSED(ntree), bNode *node)
}
/* custom1: iterations, custom2: max_speed (0 = no_limit). */
-void register_node_type_cmp_vecblur()
+void register_node_type_cmp_vecblur(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_viewer.cc b/source/blender/nodes/composite/nodes/node_composite_viewer.cc
index ebac7d31c52..90f9882099b 100644
--- a/source/blender/nodes/composite/nodes/node_composite_viewer.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_viewer.cc
@@ -50,7 +50,7 @@ static void node_composit_init_viewer(bNodeTree *UNUSED(ntree), bNode *node)
node->id = (ID *)BKE_image_ensure_viewer(G.main, IMA_TYPE_COMPOSITE, "Viewer Node");
}
-void register_node_type_cmp_viewer()
+void register_node_type_cmp_viewer(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/composite/nodes/node_composite_zcombine.cc b/source/blender/nodes/composite/nodes/node_composite_zcombine.cc
index 982714e030e..9c39148ed5d 100644
--- a/source/blender/nodes/composite/nodes/node_composite_zcombine.cc
+++ b/source/blender/nodes/composite/nodes/node_composite_zcombine.cc
@@ -39,7 +39,7 @@ static void cmp_node_zcombine_declare(NodeDeclarationBuilder &b)
} // namespace blender::nodes
-void register_node_type_cmp_zcombine()
+void register_node_type_cmp_zcombine(void)
{
static bNodeType ntype;
diff --git a/source/blender/nodes/intern/node_socket_declarations.cc b/source/blender/nodes/intern/node_socket_declarations.cc
index 1795cc339e7..ed5691ebf7f 100644
--- a/source/blender/nodes/intern/node_socket_declarations.cc
+++ b/source/blender/nodes/intern/node_socket_declarations.cc
@@ -376,29 +376,4 @@ GeometryBuilder &GeometryBuilder::only_instances(bool value)
/** \} */
-/* -------------------------------------------------------------------- */
-/** \name #Shader
- * \{ */
-
-bNodeSocket &Shader::build(bNodeTree &ntree, bNode &node, eNodeSocketInOut in_out) const
-{
- bNodeSocket &socket = *nodeAddSocket(
- &ntree, &node, in_out, "NodeSocketShader", identifier_.c_str(), name_.c_str());
- this->set_common_flags(socket);
- return socket;
-}
-
-bool Shader::matches(const bNodeSocket &socket) const
-{
- if (!this->matches_common_data(socket)) {
- return false;
- }
- if (socket.type != SOCK_SHADER) {
- return false;
- }
- return true;
-}
-
-/** \} */
-
} // namespace blender::nodes::decl
diff --git a/source/blender/nodes/shader/CMakeLists.txt b/source/blender/nodes/shader/CMakeLists.txt
deleted file mode 100644
index bdbdef6e9ec..00000000000
--- a/source/blender/nodes/shader/CMakeLists.txt
+++ /dev/null
@@ -1,171 +0,0 @@
-# ***** BEGIN GPL LICENSE BLOCK *****
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ***** END GPL LICENSE BLOCK *****
-
-set(INC
- .
- ../
- ../intern
- ../../blenkernel
- ../../blenlib
- ../../blentranslation
- ../../depsgraph
- ../../functions
- ../../gpu
- ../../imbuf
- ../../makesdna
- ../../makesrna
- ../../render
- ../../windowmanager
- ../../../../intern/guardedalloc
- ../../../../intern/sky/include
-)
-
-
-set(SRC
- nodes/node_shader_add_shader.cc
- nodes/node_shader_ambient_occlusion.cc
- nodes/node_shader_attribute.cc
- nodes/node_shader_background.cc
- nodes/node_shader_bevel.cc
- nodes/node_shader_blackbody.cc
- nodes/node_shader_brightness.cc
- nodes/node_shader_bsdf_anisotropic.cc
- nodes/node_shader_bsdf_diffuse.cc
- nodes/node_shader_bsdf_glass.cc
- nodes/node_shader_bsdf_glossy.cc
- nodes/node_shader_bsdf_hair.cc
- nodes/node_shader_bsdf_hair_principled.cc
- nodes/node_shader_bsdf_principled.cc
- nodes/node_shader_bsdf_refraction.cc
- nodes/node_shader_bsdf_toon.cc
- nodes/node_shader_bsdf_translucent.cc
- nodes/node_shader_bsdf_transparent.cc
- nodes/node_shader_bsdf_velvet.cc
- nodes/node_shader_bump.cc
- nodes/node_shader_camera.cc
- nodes/node_shader_clamp.cc
- nodes/node_shader_color_ramp.cc
- nodes/node_shader_combine_hsv.cc
- nodes/node_shader_combine_rgb.cc
- nodes/node_shader_combine_xyz.cc
- nodes/node_shader_common.cc
- nodes/node_shader_curves.cc
- nodes/node_shader_displacement.cc
- nodes/node_shader_eevee_specular.cc
- nodes/node_shader_emission.cc
- nodes/node_shader_fresnel.cc
- nodes/node_shader_gamma.cc
- nodes/node_shader_geometry.cc
- nodes/node_shader_hair_info.cc
- nodes/node_shader_holdout.cc
- nodes/node_shader_hueSatVal.cc
- nodes/node_shader_ies_light.cc
- nodes/node_shader_invert.cc
- nodes/node_shader_layer_weight.cc
- nodes/node_shader_light_falloff.cc
- nodes/node_shader_light_path.cc
- nodes/node_shader_map_range.cc
- nodes/node_shader_mapping.cc
- nodes/node_shader_math.cc
- nodes/node_shader_mix_rgb.cc
- nodes/node_shader_mix_shader.cc
- nodes/node_shader_normal.cc
- nodes/node_shader_normal_map.cc
- nodes/node_shader_object_info.cc
- nodes/node_shader_output_aov.cc
- nodes/node_shader_output_light.cc
- nodes/node_shader_output_linestyle.cc
- nodes/node_shader_output_material.cc
- nodes/node_shader_output_world.cc
- nodes/node_shader_particle_info.cc
- nodes/node_shader_rgb.cc
- nodes/node_shader_rgb_to_bw.cc
- nodes/node_shader_script.cc
- nodes/node_shader_separate_hsv.cc
- nodes/node_shader_separate_rgb.cc
- nodes/node_shader_separate_xyz.cc
- nodes/node_shader_shader_to_rgb.cc
- nodes/node_shader_squeeze.cc
- nodes/node_shader_subsurface_scattering.cc
- nodes/node_shader_tangent.cc
- nodes/node_shader_tex_brick.cc
- nodes/node_shader_tex_checker.cc
- nodes/node_shader_tex_coord.cc
- nodes/node_shader_tex_environment.cc
- nodes/node_shader_tex_gradient.cc
- nodes/node_shader_tex_image.cc
- nodes/node_shader_tex_magic.cc
- nodes/node_shader_tex_musgrave.cc
- nodes/node_shader_tex_noise.cc
- nodes/node_shader_tex_pointdensity.cc
- nodes/node_shader_tex_sky.cc
- nodes/node_shader_tex_voronoi.cc
- nodes/node_shader_tex_wave.cc
- nodes/node_shader_tex_white_noise.cc
- nodes/node_shader_uv_along_stroke.cc
- nodes/node_shader_uvmap.cc
- nodes/node_shader_value.cc
- nodes/node_shader_vector_displacement.cc
- nodes/node_shader_vector_math.cc
- nodes/node_shader_vector_rotate.cc
- nodes/node_shader_vector_transform.cc
- nodes/node_shader_vertex_color.cc
- nodes/node_shader_volume_absorption.cc
- nodes/node_shader_volume_info.cc
- nodes/node_shader_volume_principled.cc
- nodes/node_shader_volume_scatter.cc
- nodes/node_shader_wavelength.cc
- nodes/node_shader_wireframe.cc
-
- node_shader_tree.cc
- node_shader_util.cc
-)
-
-set(LIB
- bf_functions
- bf_intern_sky
-)
-
-if(WITH_PYTHON)
- list(APPEND INC
- ../../python
- )
- list(APPEND INC_SYS
- ${PYTHON_INCLUDE_DIRS}
- )
- list(APPEND LIB
- ${PYTHON_LINKFLAGS}
- ${PYTHON_LIBRARIES}
- )
- add_definitions(-DWITH_PYTHON)
-endif()
-
-if(WITH_INTERNATIONAL)
- add_definitions(-DWITH_INTERNATIONAL)
-endif()
-
-if(WITH_FREESTYLE)
- add_definitions(-DWITH_FREESTYLE)
-endif()
-
-blender_add_lib(bf_nodes_shader "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
-
-if(WITH_UNITY_BUILD)
- set_target_properties(bf_nodes_shader PROPERTIES UNITY_BUILD ON)
- set_target_properties(bf_nodes_shader PROPERTIES UNITY_BUILD_BATCH_SIZE 10)
-endif()
diff --git a/source/blender/nodes/shader/node_shader_tree.cc b/source/blender/nodes/shader/node_shader_tree.c
index 9b2c48f4fb3..40023ca80d8 100644
--- a/source/blender/nodes/shader/node_shader_tree.cc
+++ b/source/blender/nodes/shader/node_shader_tree.c
@@ -21,7 +21,7 @@
* \ingroup nodes
*/
-#include <cstring>
+#include <string.h>
#include "DNA_light_types.h"
#include "DNA_linestyle_types.h"
@@ -56,12 +56,12 @@
#include "node_common.h"
#include "node_exec.h"
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
#include "node_util.h"
-struct nTreeTags {
+typedef struct nTreeTags {
float ssr_id, sss_id;
-};
+} nTreeTags;
static void ntree_shader_tag_nodes(bNodeTree *ntree, bNode *output_node, nTreeTags *tags);
@@ -91,7 +91,7 @@ static void shader_get_from_context(const bContext *C,
if (ob) {
*r_from = &ob->id;
if (ob->type == OB_LAMP) {
- *r_id = (ID *)ob->data;
+ *r_id = ob->data;
*r_ntree = ((Light *)ob->data)->nodetree;
}
else {
@@ -107,7 +107,7 @@ static void shader_get_from_context(const bContext *C,
else if (snode->shaderfrom == SNODE_SHADER_LINESTYLE) {
FreestyleLineStyle *linestyle = BKE_linestyle_active_from_view_layer(view_layer);
if (linestyle) {
- *r_from = nullptr;
+ *r_from = NULL;
*r_id = &linestyle->id;
*r_ntree = linestyle->nodetree;
}
@@ -115,7 +115,7 @@ static void shader_get_from_context(const bContext *C,
#endif
else { /* SNODE_SHADER_WORLD */
if (scene->world) {
- *r_from = nullptr;
+ *r_from = NULL;
*r_id = &scene->world->id;
*r_ntree = scene->world->nodetree;
}
@@ -189,10 +189,10 @@ static bool shader_node_tree_socket_type_valid(bNodeTreeType *UNUSED(ntreetype),
bNodeTreeType *ntreeType_Shader;
-void register_node_tree_type_sh()
+void register_node_tree_type_sh(void)
{
- bNodeTreeType *tt = ntreeType_Shader = (bNodeTreeType *)MEM_callocN(sizeof(bNodeTreeType),
- "shader node tree type");
+ bNodeTreeType *tt = ntreeType_Shader = MEM_callocN(sizeof(bNodeTreeType),
+ "shader node tree type");
tt->type = NTREE_SHADER;
strcpy(tt->idname, "ShaderNodeTree");
@@ -224,7 +224,7 @@ bNode *ntreeShaderOutputNode(bNodeTree *ntree, int target)
/* Find output node that matches type and target. If there are
* multiple, we prefer exact target match and active nodes. */
- bNode *output_node = nullptr;
+ bNode *output_node = NULL;
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
if (!ELEM(node->type, SH_NODE_OUTPUT_MATERIAL, SH_NODE_OUTPUT_WORLD, SH_NODE_OUTPUT_LIGHT)) {
@@ -232,7 +232,7 @@ bNode *ntreeShaderOutputNode(bNodeTree *ntree, int target)
}
if (node->custom1 == SHD_OUTPUT_ALL) {
- if (output_node == nullptr) {
+ if (output_node == NULL) {
output_node = node;
}
else if (output_node->custom1 == SHD_OUTPUT_ALL) {
@@ -242,7 +242,7 @@ bNode *ntreeShaderOutputNode(bNodeTree *ntree, int target)
}
}
else if (node->custom1 == target) {
- if (output_node == nullptr) {
+ if (output_node == NULL) {
output_node = node;
}
else if (output_node->custom1 == SHD_OUTPUT_ALL) {
@@ -260,12 +260,12 @@ bNode *ntreeShaderOutputNode(bNodeTree *ntree, int target)
/* Find socket with a specified identifier. */
static bNodeSocket *ntree_shader_node_find_socket(ListBase *sockets, const char *identifier)
{
- LISTBASE_FOREACH (bNodeSocket *, sock, sockets) {
+ for (bNodeSocket *sock = sockets->first; sock != NULL; sock = sock->next) {
if (STREQ(sock->identifier, identifier)) {
return sock;
}
}
- return nullptr;
+ return NULL;
}
/* Find input socket with a specified identifier. */
@@ -294,37 +294,37 @@ static bool ntree_shader_expand_socket_default(bNodeTree *localtree,
switch (socket->type) {
case SOCK_VECTOR:
- value_node = nodeAddStaticNode(nullptr, localtree, SH_NODE_RGB);
+ value_node = nodeAddStaticNode(NULL, localtree, SH_NODE_RGB);
value_socket = ntree_shader_node_find_output(value_node, "Color");
- BLI_assert(value_socket != nullptr);
- src_vector = (bNodeSocketValueVector *)socket->default_value;
- dst_rgba = (bNodeSocketValueRGBA *)value_socket->default_value;
+ BLI_assert(value_socket != NULL);
+ src_vector = socket->default_value;
+ dst_rgba = value_socket->default_value;
copy_v3_v3(dst_rgba->value, src_vector->value);
dst_rgba->value[3] = 1.0f; /* should never be read */
break;
case SOCK_RGBA:
- value_node = nodeAddStaticNode(nullptr, localtree, SH_NODE_RGB);
+ value_node = nodeAddStaticNode(NULL, localtree, SH_NODE_RGB);
value_socket = ntree_shader_node_find_output(value_node, "Color");
- BLI_assert(value_socket != nullptr);
- src_rgba = (bNodeSocketValueRGBA *)socket->default_value;
- dst_rgba = (bNodeSocketValueRGBA *)value_socket->default_value;
+ BLI_assert(value_socket != NULL);
+ src_rgba = socket->default_value;
+ dst_rgba = value_socket->default_value;
copy_v4_v4(dst_rgba->value, src_rgba->value);
break;
case SOCK_INT:
/* HACK: Support as float. */
- value_node = nodeAddStaticNode(nullptr, localtree, SH_NODE_VALUE);
+ value_node = nodeAddStaticNode(NULL, localtree, SH_NODE_VALUE);
value_socket = ntree_shader_node_find_output(value_node, "Value");
- BLI_assert(value_socket != nullptr);
- src_int = (bNodeSocketValueInt *)socket->default_value;
- dst_float = (bNodeSocketValueFloat *)value_socket->default_value;
+ BLI_assert(value_socket != NULL);
+ src_int = socket->default_value;
+ dst_float = value_socket->default_value;
dst_float->value = (float)(src_int->value);
break;
case SOCK_FLOAT:
- value_node = nodeAddStaticNode(nullptr, localtree, SH_NODE_VALUE);
+ value_node = nodeAddStaticNode(NULL, localtree, SH_NODE_VALUE);
value_socket = ntree_shader_node_find_output(value_node, "Value");
- BLI_assert(value_socket != nullptr);
- src_float = (bNodeSocketValueFloat *)socket->default_value;
- dst_float = (bNodeSocketValueFloat *)value_socket->default_value;
+ BLI_assert(value_socket != NULL);
+ src_float = socket->default_value;
+ dst_float = value_socket->default_value;
dst_float->value = src_float->value;
break;
default:
@@ -337,10 +337,11 @@ static bool ntree_shader_expand_socket_default(bNodeTree *localtree,
static void ntree_shader_unlink_hidden_value_sockets(bNode *group_node, bNodeSocket *isock)
{
bNodeTree *group_ntree = (bNodeTree *)group_node->id;
+ bNode *node;
bool removed_link = false;
- LISTBASE_FOREACH (bNode *, node, &group_ntree->nodes) {
- const bool is_group = ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP) && (node->id != nullptr);
+ for (node = group_ntree->nodes.first; node; node = node->next) {
+ const bool is_group = ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP) && (node->id != NULL);
LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
if (!is_group && (sock->flag & SOCK_HIDE_VALUE) == 0) {
@@ -374,7 +375,7 @@ static void ntree_shader_groups_expand_inputs(bNodeTree *localtree)
bool link_added = false;
LISTBASE_FOREACH (bNode *, node, &localtree->nodes) {
- const bool is_group = ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP) && (node->id != nullptr);
+ const bool is_group = ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP) && (node->id != NULL);
const bool is_group_output = node->type == NODE_GROUP_OUTPUT && (node->flag & NODE_DO_OUTPUT);
if (is_group) {
@@ -384,30 +385,25 @@ static void ntree_shader_groups_expand_inputs(bNodeTree *localtree)
if (is_group || is_group_output) {
LISTBASE_FOREACH (bNodeSocket *, socket, &node->inputs) {
- if (socket->link != nullptr && !(socket->link->flag & NODE_LINK_MUTED)) {
+ if (socket->link != NULL && !(socket->link->flag & NODE_LINK_MUTED)) {
bNodeLink *link = socket->link;
/* Fix the case where the socket is actually converting the data. (see T71374)
* We only do the case of lossy conversion to float. */
if ((socket->type == SOCK_FLOAT) && (link->fromsock->type != link->tosock->type)) {
if (link->fromsock->type == SOCK_RGBA) {
- bNode *tmp = nodeAddStaticNode(nullptr, localtree, SH_NODE_RGBTOBW);
- nodeAddLink(localtree,
- link->fromnode,
- link->fromsock,
- tmp,
- (bNodeSocket *)tmp->inputs.first);
- nodeAddLink(localtree, tmp, (bNodeSocket *)tmp->outputs.first, node, socket);
+ bNode *tmp = nodeAddStaticNode(NULL, localtree, SH_NODE_RGBTOBW);
+ nodeAddLink(localtree, link->fromnode, link->fromsock, tmp, tmp->inputs.first);
+ nodeAddLink(localtree, tmp, tmp->outputs.first, node, socket);
}
else if (link->fromsock->type == SOCK_VECTOR) {
- bNode *tmp = nodeAddStaticNode(nullptr, localtree, SH_NODE_VECTOR_MATH);
+ bNode *tmp = nodeAddStaticNode(NULL, localtree, SH_NODE_VECTOR_MATH);
tmp->custom1 = NODE_VECTOR_MATH_DOT_PRODUCT;
- bNodeSocket *dot_input1 = (bNodeSocket *)tmp->inputs.first;
+ bNodeSocket *dot_input1 = tmp->inputs.first;
bNodeSocket *dot_input2 = dot_input1->next;
- bNodeSocketValueVector *input2_socket_value = (bNodeSocketValueVector *)
- dot_input2->default_value;
+ bNodeSocketValueVector *input2_socket_value = dot_input2->default_value;
copy_v3_fl(input2_socket_value->value, 1.0f / 3.0f);
nodeAddLink(localtree, link->fromnode, link->fromsock, tmp, dot_input1);
- nodeAddLink(localtree, tmp, (bNodeSocket *)tmp->outputs.last, node, socket);
+ nodeAddLink(localtree, tmp, tmp->outputs.last, node, socket);
}
}
continue;
@@ -433,15 +429,15 @@ static void ntree_shader_groups_expand_inputs(bNodeTree *localtree)
static void flatten_group_do(bNodeTree *ntree, bNode *gnode)
{
- bNodeLink *link, *tlink;
+ bNodeLink *link, *linkn, *tlink;
bNode *node, *nextnode;
bNodeTree *ngroup;
- LinkNode *group_interface_nodes = nullptr;
+ LinkNode *group_interface_nodes = NULL;
ngroup = (bNodeTree *)gnode->id;
/* Add the nodes into the ntree */
- for (node = (bNode *)ngroup->nodes.first; node; node = nextnode) {
+ for (node = ngroup->nodes.first; node; node = nextnode) {
nextnode = node->next;
/* Remove interface nodes.
* This also removes remaining links to and from interface nodes.
@@ -458,25 +454,25 @@ static void flatten_group_do(bNodeTree *ntree, bNode *gnode)
}
/* Save first and last link to iterate over flattened group links. */
- bNodeLink *glinks_first = (bNodeLink *)ntree->links.last;
+ bNodeLink *glinks_first = ntree->links.last;
/* Add internal links to the ntree */
- LISTBASE_FOREACH (bNodeLink *, link, &ngroup->links) {
+ for (link = ngroup->links.first; link; link = linkn) {
+ linkn = link->next;
BLI_remlink(&ngroup->links, link);
BLI_addtail(&ntree->links, link);
}
- bNodeLink *glinks_last = (bNodeLink *)ntree->links.last;
+ bNodeLink *glinks_last = ntree->links.last;
/* restore external links to and from the gnode */
- if (glinks_first != nullptr) {
+ if (glinks_first != NULL) {
/* input links */
for (link = glinks_first->next; link != glinks_last->next; link = link->next) {
if (link->fromnode->type == NODE_GROUP_INPUT) {
const char *identifier = link->fromsock->identifier;
/* find external links to this input */
- for (tlink = (bNodeLink *)ntree->links.first; tlink != glinks_first->next;
- tlink = tlink->next) {
+ for (tlink = ntree->links.first; tlink != glinks_first->next; tlink = tlink->next) {
if (tlink->tonode == gnode && STREQ(tlink->tosock->identifier, identifier)) {
nodeAddLink(ntree, tlink->fromnode, tlink->fromsock, link->tonode, link->tosock);
}
@@ -484,10 +480,9 @@ static void flatten_group_do(bNodeTree *ntree, bNode *gnode)
}
}
/* Also iterate over the new links to cover passthrough links. */
- glinks_last = (bNodeLink *)ntree->links.last;
+ glinks_last = ntree->links.last;
/* output links */
- for (tlink = (bNodeLink *)ntree->links.first; tlink != glinks_first->next;
- tlink = tlink->next) {
+ for (tlink = ntree->links.first; tlink != glinks_first->next; tlink = tlink->next) {
if (tlink->fromnode == gnode) {
const char *identifier = tlink->fromsock->identifier;
/* find internal links to this output */
@@ -504,7 +499,7 @@ static void flatten_group_do(bNodeTree *ntree, bNode *gnode)
}
while (group_interface_nodes) {
- node = (bNode *)BLI_linklist_pop(&group_interface_nodes);
+ node = BLI_linklist_pop(&group_interface_nodes);
ntreeFreeLocalNode(ntree, node);
}
@@ -516,8 +511,8 @@ static void ntree_shader_groups_flatten(bNodeTree *localtree)
{
/* This is effectively recursive as the flattened groups will add
* nodes at the end of the list, which will also get evaluated. */
- for (bNode *node = (bNode *)localtree->nodes.first, *node_next; node; node = node_next) {
- if (ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP) && node->id != nullptr) {
+ for (bNode *node = localtree->nodes.first, *node_next; node; node = node_next) {
+ if (ELEM(node->type, NODE_GROUP, NODE_CUSTOM_GROUP) && node->id != NULL) {
flatten_group_do(localtree, node);
/* Continue even on new flattened nodes. */
node_next = node->next;
@@ -548,7 +543,7 @@ static bool ntree_shader_has_displacement(bNodeTree *ntree,
bNodeSocket **r_socket,
bNodeLink **r_link)
{
- if (output_node == nullptr) {
+ if (output_node == NULL) {
/* We can't have displacement without output node, apparently. */
return false;
}
@@ -556,12 +551,12 @@ static bool ntree_shader_has_displacement(bNodeTree *ntree,
ntreeUpdateTree(G.main, ntree);
bNodeSocket *displacement = ntree_shader_node_find_input(output_node, "Displacement");
- if (displacement == nullptr) {
+ if (displacement == NULL) {
/* Non-cycles node is used as an output. */
return false;
}
- if ((displacement->link != nullptr) && !(displacement->link->flag & NODE_LINK_MUTED)) {
+ if ((displacement->link != NULL) && !(displacement->link->flag & NODE_LINK_MUTED)) {
*r_node = displacement->link->fromnode;
*r_socket = displacement->link->fromsock;
*r_link = displacement->link;
@@ -579,7 +574,7 @@ static void ntree_shader_relink_node_normal(bNodeTree *ntree,
* matching?
*/
LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
- if (STREQ(sock->identifier, "Normal") && sock->link == nullptr) {
+ if (STREQ(sock->identifier, "Normal") && sock->link == NULL) {
/* It's a normal input and nothing is connected to it. */
nodeAddLink(ntree, node_from, socket_from, node, sock);
}
@@ -599,7 +594,7 @@ static void ntree_shader_link_builtin_normal(bNodeTree *ntree,
bNode *node_from,
bNodeSocket *socket_from)
{
- LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
+ for (bNode *node = ntree->nodes.first; node != NULL; node = node->next) {
if (node == node_from) {
/* Don't connect node itself! */
continue;
@@ -624,7 +619,7 @@ static void ntree_shader_bypass_bump_link(bNodeTree *ntree, bNode *bump_node, bN
fromnode = bump_normal_input->link->fromnode;
}
else {
- fromnode = nodeAddStaticNode(nullptr, ntree, SH_NODE_NEW_GEOMETRY);
+ fromnode = nodeAddStaticNode(NULL, ntree, SH_NODE_NEW_GEOMETRY);
fromsock = ntree_shader_node_find_output(fromnode, "Normal");
}
/* Bypass the bump node by creating a link between the previous and next node. */
@@ -676,7 +671,7 @@ static bNode *ntree_shader_copy_branch(bNodeTree *ntree,
int node_count = 1;
nodeChainIterBackwards(ntree, start_node, ntree_branch_count_and_tag_nodes, &node_count, 1);
/* Make a full copy of the branch */
- bNode **nodes_copy = (bNode **)MEM_mallocN(sizeof(bNode *) * node_count, __func__);
+ bNode **nodes_copy = MEM_mallocN(sizeof(bNode *) * node_count, __func__);
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
if (node->tmp_flag >= 0) {
int id = node->tmp_flag;
@@ -685,10 +680,10 @@ static bNode *ntree_shader_copy_branch(bNodeTree *ntree,
nodes_copy[id]->tmp_flag = -2; /* Copy */
/* Make sure to clear all sockets links as they are invalid. */
LISTBASE_FOREACH (bNodeSocket *, sock, &nodes_copy[id]->inputs) {
- sock->link = nullptr;
+ sock->link = NULL;
}
LISTBASE_FOREACH (bNodeSocket *, sock, &nodes_copy[id]->outputs) {
- sock->link = nullptr;
+ sock->link = NULL;
}
}
}
@@ -721,7 +716,7 @@ static void ntree_shader_copy_branch_displacement(bNodeTree *ntree,
/* Replace displacement socket/node/link. */
bNode *tonode = displacement_link->tonode;
bNodeSocket *tosock = displacement_link->tosock;
- displacement_node = ntree_shader_copy_branch(ntree, displacement_node, nullptr, 0);
+ displacement_node = ntree_shader_copy_branch(ntree, displacement_node, NULL, 0);
displacement_socket = ntree_shader_node_find_output(displacement_node,
displacement_socket->identifier);
nodeRemLink(ntree, displacement_link);
@@ -761,10 +756,10 @@ static void ntree_shader_relink_displacement(bNodeTree *ntree, bNode *output_nod
nodeRemLink(ntree, displacement_link);
/* Convert displacement vector to bump height. */
- bNode *dot_node = nodeAddStaticNode(nullptr, ntree, SH_NODE_VECTOR_MATH);
- bNode *geo_node = nodeAddStaticNode(nullptr, ntree, SH_NODE_NEW_GEOMETRY);
+ bNode *dot_node = nodeAddStaticNode(NULL, ntree, SH_NODE_VECTOR_MATH);
+ bNode *geo_node = nodeAddStaticNode(NULL, ntree, SH_NODE_NEW_GEOMETRY);
bNodeSocket *normal_socket = ntree_shader_node_find_output(geo_node, "Normal");
- bNodeSocket *dot_input1 = (bNodeSocket *)dot_node->inputs.first;
+ bNodeSocket *dot_input1 = dot_node->inputs.first;
bNodeSocket *dot_input2 = dot_input1->next;
dot_node->custom1 = NODE_VECTOR_MATH_DOT_PRODUCT;
@@ -776,11 +771,11 @@ static void ntree_shader_relink_displacement(bNodeTree *ntree, bNode *output_nod
/* We can't connect displacement to normal directly, use bump node for that
* and hope that it gives good enough approximation.
*/
- bNode *bump_node = nodeAddStaticNode(nullptr, ntree, SH_NODE_BUMP);
+ bNode *bump_node = nodeAddStaticNode(NULL, ntree, SH_NODE_BUMP);
bNodeSocket *bump_input_socket = ntree_shader_node_find_input(bump_node, "Height");
bNodeSocket *bump_output_socket = ntree_shader_node_find_output(bump_node, "Normal");
- BLI_assert(bump_input_socket != nullptr);
- BLI_assert(bump_output_socket != nullptr);
+ BLI_assert(bump_input_socket != NULL);
+ BLI_assert(bump_output_socket != NULL);
/* Connect bump node to where displacement output was originally
* connected to.
*/
@@ -872,7 +867,7 @@ static bool ntree_tag_bsdf_cb(bNode *fromnode, bNode *UNUSED(tonode), void *user
*/
void ntree_shader_tag_nodes(bNodeTree *ntree, bNode *output_node, nTreeTags *tags)
{
- if (output_node == nullptr) {
+ if (output_node == NULL) {
return;
}
/* Make sure sockets links pointers are correct. */
@@ -894,7 +889,7 @@ void ntreeGPUMaterialNodes(bNodeTree *localtree,
ntree_shader_groups_flatten(localtree);
- if (output == nullptr) {
+ if (output == NULL) {
/* Search again, now including flattened nodes. */
output = ntreeShaderOutputNode(localtree, SHD_OUTPUT_EEVEE);
}
@@ -910,13 +905,19 @@ void ntreeGPUMaterialNodes(bNodeTree *localtree,
LISTBASE_FOREACH (bNode *, node, &localtree->nodes) {
if (node->type == SH_NODE_OUTPUT_AOV) {
nodeChainIterBackwards(localtree, node, ntree_shader_bump_branches, localtree, 0);
- nTreeTags tags = {1.0, 1.0};
+ nTreeTags tags = {
+ .ssr_id = 1.0,
+ .sss_id = 1.0,
+ };
ntree_shader_tag_nodes(localtree, node, &tags);
}
}
/* TODO(fclem): consider moving this to the gpu shader tree evaluation. */
- nTreeTags tags = {1.0, 1.0};
+ nTreeTags tags = {
+ .ssr_id = 1.0,
+ .sss_id = 1.0,
+ };
ntree_shader_tag_nodes(localtree, output, &tags);
exec = ntreeShaderBeginExecTree(localtree);
@@ -932,15 +933,15 @@ void ntreeGPUMaterialNodes(bNodeTree *localtree,
*has_surface_output = false;
*has_volume_output = false;
- if (output != nullptr) {
+ if (output != NULL) {
bNodeSocket *surface_sock = ntree_shader_node_find_input(output, "Surface");
bNodeSocket *volume_sock = ntree_shader_node_find_input(output, "Volume");
- if (surface_sock != nullptr) {
+ if (surface_sock != NULL) {
*has_surface_output = (nodeCountSocketLinks(localtree, surface_sock) > 0);
}
- if (volume_sock != nullptr) {
+ if (volume_sock != NULL) {
*has_volume_output = (nodeCountSocketLinks(localtree, volume_sock) > 0);
}
}
@@ -950,17 +951,19 @@ bNodeTreeExec *ntreeShaderBeginExecTree_internal(bNodeExecContext *context,
bNodeTree *ntree,
bNodeInstanceKey parent_key)
{
+ bNodeTreeExec *exec;
+ bNode *node;
+
/* ensures only a single output node is enabled */
ntreeSetOutput(ntree);
/* common base initialization */
- bNodeTreeExec *exec = ntree_exec_begin(context, ntree, parent_key);
+ exec = ntree_exec_begin(context, ntree, parent_key);
/* allocate the thread stack listbase array */
- exec->threadstack = (ListBase *)MEM_callocN(BLENDER_MAX_THREADS * sizeof(ListBase),
- "thread stack array");
+ exec->threadstack = MEM_callocN(BLENDER_MAX_THREADS * sizeof(ListBase), "thread stack array");
- LISTBASE_FOREACH (bNode *, node, &exec->nodetree->nodes) {
+ for (node = exec->nodetree->nodes.first; node; node = node->next) {
node->need_exec = 1;
}
@@ -993,9 +996,12 @@ bNodeTreeExec *ntreeShaderBeginExecTree(bNodeTree *ntree)
void ntreeShaderEndExecTree_internal(bNodeTreeExec *exec)
{
+ bNodeThreadStack *nts;
+ int a;
+
if (exec->threadstack) {
- for (int a = 0; a < BLENDER_MAX_THREADS; a++) {
- LISTBASE_FOREACH (bNodeThreadStack *, nts, &exec->threadstack[a]) {
+ for (a = 0; a < BLENDER_MAX_THREADS; a++) {
+ for (nts = exec->threadstack[a].first; nts; nts = nts->next) {
if (nts->stack) {
MEM_freeN(nts->stack);
}
@@ -1004,7 +1010,7 @@ void ntreeShaderEndExecTree_internal(bNodeTreeExec *exec)
}
MEM_freeN(exec->threadstack);
- exec->threadstack = nullptr;
+ exec->threadstack = NULL;
}
ntree_exec_end(exec);
@@ -1018,6 +1024,6 @@ void ntreeShaderEndExecTree(bNodeTreeExec *exec)
ntreeShaderEndExecTree_internal(exec);
/* XXX clear nodetree backpointer to exec data, same problem as noted in ntreeBeginExecTree */
- ntree->execdata = nullptr;
+ ntree->execdata = NULL;
}
}
diff --git a/source/blender/nodes/shader/node_shader_util.cc b/source/blender/nodes/shader/node_shader_util.cc
index 077e12e2cff..8b7e72fbcc9 100644
--- a/source/blender/nodes/shader/node_shader_util.cc
+++ b/source/blender/nodes/shader/node_shader_util.cc
@@ -23,7 +23,7 @@
#include "DNA_node_types.h"
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
#include "node_exec.h"
diff --git a/source/blender/nodes/shader/node_shader_util.hh b/source/blender/nodes/shader/node_shader_util.h
index 5edc6653c68..c647b86a19a 100644
--- a/source/blender/nodes/shader/node_shader_util.hh
+++ b/source/blender/nodes/shader/node_shader_util.h
@@ -39,8 +39,8 @@
#include "DNA_scene_types.h"
#include "DNA_texture_types.h"
-#include "BLI_color.hh"
-#include "BLI_float3.hh"
+#include "BLI_blenlib.h"
+#include "BLI_math.h"
#include "BLI_math_base_safe.h"
#include "BLI_rand.h"
#include "BLI_threads.h"
@@ -55,9 +55,7 @@
#include "BKE_node.h"
#include "BKE_texture.h"
-#include "NOD_multi_function.hh"
#include "NOD_shader.h"
-#include "NOD_socket_declarations.hh"
#include "node_util.h"
#include "BLT_translation.h"
@@ -67,12 +65,22 @@
#include "RE_pipeline.h"
#include "RE_texture.h"
-#include "FN_multi_function_builder.hh"
-
#include "GPU_material.h"
#include "GPU_texture.h"
#include "GPU_uniform_buffer.h"
+#ifdef __cplusplus
+# include "FN_multi_function_builder.hh"
+
+# include "NOD_multi_function.hh"
+# include "NOD_socket_declarations.hh"
+
+# include "BLI_color.hh"
+# include "BLI_float3.hh"
+
+extern "C" {
+#endif
+
bool sh_node_poll_default(struct bNodeType *ntype,
struct bNodeTree *ntree,
const char **r_disabled_hint);
@@ -112,3 +120,7 @@ void ntreeExecGPUNodes(struct bNodeTreeExec *exec,
struct GPUMaterial *mat,
struct bNode *output_node);
void get_XYZ_to_RGB_for_gpu(XYZ_to_RGB *data);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/source/blender/nodes/shader/nodes/node_shader_add_shader.cc b/source/blender/nodes/shader/nodes/node_shader_add_shader.c
index 81c7643e18b..12c138ac9d5 100644
--- a/source/blender/nodes/shader/nodes/node_shader_add_shader.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_add_shader.c
@@ -17,18 +17,20 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_add_shader_cc {
+static bNodeSocketTemplate sh_node_add_shader_in[] = {
+ {SOCK_SHADER, N_("Shader")},
+ {SOCK_SHADER, N_("Shader")},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Shader>(N_("Shader"));
- b.add_input<decl::Shader>(N_("Shader"), "Shader_001");
- b.add_output<decl::Shader>(N_("Shader"));
-}
+static bNodeSocketTemplate sh_node_add_shader_out[] = {
+ {SOCK_SHADER, N_("Shader")},
+ {-1, ""},
+};
static int node_shader_gpu_add_shader(GPUMaterial *mat,
bNode *node,
@@ -39,20 +41,16 @@ static int node_shader_gpu_add_shader(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_add_shader", in, out);
}
-} // namespace blender::nodes::node_shader_add_shader_cc
-
/* node type definition */
-void register_node_type_sh_add_shader()
+void register_node_type_sh_add_shader(void)
{
- namespace file_ns = blender::nodes::node_shader_add_shader_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_ADD_SHADER, "Add Shader", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_add_shader);
+ node_type_socket_templates(&ntype, sh_node_add_shader_in, sh_node_add_shader_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_add_shader);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.cc b/source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.c
index cf201aab7d8..abe80ebcefb 100644
--- a/source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_ambient_occlusion_cc {
-
static bNodeSocketTemplate sh_node_ambient_occlusion_in[] = {
{SOCK_RGBA, N_("Color"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
{SOCK_FLOAT, N_("Distance"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
@@ -66,21 +64,16 @@ static void node_shader_init_ambient_occlusion(bNodeTree *UNUSED(ntree), bNode *
node->custom2 = 0;
}
-} // namespace blender::nodes::node_shader_ambient_occlusion_cc
-
/* node type definition */
-void register_node_type_sh_ambient_occlusion()
+void register_node_type_sh_ambient_occlusion(void)
{
- namespace file_ns = blender::nodes::node_shader_ambient_occlusion_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_AMBIENT_OCCLUSION, "Ambient Occlusion", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_ambient_occlusion_in, file_ns::sh_node_ambient_occlusion_out);
- node_type_init(&ntype, file_ns::node_shader_init_ambient_occlusion);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_ambient_occlusion);
+ node_type_socket_templates(&ntype, sh_node_ambient_occlusion_in, sh_node_ambient_occlusion_out);
+ node_type_init(&ntype, node_shader_init_ambient_occlusion);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_ambient_occlusion);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_attribute.cc b/source/blender/nodes/shader/nodes/node_shader_attribute.c
index 068d1266caa..9b3122e38e0 100644
--- a/source/blender/nodes/shader/nodes/node_shader_attribute.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_attribute.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_attribute_cc {
-
static bNodeSocketTemplate sh_node_attribute_out[] = {
{SOCK_RGBA, N_("Color")},
{SOCK_VECTOR, N_("Vector"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
@@ -33,8 +31,7 @@ static bNodeSocketTemplate sh_node_attribute_out[] = {
static void node_shader_init_attribute(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeShaderAttribute *attr = (NodeShaderAttribute *)MEM_callocN(sizeof(NodeShaderAttribute),
- "NodeShaderAttribute");
+ NodeShaderAttribute *attr = MEM_callocN(sizeof(NodeShaderAttribute), "NodeShaderAttribute");
node->storage = attr;
}
@@ -44,7 +41,7 @@ static int node_shader_gpu_attribute(GPUMaterial *mat,
GPUNodeStack *in,
GPUNodeStack *out)
{
- NodeShaderAttribute *attr = (NodeShaderAttribute *)node->storage;
+ NodeShaderAttribute *attr = node->storage;
bool is_varying = attr->type == SHD_ATTRIBUTE_GEOMETRY;
if (GPU_material_is_volume_shader(mat) && is_varying) {
@@ -84,21 +81,17 @@ static int node_shader_gpu_attribute(GPUMaterial *mat,
return 1;
}
-} // namespace blender::nodes::node_shader_attribute_cc
-
/* node type definition */
-void register_node_type_sh_attribute()
+void register_node_type_sh_attribute(void)
{
- namespace file_ns = blender::nodes::node_shader_attribute_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_ATTRIBUTE, "Attribute", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_attribute_out);
- node_type_init(&ntype, file_ns::node_shader_init_attribute);
+ node_type_socket_templates(&ntype, NULL, sh_node_attribute_out);
+ node_type_init(&ntype, node_shader_init_attribute);
node_type_storage(
&ntype, "NodeShaderAttribute", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_attribute);
+ node_type_gpu(&ntype, node_shader_gpu_attribute);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_background.cc b/source/blender/nodes/shader/nodes/node_shader_background.c
index 68ff2a3fb40..5281a9fecb1 100644
--- a/source/blender/nodes/shader/nodes/node_shader_background.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_background.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_background_cc {
-
static bNodeSocketTemplate sh_node_background_in[] = {
{SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
{SOCK_FLOAT, N_("Strength"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f},
@@ -43,21 +41,16 @@ static int node_shader_gpu_background(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_background", in, out);
}
-} // namespace blender::nodes::node_shader_background_cc
-
/* node type definition */
-void register_node_type_sh_background()
+void register_node_type_sh_background(void)
{
- namespace file_ns = blender::nodes::node_shader_background_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BACKGROUND, "Background", NODE_CLASS_SHADER, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_background_in, file_ns::sh_node_background_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_background);
+ node_type_socket_templates(&ntype, sh_node_background_in, sh_node_background_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_background);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bevel.cc b/source/blender/nodes/shader/nodes/node_shader_bevel.c
index f34e9e99f37..347d82c5506 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bevel.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bevel.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bevel_cc {
-
static bNodeSocketTemplate sh_node_bevel_in[] = {
{SOCK_FLOAT, N_("Radius"), 0.05f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
{SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
@@ -56,20 +54,16 @@ static int gpu_shader_bevel(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_bevel", in, out);
}
-} // namespace blender::nodes::node_shader_bevel_cc
-
/* node type definition */
-void register_node_type_sh_bevel()
+void register_node_type_sh_bevel(void)
{
- namespace file_ns = blender::nodes::node_shader_bevel_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BEVEL, "Bevel", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_bevel_in, file_ns::sh_node_bevel_out);
- node_type_init(&ntype, file_ns::node_shader_init_bevel);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::gpu_shader_bevel);
+ node_type_socket_templates(&ntype, sh_node_bevel_in, sh_node_bevel_out);
+ node_type_init(&ntype, node_shader_init_bevel);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, gpu_shader_bevel);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_blackbody.cc b/source/blender/nodes/shader/nodes/node_shader_blackbody.c
index de5bf98fd79..95c35affc27 100644
--- a/source/blender/nodes/shader/nodes/node_shader_blackbody.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_blackbody.c
@@ -17,12 +17,9 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** Blackbody ******************** */
-
-namespace blender::nodes::node_shader_blackbody_cc {
-
static bNodeSocketTemplate sh_node_blackbody_in[] = {
{SOCK_FLOAT, N_("Temperature"), 1500.0f, 0.0f, 0.0f, 0.0f, 800.0f, 12000.0f},
{-1, ""},
@@ -40,7 +37,7 @@ static int node_shader_gpu_blackbody(GPUMaterial *mat,
GPUNodeStack *out)
{
const int size = CM_TABLE + 1;
- float *data = (float *)MEM_mallocN(sizeof(float) * size * 4, "blackbody texture");
+ float *data = MEM_mallocN(sizeof(float) * size * 4, "blackbody texture");
blackbody_temperature_to_rgb_table(data, size, 965.0f, 12000.0f);
@@ -50,22 +47,17 @@ static int node_shader_gpu_blackbody(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_blackbody", in, out, ramp_texture, GPU_constant(&layer));
}
-} // namespace blender::nodes::node_shader_blackbody_cc
-
/* node type definition */
-void register_node_type_sh_blackbody()
+void register_node_type_sh_blackbody(void)
{
- namespace file_ns = blender::nodes::node_shader_blackbody_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BLACKBODY, "Blackbody", NODE_CLASS_CONVERTER, 0);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_blackbody_in, file_ns::sh_node_blackbody_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_blackbody);
+ node_type_socket_templates(&ntype, sh_node_blackbody_in, sh_node_blackbody_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_blackbody);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_brightness.cc b/source/blender/nodes/shader/nodes/node_shader_brightness.c
index 3e76a2cb0b1..4f375c666de 100644
--- a/source/blender/nodes/shader/nodes/node_shader_brightness.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_brightness.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
/* **************** Bright and contrast ******************** */
-namespace blender::nodes::node_shader_brightness_cc {
-
static bNodeSocketTemplate sh_node_brightcontrast_in[] = {
{SOCK_RGBA, N_("Color"), 1.0f, 1.0f, 1.0f, 1.0f},
{SOCK_FLOAT, N_("Bright"), 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
@@ -44,20 +42,15 @@ static int gpu_shader_brightcontrast(GPUMaterial *mat,
return GPU_stack_link(mat, node, "brightness_contrast", in, out);
}
-} // namespace blender::nodes::node_shader_brightness_cc
-
-void register_node_type_sh_brightcontrast()
+void register_node_type_sh_brightcontrast(void)
{
- namespace file_ns = blender::nodes::node_shader_brightness_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BRIGHTCONTRAST, "Bright/Contrast", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_brightcontrast_in, file_ns::sh_node_brightcontrast_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::gpu_shader_brightcontrast);
+ node_type_socket_templates(&ntype, sh_node_brightcontrast_in, sh_node_brightcontrast_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, gpu_shader_brightcontrast);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c
index 9fac8d70e9d..499f62da683 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c
@@ -17,26 +17,24 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_anisotropic_cc {
+static bNodeSocketTemplate sh_node_bsdf_anisotropic_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Roughness"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Anisotropy"), 0.5f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f},
+ {SOCK_FLOAT, N_("Rotation"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {SOCK_VECTOR, N_("Tangent"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Roughness"))
- .default_value(0.5f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Anisotropy")).default_value(0.5f).min(-1.0f).max(1.0f);
- b.add_input<decl::Float>(N_("Rotation")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
- b.add_input<decl::Vector>(N_("Tangent")).min(-1.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_anisotropic_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
static void node_shader_init_anisotropic(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -66,21 +64,17 @@ static int node_shader_gpu_bsdf_anisotropic(GPUMaterial *mat,
GPU_constant(&node->ssr_id));
}
-} // namespace blender::nodes::node_shader_anisotropic_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_anisotropic()
+void register_node_type_sh_bsdf_anisotropic(void)
{
- namespace file_ns = blender::nodes::node_shader_anisotropic_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BSDF_ANISOTROPIC, "Anisotropic BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
+ node_type_socket_templates(&ntype, sh_node_bsdf_anisotropic_in, sh_node_bsdf_anisotropic_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_anisotropic);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_anisotropic);
+ node_type_init(&ntype, node_shader_init_anisotropic);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_bsdf_anisotropic);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c
index c3ec80a4cf9..f4f1d274826 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c
@@ -17,19 +17,21 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bsdf_diffuse_cc {
+static bNodeSocketTemplate sh_node_bsdf_diffuse_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Roughness"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Roughness")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_diffuse_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
static int node_shader_gpu_bsdf_diffuse(GPUMaterial *mat,
bNode *node,
@@ -46,21 +48,17 @@ static int node_shader_gpu_bsdf_diffuse(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_bsdf_diffuse", in, out);
}
-} // namespace blender::nodes::node_shader_bsdf_diffuse_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_diffuse()
+void register_node_type_sh_bsdf_diffuse(void)
{
- namespace file_ns = blender::nodes::node_shader_bsdf_diffuse_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BSDF_DIFFUSE, "Diffuse BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
+ node_type_socket_templates(&ntype, sh_node_bsdf_diffuse_in, sh_node_bsdf_diffuse_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_diffuse);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_bsdf_diffuse);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c
index 840d7e68dbc..5fc946e3509 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c
@@ -17,20 +17,22 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bsdf_glass_cc {
+static bNodeSocketTemplate sh_node_bsdf_glass_in[] = {
+ {SOCK_RGBA, N_("Color"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Roughness"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("IOR"), 1.45f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
+ {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({1.0f, 1.0f, 1.0f, 1.0f});
- b.add_input<decl::Float>(N_("Roughness")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("IOR")).default_value(1.45f).min(0.0f).max(1000.0f);
- b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_glass_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
static void node_shader_init_glass(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -51,7 +53,7 @@ static int node_shader_gpu_bsdf_glass(GPUMaterial *mat,
GPU_link(mat, "set_value_zero", &in[1].link);
}
- GPU_material_flag_set(mat, (eGPUMatFlag)(GPU_MATFLAG_GLOSSY | GPU_MATFLAG_REFRACT));
+ GPU_material_flag_set(mat, GPU_MATFLAG_GLOSSY | GPU_MATFLAG_REFRACT);
float use_multi_scatter = (node->custom1 == SHD_GLOSSY_MULTI_GGX) ? 1.0f : 0.0f;
@@ -64,21 +66,17 @@ static int node_shader_gpu_bsdf_glass(GPUMaterial *mat,
GPU_constant(&node->ssr_id));
}
-} // namespace blender::nodes::node_shader_bsdf_glass_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_glass()
+void register_node_type_sh_bsdf_glass(void)
{
- namespace file_ns = blender::nodes::node_shader_bsdf_glass_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BSDF_GLASS, "Glass BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
+ node_type_socket_templates(&ntype, sh_node_bsdf_glass_in, sh_node_bsdf_glass_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_glass);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_glass);
+ node_type_init(&ntype, node_shader_init_glass);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_bsdf_glass);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c
index 0090096fd42..13b1b21c7fc 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c
@@ -17,23 +17,21 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bsdf_glossy_cc {
+static bNodeSocketTemplate sh_node_bsdf_glossy_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Roughness"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Roughness"))
- .default_value(0.5)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_glossy_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
static void node_shader_init_glossy(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -67,21 +65,17 @@ static int node_shader_gpu_bsdf_glossy(GPUMaterial *mat,
GPU_constant(&node->ssr_id));
}
-} // namespace blender::nodes::node_shader_bsdf_glossy_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_glossy()
+void register_node_type_sh_bsdf_glossy(void)
{
- namespace file_ns = blender::nodes::node_shader_bsdf_glossy_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BSDF_GLOSSY, "Glossy BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
+ node_type_socket_templates(&ntype, sh_node_bsdf_glossy_in, sh_node_bsdf_glossy_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_glossy);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_glossy);
+ node_type_init(&ntype, node_shader_init_glossy);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_bsdf_glossy);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.c
index 0bb0e886a7c..fb2decec5f4 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.c
@@ -17,29 +17,23 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bsdf_hair_cc {
+static bNodeSocketTemplate sh_node_bsdf_hair_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Offset"), 0.0f, 0.0f, 0.0f, 0.0f, -M_PI_2, M_PI_2, PROP_ANGLE},
+ {SOCK_FLOAT, N_("RoughnessU"), 0.1f, 0.1f, 0.1f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("RoughnessV"), 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_VECTOR, N_("Tangent"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Offset")).min(-M_PI_2).max(M_PI_2).subtype(PROP_ANGLE);
- b.add_input<decl::Float>(N_("RoughnessU"))
- .default_value(0.1f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("RoughnessV"))
- .default_value(1.0f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Vector>(N_("Tangent")).min(-1.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_hair_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
static int node_shader_gpu_bsdf_hair(GPUMaterial *mat,
bNode *node,
@@ -50,21 +44,17 @@ static int node_shader_gpu_bsdf_hair(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_bsdf_hair", in, out);
}
-} // namespace blender::nodes::node_shader_bsdf_hair_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_hair()
+void register_node_type_sh_bsdf_hair(void)
{
- namespace file_ns = blender::nodes::node_shader_bsdf_hair_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BSDF_HAIR, "Hair BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
+ node_type_socket_templates(&ntype, sh_node_bsdf_hair_in, sh_node_bsdf_hair_out);
node_type_size(&ntype, 150, 60, 200);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_hair);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_bsdf_hair);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c
index 55ac8bc4ff9..d2b40a7ec39 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c
@@ -17,54 +17,40 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bsdf_hair_principled_cc {
-
/* Color, melanin and absorption coefficient default to approximately same brownish hair. */
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.017513f, 0.005763f, 0.002059f, 1.0f});
- b.add_input<decl::Float>(N_("Melanin"))
- .default_value(0.8f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Melanin Redness"))
- .default_value(1.0f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Color>(N_("Tint")).default_value({1.0f, 1.0f, 1.0f, 1.0f});
- b.add_input<decl::Vector>(N_("Absorption Coefficient"))
- .default_value({0.245531f, 0.52f, 1.365f})
- .min(0.0f)
- .max(1000.0f);
+static bNodeSocketTemplate sh_node_bsdf_hair_principled_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.017513f, 0.005763f, 0.002059f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Melanin"), 0.8f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Melanin Redness"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_RGBA, N_("Tint"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+ {SOCK_VECTOR, N_("Absorption Coefficient"), 0.245531f, 0.52f, 1.365f, 0.0f, 0.0f, 1000.0f},
+ {SOCK_FLOAT, N_("Roughness"), 0.3f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Radial Roughness"), 0.3f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Coat"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("IOR"), 1.55f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
+ {SOCK_FLOAT,
+ N_("Offset"),
+ 2.0f * ((float)M_PI) / 180.0f,
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ -M_PI_2,
+ M_PI_2,
+ PROP_ANGLE},
+ {SOCK_FLOAT, N_("Random Color"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Random Roughness"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Random"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
- b.add_input<decl::Float>(N_("Roughness"))
- .default_value(0.3f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Radial Roughness"))
- .default_value(0.3f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Coat")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("IOR")).default_value(1.55f).min(0.0f).max(1000.0f);
- b.add_input<decl::Float>(N_("Offset"))
- .default_value(2.0f * ((float)M_PI) / 180.0f)
- .min(-M_PI_2)
- .max(M_PI_2)
- .subtype(PROP_ANGLE);
- b.add_input<decl::Float>(N_("Random Color")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Random Roughness")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Random")).min(0.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_hair_principled_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
/* Initialize the custom Parametrization property to Color. */
static void node_shader_init_hair_principled(bNodeTree *UNUSED(ntree), bNode *node)
@@ -75,9 +61,10 @@ static void node_shader_init_hair_principled(bNodeTree *UNUSED(ntree), bNode *no
/* Triggers (in)visibility of some sockets when changing Parametrization. */
static void node_shader_update_hair_principled(bNodeTree *ntree, bNode *node)
{
+ bNodeSocket *sock;
int parametrization = node->custom1;
- LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
+ for (sock = node->inputs.first; sock; sock = sock->next) {
if (STREQ(sock->name, "Color")) {
nodeSetSocketAvailability(ntree, sock, parametrization == SHD_PRINCIPLED_HAIR_REFLECTANCE);
}
@@ -104,22 +91,19 @@ static void node_shader_update_hair_principled(bNodeTree *ntree, bNode *node)
}
}
-} // namespace blender::nodes::node_shader_bsdf_hair_principled_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_hair_principled()
+void register_node_type_sh_bsdf_hair_principled(void)
{
- namespace file_ns = blender::nodes::node_shader_bsdf_hair_principled_cc;
-
static bNodeType ntype;
sh_node_type_base(
&ntype, SH_NODE_BSDF_HAIR_PRINCIPLED, "Principled Hair BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
+ node_type_socket_templates(
+ &ntype, sh_node_bsdf_hair_principled_in, sh_node_bsdf_hair_principled_out);
node_type_size_preset(&ntype, NODE_SIZE_LARGE);
- node_type_init(&ntype, file_ns::node_shader_init_hair_principled);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_update(&ntype, file_ns::node_shader_update_hair_principled);
+ node_type_init(&ntype, node_shader_init_hair_principled);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_update(&ntype, node_shader_update_hair_principled);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c
index ff01a9d6a91..b9f4106c79a 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c
@@ -17,66 +17,61 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bsdf_principled_cc {
-
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Base Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Subsurface")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Vector>(N_("Subsurface Radius"))
- .default_value({1.0f, 0.2f, 0.1f})
- .min(0.0f)
- .max(100.0f)
- .compact();
- b.add_input<decl::Color>(N_("Subsurface Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Subsurface IOR"))
- .default_value(1.4f)
- .min(1.01f)
- .max(3.8f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Subsurface Anisotropy")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Metallic")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Specular")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Specular Tint")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Roughness"))
- .default_value(0.5f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Anisotropic")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Anisotropic Rotation")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Sheen")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Sheen Tint"))
- .default_value(0.5f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Clearcoat")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Clearcoat Roughness"))
- .default_value(0.03f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("IOR")).default_value(1.45f).min(0.0f).max(1000.0f).subtype(
- PROP_FACTOR);
- b.add_input<decl::Float>(N_("Transmission")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Transmission Roughness")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Color>(N_("Emission")).default_value({0.0f, 0.0f, 0.0f, 1.0f});
- b.add_input<decl::Float>(N_("Emission Strength")).default_value(1.0f).min(0.0f).max(1000000.0f);
- b.add_input<decl::Float>(N_("Alpha"))
- .default_value(1.0f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
- b.add_input<decl::Vector>(N_("Clearcoat Normal")).min(-1.0f).max(1.0f).hide_value();
- b.add_input<decl::Vector>(N_("Tangent")).min(-1.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_principled_in[] = {
+ {SOCK_RGBA, N_("Base Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Subsurface"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_VECTOR,
+ N_("Subsurface Radius"),
+ 1.0f,
+ 0.2f,
+ 0.1f,
+ 0.0f,
+ 0.0f,
+ 100.0f,
+ PROP_NONE,
+ SOCK_COMPACT},
+ {SOCK_RGBA, N_("Subsurface Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Subsurface IOR"), 1.4f, 0.0f, 0.0f, 0.0f, 1.01f, 3.8f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Subsurface Anisotropy"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Metallic"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Specular"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Specular Tint"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Roughness"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Anisotropic"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Anisotropic Rotation"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Sheen"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Sheen Tint"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Clearcoat"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Clearcoat Roughness"), 0.03f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("IOR"), 1.45f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
+ {SOCK_FLOAT, N_("Transmission"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Transmission Roughness"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_RGBA, N_("Emission"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Emission Strength"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f},
+ {SOCK_FLOAT, N_("Alpha"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {SOCK_VECTOR,
+ N_("Clearcoat Normal"),
+ 0.0f,
+ 0.0f,
+ 0.0f,
+ 1.0f,
+ -1.0f,
+ 1.0f,
+ PROP_NONE,
+ SOCK_HIDE_VALUE},
+ {SOCK_VECTOR, N_("Tangent"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
+
+static bNodeSocketTemplate sh_node_bsdf_principled_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
static void node_shader_init_principled(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -127,8 +122,8 @@ static int node_shader_gpu_bsdf_principled(GPUMaterial *mat,
/* SSS Profile */
if (use_subsurf) {
- bNodeSocket *socket = (bNodeSocket *)BLI_findlink(&node->original->inputs, 2);
- bNodeSocketValueRGBA *socket_data = (bNodeSocketValueRGBA *)socket->default_value;
+ bNodeSocket *socket = BLI_findlink(&node->original->inputs, 2);
+ bNodeSocketValueRGBA *socket_data = socket->default_value;
/* For some reason it seems that the socket value is in ARGB format. */
GPU_material_sss_profile_create(mat, &socket_data->value[1]);
}
@@ -156,7 +151,7 @@ static int node_shader_gpu_bsdf_principled(GPUMaterial *mat,
float f_use_refraction = use_refract ? 1.0f : 0.0f;
float use_multi_scatter = (node->custom1 == SHD_GLOSSY_MULTI_GGX) ? 1.0f : 0.0f;
- GPU_material_flag_set(mat, (eGPUMatFlag)flag);
+ GPU_material_flag_set(mat, flag);
return GPU_stack_link(mat,
node,
@@ -177,7 +172,7 @@ static void node_shader_update_principled(bNodeTree *ntree, bNode *node)
const int distribution = node->custom1;
const int sss_method = node->custom2;
- LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
+ for (bNodeSocket *sock = node->inputs.first; sock; sock = sock->next) {
if (STREQ(sock->name, "Transmission Roughness")) {
nodeSetSocketAvailability(ntree, sock, distribution == SHD_GLOSSY_GGX);
}
@@ -188,22 +183,18 @@ static void node_shader_update_principled(bNodeTree *ntree, bNode *node)
}
}
-} // namespace blender::nodes::node_shader_bsdf_principled_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_principled()
+void register_node_type_sh_bsdf_principled(void)
{
- namespace file_ns = blender::nodes::node_shader_bsdf_principled_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BSDF_PRINCIPLED, "Principled BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
+ node_type_socket_templates(&ntype, sh_node_bsdf_principled_in, sh_node_bsdf_principled_out);
node_type_size_preset(&ntype, NODE_SIZE_LARGE);
- node_type_init(&ntype, file_ns::node_shader_init_principled);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_principled);
- node_type_update(&ntype, file_ns::node_shader_update_principled);
+ node_type_init(&ntype, node_shader_init_principled);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_bsdf_principled);
+ node_type_update(&ntype, node_shader_update_principled);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.c
index 432e69331e0..ff33b3456db 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.c
@@ -17,20 +17,22 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bsdf_refraction_cc {
+static bNodeSocketTemplate sh_node_bsdf_refraction_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Roughness"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("IOR"), 1.45f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
+ {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Roughness")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("IOR")).default_value(1.45f).min(0.0f).max(1000.0f);
- b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_refraction_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
static void node_shader_init_refraction(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -56,21 +58,17 @@ static int node_shader_gpu_bsdf_refraction(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_bsdf_refraction", in, out);
}
-} // namespace blender::nodes::node_shader_bsdf_refraction_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_refraction()
+void register_node_type_sh_bsdf_refraction(void)
{
- namespace file_ns = blender::nodes::node_shader_bsdf_refraction_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BSDF_REFRACTION, "Refraction BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
+ node_type_socket_templates(&ntype, sh_node_bsdf_refraction_in, sh_node_bsdf_refraction_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_refraction);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_refraction);
+ node_type_init(&ntype, node_shader_init_refraction);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_bsdf_refraction);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_toon.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_toon.c
index 8d8e198b7fc..2d04fcee40c 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_toon.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_toon.c
@@ -17,24 +17,22 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bsdf_toon_cc {
+static bNodeSocketTemplate sh_node_bsdf_toon_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Size"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Smooth"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Size"))
- .default_value(0.5f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Smooth")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_toon_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
static int node_shader_gpu_bsdf_toon(GPUMaterial *mat,
bNode *node,
@@ -51,21 +49,17 @@ static int node_shader_gpu_bsdf_toon(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_bsdf_toon", in, out);
}
-} // namespace blender::nodes::node_shader_bsdf_toon_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_toon()
+void register_node_type_sh_bsdf_toon(void)
{
- namespace file_ns = blender::nodes::node_shader_bsdf_toon_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BSDF_TOON, "Toon BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
+ node_type_socket_templates(&ntype, sh_node_bsdf_toon_in, sh_node_bsdf_toon_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_toon);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_bsdf_toon);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c
index 5633f422fb8..d2e1a276645 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c
@@ -17,18 +17,20 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bsdf_translucent_cc {
+static bNodeSocketTemplate sh_node_bsdf_translucent_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_translucent_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
static int node_shader_gpu_bsdf_translucent(GPUMaterial *mat,
bNode *node,
@@ -45,20 +47,16 @@ static int node_shader_gpu_bsdf_translucent(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_bsdf_translucent", in, out);
}
-} // namespace blender::nodes::node_shader_bsdf_translucent_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_translucent()
+void register_node_type_sh_bsdf_translucent(void)
{
- namespace file_ns = blender::nodes::node_shader_bsdf_translucent_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BSDF_TRANSLUCENT, "Translucent BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_translucent);
+ node_type_socket_templates(&ntype, sh_node_bsdf_translucent_in, sh_node_bsdf_translucent_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_bsdf_translucent);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c
index 1c8e77781fe..45f8ebf1d52 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c
@@ -17,17 +17,19 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bsdf_transparent_cc {
+static bNodeSocketTemplate sh_node_bsdf_transparent_in[] = {
+ {SOCK_RGBA, N_("Color"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({1.0f, 1.0f, 1.0f, 1.0f});
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_transparent_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
static int node_shader_gpu_bsdf_transparent(GPUMaterial *mat,
bNode *node,
@@ -38,20 +40,16 @@ static int node_shader_gpu_bsdf_transparent(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_bsdf_transparent", in, out);
}
-} // namespace blender::nodes::node_shader_bsdf_transparent_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_transparent()
+void register_node_type_sh_bsdf_transparent(void)
{
- namespace file_ns = blender::nodes::node_shader_bsdf_transparent_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BSDF_TRANSPARENT, "Transparent BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_transparent);
+ node_type_socket_templates(&ntype, sh_node_bsdf_transparent_in, sh_node_bsdf_transparent_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_bsdf_transparent);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c
index 6762b52c959..59e8bbd3c63 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c
@@ -17,23 +17,21 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_bsdf_velvet_cc {
+static bNodeSocketTemplate sh_node_bsdf_velvet_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Sigma"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Sigma"))
- .default_value(1.0f)
- .min(0.0f)
- .max(1.0f)
- .subtype(PROP_FACTOR);
- b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSDF"));
-}
+static bNodeSocketTemplate sh_node_bsdf_velvet_out[] = {
+ {SOCK_SHADER, N_("BSDF")},
+ {-1, ""},
+};
static int node_shader_gpu_bsdf_velvet(GPUMaterial *mat,
bNode *node,
@@ -50,20 +48,16 @@ static int node_shader_gpu_bsdf_velvet(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_bsdf_velvet", in, out);
}
-} // namespace blender::nodes::node_shader_bsdf_velvet_cc
-
/* node type definition */
-void register_node_type_sh_bsdf_velvet()
+void register_node_type_sh_bsdf_velvet(void)
{
- namespace file_ns = blender::nodes::node_shader_bsdf_velvet_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BSDF_VELVET, "Velvet BSDF", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_velvet);
+ node_type_socket_templates(&ntype, sh_node_bsdf_velvet_in, sh_node_bsdf_velvet_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_bsdf_velvet);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bump.cc b/source/blender/nodes/shader/nodes/node_shader_bump.c
index 40871c9ab32..7444ea3952a 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bump.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_bump.c
@@ -21,12 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
/* **************** BUMP ******************** */
-
-namespace blender::nodes::node_shader_bump_cc {
-
/* clang-format off */
static bNodeSocketTemplate sh_node_bump_in[] = {
{SOCK_FLOAT, N_("Strength"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
@@ -57,19 +54,15 @@ static int gpu_shader_bump(GPUMaterial *mat,
mat, node, "node_bump", in, out, GPU_builtin(GPU_VIEW_POSITION), GPU_constant(&invert));
}
-} // namespace blender::nodes::node_shader_bump_cc
-
/* node type definition */
-void register_node_type_sh_bump()
+void register_node_type_sh_bump(void)
{
- namespace file_ns = blender::nodes::node_shader_bump_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BUMP, "Bump", NODE_CLASS_OP_VECTOR, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_bump_in, file_ns::sh_node_bump_out);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::gpu_shader_bump);
+ node_type_socket_templates(&ntype, sh_node_bump_in, sh_node_bump_out);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, gpu_shader_bump);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_camera.cc b/source/blender/nodes/shader/nodes/node_shader_camera.c
index d9349ccf86c..5148104700a 100644
--- a/source/blender/nodes/shader/nodes/node_shader_camera.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_camera.c
@@ -21,12 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
/* **************** CAMERA INFO ******************** */
-
-namespace blender::nodes::node_shader_camera_cc {
-
static bNodeSocketTemplate sh_node_camera_out[] = {
{SOCK_VECTOR, N_("View Vector")},
{SOCK_FLOAT, N_("View Z Depth")},
@@ -47,18 +44,14 @@ static int gpu_shader_camera(GPUMaterial *mat,
return GPU_stack_link(mat, node, "camera", in, out, viewvec);
}
-} // namespace blender::nodes::node_shader_camera_cc
-
-void register_node_type_sh_camera()
+void register_node_type_sh_camera(void)
{
- namespace file_ns = blender::nodes::node_shader_camera_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_CAMERA, "Camera Data", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_camera_out);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::gpu_shader_camera);
+ node_type_socket_templates(&ntype, NULL, sh_node_camera_out);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, gpu_shader_camera);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_clamp.cc b/source/blender/nodes/shader/nodes/node_shader_clamp.cc
index 50577749977..57a992a4275 100644
--- a/source/blender/nodes/shader/nodes/node_shader_clamp.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_clamp.cc
@@ -21,9 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
-namespace blender::nodes::node_shader_clamp_cc {
+namespace blender::nodes {
static void sh_node_clamp_declare(NodeDeclarationBuilder &b)
{
@@ -34,6 +34,8 @@ static void sh_node_clamp_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Result"));
};
+} // namespace blender::nodes
+
static void node_shader_init_clamp(bNodeTree *UNUSED(ntree), bNode *node)
{
node->custom1 = NODE_CLAMP_MINMAX; /* clamp type */
@@ -73,19 +75,15 @@ static void sh_node_clamp_build_multi_function(blender::nodes::NodeMultiFunction
}
}
-} // namespace blender::nodes::node_shader_clamp_cc
-
-void register_node_type_sh_clamp()
+void register_node_type_sh_clamp(void)
{
- namespace file_ns = blender::nodes::node_shader_clamp_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_CLAMP, "Clamp", NODE_CLASS_CONVERTER, 0);
- ntype.declare = file_ns::sh_node_clamp_declare;
- node_type_init(&ntype, file_ns::node_shader_init_clamp);
- node_type_gpu(&ntype, file_ns::gpu_shader_clamp);
- ntype.build_multi_function = file_ns::sh_node_clamp_build_multi_function;
+ ntype.declare = blender::nodes::sh_node_clamp_declare;
+ node_type_init(&ntype, node_shader_init_clamp);
+ node_type_gpu(&ntype, gpu_shader_clamp);
+ ntype.build_multi_function = sh_node_clamp_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_combine_rgb.cc b/source/blender/nodes/shader/nodes/node_shader_combine_rgb.cc
deleted file mode 100644
index f5d401a5044..00000000000
--- a/source/blender/nodes/shader/nodes/node_shader_combine_rgb.cc
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2006 Blender Foundation.
- * All rights reserved.
- */
-
-/** \file
- * \ingroup shdnodes
- */
-
-#include "node_shader_util.hh"
-
-namespace blender::nodes::node_shader_combine_rgb_cc {
-
-static void sh_node_combrgb_declare(NodeDeclarationBuilder &b)
-{
- b.is_function_node();
- b.add_input<decl::Float>(N_("R")).min(0.0f).max(1.0f);
- b.add_input<decl::Float>(N_("G")).min(0.0f).max(1.0f);
- b.add_input<decl::Float>(N_("B")).min(0.0f).max(1.0f);
- b.add_output<decl::Color>(N_("Image"));
-};
-
-static void node_shader_exec_combrgb(void *UNUSED(data),
- int UNUSED(thread),
- bNode *UNUSED(node),
- bNodeExecData *UNUSED(execdata),
- bNodeStack **in,
- bNodeStack **out)
-{
- float r, g, b;
- nodestack_get_vec(&r, SOCK_FLOAT, in[0]);
- nodestack_get_vec(&g, SOCK_FLOAT, in[1]);
- nodestack_get_vec(&b, SOCK_FLOAT, in[2]);
-
- out[0]->vec[0] = r;
- out[0]->vec[1] = g;
- out[0]->vec[2] = b;
-}
-
-static int gpu_shader_combrgb(GPUMaterial *mat,
- bNode *node,
- bNodeExecData *UNUSED(execdata),
- GPUNodeStack *in,
- GPUNodeStack *out)
-{
- return GPU_stack_link(mat, node, "combine_rgb", in, out);
-}
-
-static void sh_node_combrgb_build_multi_function(blender::nodes::NodeMultiFunctionBuilder &builder)
-{
- static blender::fn::CustomMF_SI_SI_SI_SO<float, float, float, blender::ColorGeometry4f> fn{
- "Combine RGB",
- [](float r, float g, float b) { return blender::ColorGeometry4f(r, g, b, 1.0f); }};
- builder.set_matching_fn(fn);
-}
-
-} // namespace blender::nodes::node_shader_combine_rgb_cc
-
-void register_node_type_sh_combrgb()
-{
- namespace file_ns = blender::nodes::node_shader_combine_rgb_cc;
-
- static bNodeType ntype;
-
- sh_fn_node_type_base(&ntype, SH_NODE_COMBRGB, "Combine RGB", NODE_CLASS_CONVERTER, 0);
- ntype.declare = file_ns::sh_node_combrgb_declare;
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_combrgb);
- node_type_gpu(&ntype, file_ns::gpu_shader_combrgb);
- ntype.build_multi_function = file_ns::sh_node_combrgb_build_multi_function;
-
- nodeRegisterType(&ntype);
-}
diff --git a/source/blender/nodes/shader/nodes/node_shader_combine_xyz.cc b/source/blender/nodes/shader/nodes/node_shader_combine_xyz.cc
deleted file mode 100644
index ff5b333a459..00000000000
--- a/source/blender/nodes/shader/nodes/node_shader_combine_xyz.cc
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2014 Blender Foundation.
- * All rights reserved.
- */
-
-/** \file
- * \ingroup shdnodes
- */
-
-#include "node_shader_util.hh"
-
-namespace blender::nodes::node_shader_combine_xyz_cc {
-
-static void sh_node_combxyz_declare(NodeDeclarationBuilder &b)
-{
- b.is_function_node();
- b.add_input<decl::Float>(N_("X")).min(-10000.0f).max(10000.0f);
- b.add_input<decl::Float>(N_("Y")).min(-10000.0f).max(10000.0f);
- b.add_input<decl::Float>(N_("Z")).min(-10000.0f).max(10000.0f);
- b.add_output<decl::Vector>(N_("Vector"));
-};
-
-static int gpu_shader_combxyz(GPUMaterial *mat,
- bNode *node,
- bNodeExecData *UNUSED(execdata),
- GPUNodeStack *in,
- GPUNodeStack *out)
-{
- return GPU_stack_link(mat, node, "combine_xyz", in, out);
-}
-
-static void sh_node_combxyz_build_multi_function(blender::nodes::NodeMultiFunctionBuilder &builder)
-{
- static blender::fn::CustomMF_SI_SI_SI_SO<float, float, float, blender::float3> fn{
- "Combine Vector", [](float x, float y, float z) { return blender::float3(x, y, z); }};
- builder.set_matching_fn(fn);
-}
-
-} // namespace blender::nodes::node_shader_combine_xyz_cc
-
-void register_node_type_sh_combxyz()
-{
- namespace file_ns = blender::nodes::node_shader_combine_xyz_cc;
-
- static bNodeType ntype;
-
- sh_fn_node_type_base(&ntype, SH_NODE_COMBXYZ, "Combine XYZ", NODE_CLASS_CONVERTER, 0);
- ntype.declare = file_ns::sh_node_combxyz_declare;
- node_type_gpu(&ntype, file_ns::gpu_shader_combxyz);
- ntype.build_multi_function = file_ns::sh_node_combxyz_build_multi_function;
-
- nodeRegisterType(&ntype);
-}
diff --git a/source/blender/nodes/shader/nodes/node_shader_common.cc b/source/blender/nodes/shader/nodes/node_shader_common.c
index 156fe437e1a..07ae412d384 100644
--- a/source/blender/nodes/shader/nodes/node_shader_common.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_common.c
@@ -31,7 +31,7 @@
#include "NOD_common.h"
#include "node_common.h"
#include "node_exec.h"
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
#include "RNA_access.h"
@@ -55,7 +55,7 @@ static void move_stack(bNodeStack *to, bNodeStack *from)
to->datatype = from->datatype;
to->is_copy = from->is_copy;
- from->data = nullptr;
+ from->data = NULL;
from->is_copy = 0;
}
}
@@ -68,7 +68,7 @@ static void *group_initexec(bNodeExecContext *context, bNode *node, bNodeInstanc
bNodeTreeExec *exec;
if (!ngroup) {
- return nullptr;
+ return NULL;
}
/* initialize the internal node tree execution */
@@ -91,12 +91,15 @@ static void group_freeexec(void *nodedata)
static void group_copy_inputs(bNode *gnode, bNodeStack **in, bNodeStack *gstack)
{
bNodeTree *ngroup = (bNodeTree *)gnode->id;
+ bNode *node;
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
- LISTBASE_FOREACH (bNode *, node, &ngroup->nodes) {
+ for (node = ngroup->nodes.first; node; node = node->next) {
if (node->type == NODE_GROUP_INPUT) {
- int a;
- LISTBASE_FOREACH_INDEX (bNodeSocket *, sock, &node->outputs, a) {
- bNodeStack *ns = node_get_socket_stack(gstack, sock);
+ for (sock = node->outputs.first, a = 0; sock; sock = sock->next, a++) {
+ ns = node_get_socket_stack(gstack, sock);
if (ns) {
copy_stack(ns, in[a]);
}
@@ -110,12 +113,15 @@ static void group_copy_inputs(bNode *gnode, bNodeStack **in, bNodeStack *gstack)
static void group_move_outputs(bNode *gnode, bNodeStack **out, bNodeStack *gstack)
{
bNodeTree *ngroup = (bNodeTree *)gnode->id;
+ bNode *node;
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
- LISTBASE_FOREACH (bNode *, node, &ngroup->nodes) {
+ for (node = ngroup->nodes.first; node; node = node->next) {
if (node->type == NODE_GROUP_OUTPUT && (node->flag & NODE_DO_OUTPUT)) {
- int a;
- LISTBASE_FOREACH_INDEX (bNodeSocket *, sock, &node->inputs, a) {
- bNodeStack *ns = node_get_socket_stack(gstack, sock);
+ for (sock = node->inputs.first, a = 0; sock; sock = sock->next, a++) {
+ ns = node_get_socket_stack(gstack, sock);
if (ns) {
move_stack(out[a], ns);
}
@@ -132,7 +138,7 @@ static void group_execute(void *data,
struct bNodeStack **in,
struct bNodeStack **out)
{
- bNodeTreeExec *exec = (bNodeTreeExec *)execdata->data;
+ bNodeTreeExec *exec = execdata->data;
bNodeThreadStack *nts;
if (!exec) {
@@ -143,7 +149,8 @@ static void group_execute(void *data,
* it's stupid, but just makes it work. compo redesign will do this better.
*/
{
- LISTBASE_FOREACH (bNode *, inode, &exec->nodetree->nodes) {
+ bNode *inode;
+ for (inode = exec->nodetree->nodes.first; inode; inode = inode->next) {
inode->need_exec = 1;
}
}
@@ -160,12 +167,15 @@ static void group_execute(void *data,
static void group_gpu_copy_inputs(bNode *gnode, GPUNodeStack *in, bNodeStack *gstack)
{
bNodeTree *ngroup = (bNodeTree *)gnode->id;
+ bNode *node;
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
- LISTBASE_FOREACH (bNode *, node, &ngroup->nodes) {
+ for (node = ngroup->nodes.first; node; node = node->next) {
if (node->type == NODE_GROUP_INPUT) {
- int a;
- LISTBASE_FOREACH_INDEX (bNodeSocket *, sock, &node->outputs, a) {
- bNodeStack *ns = node_get_socket_stack(gstack, sock);
+ for (sock = node->outputs.first, a = 0; sock; sock = sock->next, a++) {
+ ns = node_get_socket_stack(gstack, sock);
if (ns) {
/* convert the external gpu stack back to internal node stack data */
node_data_from_gpu_stack(ns, &in[a]);
@@ -180,12 +190,15 @@ static void group_gpu_copy_inputs(bNode *gnode, GPUNodeStack *in, bNodeStack *gs
static void group_gpu_move_outputs(bNode *gnode, GPUNodeStack *out, bNodeStack *gstack)
{
bNodeTree *ngroup = (bNodeTree *)gnode->id;
+ bNode *node;
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
- LISTBASE_FOREACH (bNode *, node, &ngroup->nodes) {
+ for (node = ngroup->nodes.first; node; node = node->next) {
if (node->type == NODE_GROUP_OUTPUT && (node->flag & NODE_DO_OUTPUT)) {
- int a;
- LISTBASE_FOREACH_INDEX (bNodeSocket *, sock, &node->inputs, a) {
- bNodeStack *ns = node_get_socket_stack(gstack, sock);
+ for (sock = node->inputs.first, a = 0; sock; sock = sock->next, a++) {
+ ns = node_get_socket_stack(gstack, sock);
if (ns) {
/* convert the node stack data result back to gpu stack */
node_gpu_stack_from_data(&out[a], sock->type, ns);
@@ -199,20 +212,20 @@ static void group_gpu_move_outputs(bNode *gnode, GPUNodeStack *out, bNodeStack *
static int gpu_group_execute(
GPUMaterial *mat, bNode *node, bNodeExecData *execdata, GPUNodeStack *in, GPUNodeStack *out)
{
- bNodeTreeExec *exec = (bNodeTreeExec *)execdata->data;
+ bNodeTreeExec *exec = execdata->data;
if (!node->id) {
return 0;
}
group_gpu_copy_inputs(node, in, exec->stack);
- ntreeExecGPUNodes(exec, mat, nullptr);
+ ntreeExecGPUNodes(exec, mat, NULL);
group_gpu_move_outputs(node, out, exec->stack);
return 1;
}
-void register_node_type_sh_group()
+void register_node_type_sh_group(void)
{
static bNodeType ntype;
@@ -225,10 +238,10 @@ void register_node_type_sh_group()
ntype.poll_instance = node_group_poll_instance;
ntype.insert_link = node_insert_link_default;
ntype.rna_ext.srna = RNA_struct_find("ShaderNodeGroup");
- BLI_assert(ntype.rna_ext.srna != nullptr);
+ BLI_assert(ntype.rna_ext.srna != NULL);
RNA_struct_blender_type_set(ntype.rna_ext.srna, &ntype);
- node_type_socket_templates(&ntype, nullptr, nullptr);
+ node_type_socket_templates(&ntype, NULL, NULL);
node_type_size(&ntype, 140, 60, 400);
node_type_label(&ntype, node_group_label);
node_type_group_update(&ntype, node_group_update);
@@ -241,10 +254,10 @@ void register_node_type_sh_group()
void register_node_type_sh_custom_group(bNodeType *ntype)
{
/* These methods can be overridden but need a default implementation otherwise. */
- if (ntype->poll == nullptr) {
+ if (ntype->poll == NULL) {
ntype->poll = sh_node_poll_default;
}
- if (ntype->insert_link == nullptr) {
+ if (ntype->insert_link == NULL) {
ntype->insert_link = node_insert_link_default;
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_curves.cc b/source/blender/nodes/shader/nodes/node_shader_curves.cc
index 55bf75217c4..7ce5150bf85 100644
--- a/source/blender/nodes/shader/nodes/node_shader_curves.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_curves.cc
@@ -21,9 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
-namespace blender::nodes::node_shader_curve_vec_cc {
+namespace blender::nodes {
static void sh_node_curve_vec_declare(NodeDeclarationBuilder &b)
{
@@ -33,6 +33,8 @@ static void sh_node_curve_vec_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Vector>(N_("Vector"));
};
+} // namespace blender::nodes
+
static void node_shader_exec_curve_vec(void *UNUSED(data),
int UNUSED(thread),
bNode *node,
@@ -150,29 +152,25 @@ static void sh_node_curve_vec_build_multi_function(
builder.construct_and_set_matching_fn<CurveVecFunction>(*cumap);
}
-} // namespace blender::nodes::node_shader_curve_vec_cc
-
-void register_node_type_sh_curve_vec()
+void register_node_type_sh_curve_vec(void)
{
- namespace file_ns = blender::nodes::node_shader_curve_vec_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_CURVE_VEC, "Vector Curves", NODE_CLASS_OP_VECTOR, 0);
- ntype.declare = file_ns::sh_node_curve_vec_declare;
- node_type_init(&ntype, file_ns::node_shader_init_curve_vec);
+ ntype.declare = blender::nodes::sh_node_curve_vec_declare;
+ node_type_init(&ntype, node_shader_init_curve_vec);
node_type_size_preset(&ntype, NODE_SIZE_LARGE);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
- node_type_exec(&ntype, node_initexec_curves, nullptr, file_ns::node_shader_exec_curve_vec);
- node_type_gpu(&ntype, file_ns::gpu_shader_curve_vec);
- ntype.build_multi_function = file_ns::sh_node_curve_vec_build_multi_function;
+ node_type_exec(&ntype, node_initexec_curves, nullptr, node_shader_exec_curve_vec);
+ node_type_gpu(&ntype, gpu_shader_curve_vec);
+ ntype.build_multi_function = sh_node_curve_vec_build_multi_function;
nodeRegisterType(&ntype);
}
/* **************** CURVE RGB ******************** */
-namespace blender::nodes::node_shader_curve_rgb_cc {
+namespace blender::nodes {
static void sh_node_curve_rgb_declare(NodeDeclarationBuilder &b)
{
@@ -182,6 +180,8 @@ static void sh_node_curve_rgb_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Color"));
};
+} // namespace blender::nodes
+
static void node_shader_exec_curve_rgb(void *UNUSED(data),
int UNUSED(thread),
bNode *node,
@@ -329,29 +329,25 @@ static void sh_node_curve_rgb_build_multi_function(
builder.construct_and_set_matching_fn<CurveRGBFunction>(*cumap);
}
-} // namespace blender::nodes::node_shader_curve_rgb_cc
-
-void register_node_type_sh_curve_rgb()
+void register_node_type_sh_curve_rgb(void)
{
- namespace file_ns = blender::nodes::node_shader_curve_rgb_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, 0);
- ntype.declare = file_ns::sh_node_curve_rgb_declare;
- node_type_init(&ntype, file_ns::node_shader_init_curve_rgb);
+ ntype.declare = blender::nodes::sh_node_curve_rgb_declare;
+ node_type_init(&ntype, node_shader_init_curve_rgb);
node_type_size_preset(&ntype, NODE_SIZE_LARGE);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
- node_type_exec(&ntype, node_initexec_curves, nullptr, file_ns::node_shader_exec_curve_rgb);
- node_type_gpu(&ntype, file_ns::gpu_shader_curve_rgb);
- ntype.build_multi_function = file_ns::sh_node_curve_rgb_build_multi_function;
+ node_type_exec(&ntype, node_initexec_curves, nullptr, node_shader_exec_curve_rgb);
+ node_type_gpu(&ntype, gpu_shader_curve_rgb);
+ ntype.build_multi_function = sh_node_curve_rgb_build_multi_function;
nodeRegisterType(&ntype);
}
/* **************** CURVE FLOAT ******************** */
-namespace blender::nodes::node_shader_curve_float_cc {
+namespace blender::nodes {
static void sh_node_curve_float_declare(NodeDeclarationBuilder &b)
{
@@ -365,6 +361,8 @@ static void sh_node_curve_float_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Value"));
};
+} // namespace blender::nodes
+
static void node_shader_exec_curve_float(void *UNUSED(data),
int UNUSED(thread),
bNode *node,
@@ -475,22 +473,18 @@ static void sh_node_curve_float_build_multi_function(
builder.construct_and_set_matching_fn<CurveFloatFunction>(*cumap);
}
-} // namespace blender::nodes::node_shader_curve_float_cc
-
-void register_node_type_sh_curve_float()
+void register_node_type_sh_curve_float(void)
{
- namespace file_ns = blender::nodes::node_shader_curve_float_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_CURVE_FLOAT, "Float Curve", NODE_CLASS_CONVERTER, 0);
- ntype.declare = file_ns::sh_node_curve_float_declare;
- node_type_init(&ntype, file_ns::node_shader_init_curve_float);
+ ntype.declare = blender::nodes::sh_node_curve_float_declare;
+ node_type_init(&ntype, node_shader_init_curve_float);
node_type_size_preset(&ntype, NODE_SIZE_LARGE);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
- node_type_exec(&ntype, node_initexec_curves, nullptr, file_ns::node_shader_exec_curve_float);
- node_type_gpu(&ntype, file_ns::gpu_shader_curve_float);
- ntype.build_multi_function = file_ns::sh_node_curve_float_build_multi_function;
+ node_type_exec(&ntype, node_initexec_curves, nullptr, node_shader_exec_curve_float);
+ node_type_gpu(&ntype, gpu_shader_curve_float);
+ ntype.build_multi_function = sh_node_curve_float_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_displacement.cc b/source/blender/nodes/shader/nodes/node_shader_displacement.c
index 238f2014fa7..e7deef23428 100644
--- a/source/blender/nodes/shader/nodes/node_shader_displacement.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_displacement.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_displacement_cc {
-
static bNodeSocketTemplate sh_node_displacement_in[] = {
{SOCK_FLOAT, N_("Height"), 0.00f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
{SOCK_FLOAT, N_("Midlevel"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
@@ -70,21 +68,16 @@ static int gpu_shader_displacement(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_displacement_world", in, out);
}
-} // namespace blender::nodes::node_shader_displacement_cc
-
/* node type definition */
-void register_node_type_sh_displacement()
+void register_node_type_sh_displacement(void)
{
- namespace file_ns = blender::nodes::node_shader_displacement_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_DISPLACEMENT, "Displacement", NODE_CLASS_OP_VECTOR, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_displacement_in, file_ns::sh_node_displacement_out);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_init(&ntype, file_ns::node_shader_init_displacement);
- node_type_gpu(&ntype, file_ns::gpu_shader_displacement);
+ node_type_socket_templates(&ntype, sh_node_displacement_in, sh_node_displacement_out);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_init(&ntype, node_shader_init_displacement);
+ node_type_gpu(&ntype, gpu_shader_displacement);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_eevee_specular.cc b/source/blender/nodes/shader/nodes/node_shader_eevee_specular.c
index 190ed0c1590..015af19abb2 100644
--- a/source/blender/nodes/shader/nodes/node_shader_eevee_specular.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_eevee_specular.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_eevee_specular_cc {
-
static bNodeSocketTemplate sh_node_eevee_specular_in[] = {
{SOCK_RGBA, N_("Base Color"), 0.8f, 0.8f, 0.8f, 1.0f},
{SOCK_RGBA, N_("Specular"), 0.03f, 0.03f, 0.03f, 1.0f},
@@ -83,26 +81,21 @@ static int node_shader_gpu_eevee_specular(GPUMaterial *mat,
GPU_link(mat, "set_value", GPU_constant(&one), &in[9].link);
}
- GPU_material_flag_set(mat, (eGPUMatFlag)(GPU_MATFLAG_DIFFUSE | GPU_MATFLAG_GLOSSY));
+ GPU_material_flag_set(mat, GPU_MATFLAG_DIFFUSE | GPU_MATFLAG_GLOSSY);
return GPU_stack_link(mat, node, "node_eevee_specular", in, out, GPU_constant(&node->ssr_id));
}
-} // namespace blender::nodes::node_shader_eevee_specular_cc
-
/* node type definition */
-void register_node_type_sh_eevee_specular()
+void register_node_type_sh_eevee_specular(void)
{
- namespace file_ns = blender::nodes::node_shader_eevee_specular_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_EEVEE_SPECULAR, "Specular BSDF", NODE_CLASS_SHADER, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_eevee_specular_in, file_ns::sh_node_eevee_specular_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_eevee_specular);
+ node_type_socket_templates(&ntype, sh_node_eevee_specular_in, sh_node_eevee_specular_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_eevee_specular);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_emission.cc b/source/blender/nodes/shader/nodes/node_shader_emission.c
index afd250b1a9a..13f040fca48 100644
--- a/source/blender/nodes/shader/nodes/node_shader_emission.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_emission.c
@@ -17,18 +17,20 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_emission_cc {
+static bNodeSocketTemplate sh_node_emission_in[] = {
+ {SOCK_RGBA, N_("Color"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Strength"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({1.0f, 1.0f, 1.0f, 1.0f});
- b.add_input<decl::Float>(N_("Strength")).default_value(1.0f).min(0.0f).max(1000000.0f);
- b.add_output<decl::Shader>(N_("Emission"));
-}
+static bNodeSocketTemplate sh_node_emission_out[] = {
+ {SOCK_SHADER, N_("Emission")},
+ {-1, ""},
+};
static int node_shader_gpu_emission(GPUMaterial *mat,
bNode *node,
@@ -39,20 +41,16 @@ static int node_shader_gpu_emission(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_emission", in, out, GPU_builtin(GPU_VIEW_NORMAL));
}
-} // namespace blender::nodes::node_shader_emission_cc
-
/* node type definition */
-void register_node_type_sh_emission()
+void register_node_type_sh_emission(void)
{
- namespace file_ns = blender::nodes::node_shader_emission_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_EMISSION, "Emission", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_emission);
+ node_type_socket_templates(&ntype, sh_node_emission_in, sh_node_emission_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_emission);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_fresnel.cc b/source/blender/nodes/shader/nodes/node_shader_fresnel.c
index 92688fbabea..0af4e4ff5fb 100644
--- a/source/blender/nodes/shader/nodes/node_shader_fresnel.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_fresnel.c
@@ -17,12 +17,9 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** Fresnel ******************** */
-
-namespace blender::nodes::node_shader_fresnel_cc {
-
static bNodeSocketTemplate sh_node_fresnel_in[] = {
{SOCK_FLOAT, N_("IOR"), 1.45f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
{SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
@@ -60,21 +57,17 @@ static void node_shader_exec_fresnel(void *UNUSED(data),
{
}
-} // namespace blender::nodes::node_shader_fresnel_cc
-
/* node type definition */
-void register_node_type_sh_fresnel()
+void register_node_type_sh_fresnel(void)
{
- namespace file_ns = blender::nodes::node_shader_fresnel_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_FRESNEL, "Fresnel", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_fresnel_in, file_ns::sh_node_fresnel_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_fresnel);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_fresnel);
+ node_type_socket_templates(&ntype, sh_node_fresnel_in, sh_node_fresnel_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_fresnel);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_fresnel);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_gamma.cc b/source/blender/nodes/shader/nodes/node_shader_gamma.c
index ecac578701a..b48838e5f56 100644
--- a/source/blender/nodes/shader/nodes/node_shader_gamma.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_gamma.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
/* **************** Gamma Tools ******************** */
-namespace blender::nodes::node_shader_gamma_cc {
-
static bNodeSocketTemplate sh_node_gamma_in[] = {
{SOCK_RGBA, N_("Color"), 1.0f, 1.0f, 1.0f, 1.0f},
{SOCK_FLOAT, N_("Gamma"), 1.0f, 0.0f, 0.0f, 0.0f, 0.001f, 10.0f, PROP_UNSIGNED},
@@ -60,20 +58,16 @@ static int node_shader_gpu_gamma(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_gamma", in, out);
}
-} // namespace blender::nodes::node_shader_gamma_cc
-
-void register_node_type_sh_gamma()
+void register_node_type_sh_gamma(void)
{
- namespace file_ns = blender::nodes::node_shader_gamma_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_GAMMA, "Gamma", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_gamma_in, file_ns::sh_node_gamma_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_gamma);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_gamma);
+ node_type_socket_templates(&ntype, sh_node_gamma_in, sh_node_gamma_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_gamma);
+ node_type_gpu(&ntype, node_shader_gpu_gamma);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_geometry.cc b/source/blender/nodes/shader/nodes/node_shader_geometry.c
index 22c865cf82c..f66633e64c8 100644
--- a/source/blender/nodes/shader/nodes/node_shader_geometry.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_geometry.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_geometry_cc {
-
static bNodeSocketTemplate sh_node_geometry_out[] = {
{SOCK_VECTOR, N_("Position"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
@@ -81,27 +79,23 @@ static int node_shader_gpu_geometry(GPUMaterial *mat,
out[i].link,
out[i].link,
&out[i].link,
- nullptr);
+ NULL);
}
}
return success;
}
-} // namespace blender::nodes::node_shader_geometry_cc
-
/* node type definition */
-void register_node_type_sh_geometry()
+void register_node_type_sh_geometry(void)
{
- namespace file_ns = blender::nodes::node_shader_geometry_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_NEW_GEOMETRY, "Geometry", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_geometry_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_geometry);
+ node_type_socket_templates(&ntype, NULL, sh_node_geometry_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_geometry);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_hair_info.cc b/source/blender/nodes/shader/nodes/node_shader_hair_info.c
index 76d5553c0d0..c721fb9c77a 100644
--- a/source/blender/nodes/shader/nodes/node_shader_hair_info.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_hair_info.c
@@ -17,9 +17,7 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
-
-namespace blender::nodes::node_shader_hair_info_cc {
+#include "../node_shader_util.h"
static bNodeSocketTemplate outputs[] = {
{SOCK_FLOAT, N_("Is Strand"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
@@ -45,20 +43,16 @@ static int node_shader_gpu_hair_info(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_hair_info", in, out, length_link);
}
-} // namespace blender::nodes::node_shader_hair_info_cc
-
/* node type definition */
-void register_node_type_sh_hair_info()
+void register_node_type_sh_hair_info(void)
{
- namespace file_ns = blender::nodes::node_shader_hair_info_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_HAIR_INFO, "Hair Info", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::outputs);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_hair_info);
+ node_type_socket_templates(&ntype, NULL, outputs);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_hair_info);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_holdout.cc b/source/blender/nodes/shader/nodes/node_shader_holdout.c
index 02bfda39d78..b58f86c1fc0 100644
--- a/source/blender/nodes/shader/nodes/node_shader_holdout.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_holdout.c
@@ -17,16 +17,18 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_holdout_cc {
+static bNodeSocketTemplate sh_node_holdout_in[] = {
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_output<decl::Shader>(N_("Holdout"));
-}
+static bNodeSocketTemplate sh_node_holdout_out[] = {
+ {SOCK_SHADER, N_("Holdout")},
+ {-1, ""},
+};
static int gpu_shader_rgb(GPUMaterial *mat,
bNode *node,
@@ -37,20 +39,16 @@ static int gpu_shader_rgb(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_holdout", in, out);
}
-} // namespace blender::nodes::node_shader_holdout_cc
-
/* node type definition */
-void register_node_type_sh_holdout()
+void register_node_type_sh_holdout(void)
{
- namespace file_ns = blender::nodes::node_shader_holdout_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_HOLDOUT, "Holdout", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::gpu_shader_rgb);
+ node_type_socket_templates(&ntype, sh_node_holdout_in, sh_node_holdout_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, gpu_shader_rgb);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_hueSatVal.cc b/source/blender/nodes/shader/nodes/node_shader_hueSatVal.c
index 101166b1e6d..50eb5bf32c9 100644
--- a/source/blender/nodes/shader/nodes/node_shader_hueSatVal.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_hueSatVal.c
@@ -21,12 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
/* **************** Hue Saturation ******************** */
-
-namespace blender::nodes::node_shader_hueSatVal_cc {
-
static bNodeSocketTemplate sh_node_hue_sat_in[] = {
{SOCK_FLOAT, N_("Hue"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
{SOCK_FLOAT, N_("Saturation"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, PROP_NONE},
@@ -88,19 +85,15 @@ static int gpu_shader_hue_sat(GPUMaterial *mat,
return GPU_stack_link(mat, node, "hue_sat", in, out);
}
-} // namespace blender::nodes::node_shader_hueSatVal_cc
-
-void register_node_type_sh_hue_sat()
+void register_node_type_sh_hue_sat(void)
{
- namespace file_ns = blender::nodes::node_shader_hueSatVal_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_hue_sat_in, file_ns::sh_node_hue_sat_out);
+ node_type_socket_templates(&ntype, sh_node_hue_sat_in, sh_node_hue_sat_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_hue_sat);
- node_type_gpu(&ntype, file_ns::gpu_shader_hue_sat);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_hue_sat);
+ node_type_gpu(&ntype, gpu_shader_hue_sat);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_ies_light.cc b/source/blender/nodes/shader/nodes/node_shader_ies_light.c
index 9bf402d055c..9cc5fd46181 100644
--- a/source/blender/nodes/shader/nodes/node_shader_ies_light.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_ies_light.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** IES Light ******************** */
-namespace blender::nodes::node_shader_ies_light_cc {
-
static bNodeSocketTemplate sh_node_tex_ies_in[] = {
{SOCK_VECTOR, N_("Vector"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
{SOCK_FLOAT, N_("Strength"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f, PROP_NONE},
@@ -36,23 +34,18 @@ static bNodeSocketTemplate sh_node_tex_ies_out[] = {
static void node_shader_init_tex_ies(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeShaderTexIES *tex = (NodeShaderTexIES *)MEM_callocN(sizeof(NodeShaderTexIES),
- "NodeShaderIESLight");
+ NodeShaderTexIES *tex = MEM_callocN(sizeof(NodeShaderTexIES), "NodeShaderIESLight");
node->storage = tex;
}
-} // namespace blender::nodes::node_shader_ies_light_cc
-
/* node type definition */
-void register_node_type_sh_tex_ies()
+void register_node_type_sh_tex_ies(void)
{
- namespace file_ns = blender::nodes::node_shader_ies_light_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_TEX_IES, "IES Texture", NODE_CLASS_TEXTURE, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_tex_ies_in, file_ns::sh_node_tex_ies_out);
- node_type_init(&ntype, file_ns::node_shader_init_tex_ies);
+ node_type_socket_templates(&ntype, sh_node_tex_ies_in, sh_node_tex_ies_out);
+ node_type_init(&ntype, node_shader_init_tex_ies);
node_type_storage(
&ntype, "NodeShaderTexIES", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/shader/nodes/node_shader_invert.cc b/source/blender/nodes/shader/nodes/node_shader_invert.c
index e3981eab88c..0d6709a1968 100644
--- a/source/blender/nodes/shader/nodes/node_shader_invert.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_invert.c
@@ -21,12 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
/* **************** INVERT ******************** */
-
-namespace blender::nodes::node_shader_invert_cc {
-
static bNodeSocketTemplate sh_node_invert_in[] = {
{SOCK_FLOAT, N_("Fac"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{SOCK_RGBA, N_("Color"), 0.0f, 0.0f, 0.0f, 1.0f},
@@ -68,18 +65,14 @@ static int gpu_shader_invert(GPUMaterial *mat,
return GPU_stack_link(mat, node, "invert", in, out);
}
-} // namespace blender::nodes::node_shader_invert_cc
-
-void register_node_type_sh_invert()
+void register_node_type_sh_invert(void)
{
- namespace file_ns = blender::nodes::node_shader_invert_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_invert_in, file_ns::sh_node_invert_out);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_invert);
- node_type_gpu(&ntype, file_ns::gpu_shader_invert);
+ node_type_socket_templates(&ntype, sh_node_invert_in, sh_node_invert_out);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_invert);
+ node_type_gpu(&ntype, gpu_shader_invert);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_layer_weight.cc b/source/blender/nodes/shader/nodes/node_shader_layer_weight.c
index b87f25eb483..c26b40b081c 100644
--- a/source/blender/nodes/shader/nodes/node_shader_layer_weight.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_layer_weight.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** Layer Weight ******************** */
-namespace blender::nodes::node_shader_layer_weight_cc {
-
static bNodeSocketTemplate sh_node_layer_weight_in[] = {
{SOCK_FLOAT, N_("Blend"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
@@ -61,22 +59,17 @@ static void node_shader_exec_layer_weight(void *UNUSED(data),
{
}
-} // namespace blender::nodes::node_shader_layer_weight_cc
-
/* node type definition */
-void register_node_type_sh_layer_weight()
+void register_node_type_sh_layer_weight(void)
{
- namespace file_ns = blender::nodes::node_shader_layer_weight_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_LAYER_WEIGHT, "Layer Weight", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_layer_weight_in, file_ns::sh_node_layer_weight_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_layer_weight);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_layer_weight);
+ node_type_socket_templates(&ntype, sh_node_layer_weight_in, sh_node_layer_weight_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_layer_weight);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_layer_weight);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_light_falloff.cc b/source/blender/nodes/shader/nodes/node_shader_light_falloff.c
index 7568505b9f1..22172221f77 100644
--- a/source/blender/nodes/shader/nodes/node_shader_light_falloff.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_light_falloff.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** INPUT ********************* */
-namespace blender::nodes::node_shader_light_falloff_cc {
-
static bNodeSocketTemplate sh_node_light_falloff_in[] = {
{SOCK_FLOAT, N_("Strength"), 100.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000000.0f},
{SOCK_FLOAT, N_("Smooth"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
@@ -47,22 +45,17 @@ static int node_shader_gpu_light_falloff(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_light_falloff", in, out);
}
-} // namespace blender::nodes::node_shader_light_falloff_cc
-
/* node type definition */
-void register_node_type_sh_light_falloff()
+void register_node_type_sh_light_falloff(void)
{
- namespace file_ns = blender::nodes::node_shader_light_falloff_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_LIGHT_FALLOFF, "Light Falloff", NODE_CLASS_OP_COLOR, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_light_falloff_in, file_ns::sh_node_light_falloff_out);
+ node_type_socket_templates(&ntype, sh_node_light_falloff_in, sh_node_light_falloff_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_light_falloff);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_light_falloff);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_light_path.cc b/source/blender/nodes/shader/nodes/node_shader_light_path.c
index 5e3f316ad7a..45ad2133ee8 100644
--- a/source/blender/nodes/shader/nodes/node_shader_light_path.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_light_path.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_light_path_cc {
-
static bNodeSocketTemplate sh_node_light_path_out[] = {
{SOCK_FLOAT, N_("Is Camera Ray"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{SOCK_FLOAT, N_("Is Shadow Ray"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
@@ -49,20 +47,16 @@ static int node_shader_gpu_light_path(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_light_path", in, out);
}
-} // namespace blender::nodes::node_shader_light_path_cc
-
/* node type definition */
-void register_node_type_sh_light_path()
+void register_node_type_sh_light_path(void)
{
- namespace file_ns = blender::nodes::node_shader_light_path_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_LIGHT_PATH, "Light Path", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_light_path_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_light_path);
+ node_type_socket_templates(&ntype, NULL, sh_node_light_path_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_light_path);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_map_range.cc b/source/blender/nodes/shader/nodes/node_shader_map_range.cc
index f8fcd15a1c9..e55963eb500 100644
--- a/source/blender/nodes/shader/nodes/node_shader_map_range.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_map_range.cc
@@ -21,11 +21,11 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
#include "BLI_math_base_safe.h"
-namespace blender::nodes::node_shader_map_range_cc {
+namespace blender::nodes {
static void sh_node_map_range_declare(NodeDeclarationBuilder &b)
{
@@ -39,6 +39,8 @@ static void sh_node_map_range_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Result"));
};
+} // namespace blender::nodes
+
static void node_shader_update_map_range(bNodeTree *ntree, bNode *node)
{
bNodeSocket *sockSteps = nodeFindSocket(node, SOCK_IN, "Steps");
@@ -305,20 +307,16 @@ static void sh_node_map_range_build_multi_function(
}
}
-} // namespace blender::nodes::node_shader_map_range_cc
-
-void register_node_type_sh_map_range()
+void register_node_type_sh_map_range(void)
{
- namespace file_ns = blender::nodes::node_shader_map_range_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_MAP_RANGE, "Map Range", NODE_CLASS_CONVERTER, 0);
- ntype.declare = file_ns::sh_node_map_range_declare;
- node_type_init(&ntype, file_ns::node_shader_init_map_range);
- node_type_update(&ntype, file_ns::node_shader_update_map_range);
- node_type_gpu(&ntype, file_ns::gpu_shader_map_range);
- ntype.build_multi_function = file_ns::sh_node_map_range_build_multi_function;
+ ntype.declare = blender::nodes::sh_node_map_range_declare;
+ node_type_init(&ntype, node_shader_init_map_range);
+ node_type_update(&ntype, node_shader_update_map_range);
+ node_type_gpu(&ntype, gpu_shader_map_range);
+ ntype.build_multi_function = sh_node_map_range_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_mapping.cc b/source/blender/nodes/shader/nodes/node_shader_mapping.c
index ef72dc59095..cabfecdb6ee 100644
--- a/source/blender/nodes/shader/nodes/node_shader_mapping.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_mapping.c
@@ -21,12 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
/* **************** MAPPING ******************** */
-
-namespace blender::nodes::node_shader_mapping_cc {
-
static bNodeSocketTemplate sh_node_mapping_in[] = {
{SOCK_VECTOR, N_("Vector"), 0.0f, 0.0f, 0.0f, 1.0f, -FLT_MAX, FLT_MAX, PROP_NONE},
{SOCK_VECTOR, N_("Location"), 0.0f, 0.0f, 0.0f, 1.0f, -FLT_MAX, FLT_MAX, PROP_TRANSLATION},
@@ -47,10 +44,10 @@ static int gpu_shader_mapping(GPUMaterial *mat,
GPUNodeStack *out)
{
static const char *names[] = {
- "mapping_point",
- "mapping_texture",
- "mapping_vector",
- "mapping_normal",
+ [NODE_MAPPING_TYPE_POINT] = "mapping_point",
+ [NODE_MAPPING_TYPE_TEXTURE] = "mapping_texture",
+ [NODE_MAPPING_TYPE_VECTOR] = "mapping_vector",
+ [NODE_MAPPING_TYPE_NORMAL] = "mapping_normal",
};
if (node->custom1 < ARRAY_SIZE(names) && names[node->custom1]) {
@@ -67,18 +64,14 @@ static void node_shader_update_mapping(bNodeTree *ntree, bNode *node)
ntree, sock, ELEM(node->custom1, NODE_MAPPING_TYPE_POINT, NODE_MAPPING_TYPE_TEXTURE));
}
-} // namespace blender::nodes::node_shader_mapping_cc
-
-void register_node_type_sh_mapping()
+void register_node_type_sh_mapping(void)
{
- namespace file_ns = blender::nodes::node_shader_mapping_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_MAPPING, "Mapping", NODE_CLASS_OP_VECTOR, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_mapping_in, file_ns::sh_node_mapping_out);
- node_type_gpu(&ntype, file_ns::gpu_shader_mapping);
- node_type_update(&ntype, file_ns::node_shader_update_mapping);
+ node_type_socket_templates(&ntype, sh_node_mapping_in, sh_node_mapping_out);
+ node_type_gpu(&ntype, gpu_shader_mapping);
+ node_type_update(&ntype, node_shader_update_mapping);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_math.cc b/source/blender/nodes/shader/nodes/node_shader_math.cc
index 5fca37aecb4..1e94148c5c7 100644
--- a/source/blender/nodes/shader/nodes/node_shader_math.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_math.cc
@@ -21,13 +21,13 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
#include "NOD_math_functions.hh"
/* **************** SCALAR MATH ******************** */
-namespace blender::nodes::node_shader_math_cc {
+namespace blender::nodes {
static void sh_node_math_declare(NodeDeclarationBuilder &b)
{
@@ -44,6 +44,8 @@ static void sh_node_math_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Value"));
};
+} // namespace blender::nodes
+
static const char *gpu_shader_get_name(int mode)
{
const blender::nodes::FloatMathOperationInfo *info =
@@ -159,20 +161,16 @@ static void sh_node_math_build_multi_function(blender::nodes::NodeMultiFunctionB
}
}
-} // namespace blender::nodes::node_shader_math_cc
-
-void register_node_type_sh_math()
+void register_node_type_sh_math(void)
{
- namespace file_ns = blender::nodes::node_shader_math_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_MATH, "Math", NODE_CLASS_CONVERTER, 0);
- ntype.declare = file_ns::sh_node_math_declare;
+ ntype.declare = blender::nodes::sh_node_math_declare;
node_type_label(&ntype, node_math_label);
- node_type_gpu(&ntype, file_ns::gpu_shader_math);
+ node_type_gpu(&ntype, gpu_shader_math);
node_type_update(&ntype, node_math_update);
- ntype.build_multi_function = file_ns::sh_node_math_build_multi_function;
+ ntype.build_multi_function = sh_node_math_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_mix_rgb.cc b/source/blender/nodes/shader/nodes/node_shader_mixRgb.cc
index 288161d1463..06fafff578e 100644
--- a/source/blender/nodes/shader/nodes/node_shader_mix_rgb.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_mixRgb.cc
@@ -21,9 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
-namespace blender::nodes::node_shader_mix_rgb_cc {
+namespace blender::nodes {
static void sh_node_mix_rgb_declare(NodeDeclarationBuilder &b)
{
@@ -34,6 +34,8 @@ static void sh_node_mix_rgb_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Color"));
};
+} // namespace blender::nodes
+
static void node_shader_exec_mix_rgb(void *UNUSED(data),
int UNUSED(thread),
bNode *node,
@@ -181,20 +183,16 @@ static void sh_node_mix_rgb_build_multi_function(blender::nodes::NodeMultiFuncti
builder.construct_and_set_matching_fn<MixRGBFunction>(clamp, mix_type);
}
-} // namespace blender::nodes::node_shader_mix_rgb_cc
-
-void register_node_type_sh_mix_rgb()
+void register_node_type_sh_mix_rgb(void)
{
- namespace file_ns = blender::nodes::node_shader_mix_rgb_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, 0);
- ntype.declare = file_ns::sh_node_mix_rgb_declare;
+ ntype.declare = blender::nodes::sh_node_mix_rgb_declare;
node_type_label(&ntype, node_blend_label);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_mix_rgb);
- node_type_gpu(&ntype, file_ns::gpu_shader_mix_rgb);
- ntype.build_multi_function = file_ns::sh_node_mix_rgb_build_multi_function;
+ node_type_exec(&ntype, nullptr, nullptr, node_shader_exec_mix_rgb);
+ node_type_gpu(&ntype, gpu_shader_mix_rgb);
+ ntype.build_multi_function = sh_node_mix_rgb_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_mix_shader.cc b/source/blender/nodes/shader/nodes/node_shader_mix_shader.c
index 7254a0b2976..33cbf34543c 100644
--- a/source/blender/nodes/shader/nodes/node_shader_mix_shader.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_mix_shader.c
@@ -17,19 +17,21 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_mix_shader_cc {
+static bNodeSocketTemplate sh_node_mix_shader_in[] = {
+ {SOCK_FLOAT, N_("Fac"), 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_SHADER, N_("Shader")},
+ {SOCK_SHADER, N_("Shader")},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Float>(N_("Fac")).default_value(0.5f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Shader>(N_("Shader"));
- b.add_input<decl::Shader>(N_("Shader"), "Shader_001");
- b.add_output<decl::Shader>(N_("Shader"));
-}
+static bNodeSocketTemplate sh_node_mix_shader_out[] = {
+ {SOCK_SHADER, N_("Shader")},
+ {-1, ""},
+};
static int node_shader_gpu_mix_shader(GPUMaterial *mat,
bNode *node,
@@ -40,20 +42,16 @@ static int node_shader_gpu_mix_shader(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_mix_shader", in, out);
}
-} // namespace blender::nodes::node_shader_mix_shader_cc
-
/* node type definition */
-void register_node_type_sh_mix_shader()
+void register_node_type_sh_mix_shader(void)
{
- namespace file_ns = blender::nodes::node_shader_mix_shader_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_MIX_SHADER, "Mix Shader", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_mix_shader);
+ node_type_socket_templates(&ntype, sh_node_mix_shader_in, sh_node_mix_shader_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_mix_shader);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_normal.cc b/source/blender/nodes/shader/nodes/node_shader_normal.c
index 3f8e2e7fc26..83d5abcba67 100644
--- a/source/blender/nodes/shader/nodes/node_shader_normal.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_normal.c
@@ -21,12 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
/* **************** NORMAL ******************** */
-
-namespace blender::nodes::node_shader_normal_cc {
-
static bNodeSocketTemplate sh_node_normal_in[] = {
{SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 1.0f, 0.0f, -1.0f, 1.0f, PROP_DIRECTION},
{-1, ""},
@@ -67,18 +64,14 @@ static int gpu_shader_normal(GPUMaterial *mat,
return GPU_stack_link(mat, node, "normal_new_shading", in, out, vec);
}
-} // namespace blender::nodes::node_shader_normal_cc
-
-void register_node_type_sh_normal()
+void register_node_type_sh_normal(void)
{
- namespace file_ns = blender::nodes::node_shader_normal_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_NORMAL, "Normal", NODE_CLASS_OP_VECTOR, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_normal_in, file_ns::sh_node_normal_out);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_normal);
- node_type_gpu(&ntype, file_ns::gpu_shader_normal);
+ node_type_socket_templates(&ntype, sh_node_normal_in, sh_node_normal_out);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_normal);
+ node_type_gpu(&ntype, gpu_shader_normal);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_normal_map.cc b/source/blender/nodes/shader/nodes/node_shader_normal_map.c
index ec77fcfeefe..493acb06963 100644
--- a/source/blender/nodes/shader/nodes/node_shader_normal_map.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_normal_map.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_normal_map_cc {
-
static bNodeSocketTemplate sh_node_normal_map_in[] = {
{SOCK_FLOAT, N_("Strength"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f},
{SOCK_RGBA, N_("Color"), 0.5f, 0.5f, 1.0f, 1.0f, 0.0f, 1.0f},
@@ -36,8 +34,7 @@ static bNodeSocketTemplate sh_node_normal_map_out[] = {
static void node_shader_init_normal_map(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeShaderNormalMap *attr = (NodeShaderNormalMap *)MEM_callocN(sizeof(NodeShaderNormalMap),
- "NodeShaderNormalMap");
+ NodeShaderNormalMap *attr = MEM_callocN(sizeof(NodeShaderNormalMap), "NodeShaderNormalMap");
node->storage = attr;
}
@@ -56,15 +53,15 @@ static int gpu_shader_normal_map(GPUMaterial *mat,
GPUNodeStack *in,
GPUNodeStack *out)
{
- NodeShaderNormalMap *nm = (NodeShaderNormalMap *)node->storage;
+ NodeShaderNormalMap *nm = node->storage;
GPUNodeLink *strength;
if (in[0].link) {
strength = in[0].link;
}
else if (node->original) {
- bNodeSocket *socket = (bNodeSocket *)BLI_findlink(&node->original->inputs, 0);
- bNodeSocketValueFloat *socket_data = (bNodeSocketValueFloat *)socket->default_value;
+ bNodeSocket *socket = BLI_findlink(&node->original->inputs, 0);
+ bNodeSocketValueFloat *socket_data = socket->default_value;
strength = GPU_uniform(&socket_data->value);
}
else {
@@ -76,8 +73,8 @@ static int gpu_shader_normal_map(GPUMaterial *mat,
newnormal = in[1].link;
}
else if (node->original) {
- bNodeSocket *socket = (bNodeSocket *)BLI_findlink(&node->original->inputs, 1);
- bNodeSocketValueRGBA *socket_data = (bNodeSocketValueRGBA *)socket->default_value;
+ bNodeSocket *socket = BLI_findlink(&node->original->inputs, 1);
+ bNodeSocketValueRGBA *socket_data = socket->default_value;
newnormal = GPU_uniform(socket_data->value);
}
else {
@@ -117,24 +114,19 @@ static int gpu_shader_normal_map(GPUMaterial *mat,
return true;
}
-} // namespace blender::nodes::node_shader_normal_map_cc
-
/* node type definition */
-void register_node_type_sh_normal_map()
+void register_node_type_sh_normal_map(void)
{
- namespace file_ns = blender::nodes::node_shader_normal_map_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_NORMAL_MAP, "Normal Map", NODE_CLASS_OP_VECTOR, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_normal_map_in, file_ns::sh_node_normal_map_out);
+ node_type_socket_templates(&ntype, sh_node_normal_map_in, sh_node_normal_map_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_normal_map);
+ node_type_init(&ntype, node_shader_init_normal_map);
node_type_storage(
&ntype, "NodeShaderNormalMap", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::gpu_shader_normal_map);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_normal_map);
+ node_type_gpu(&ntype, gpu_shader_normal_map);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_normal_map);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_object_info.cc b/source/blender/nodes/shader/nodes/node_shader_object_info.c
index 928756284ab..47040954c9e 100644
--- a/source/blender/nodes/shader/nodes/node_shader_object_info.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_object_info.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_object_info_cc {
-
static bNodeSocketTemplate sh_node_object_info_out[] = {
{SOCK_VECTOR, N_("Location"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{SOCK_RGBA, N_("Color"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
@@ -51,17 +49,13 @@ static int node_shader_gpu_object_info(GPUMaterial *mat,
GPU_constant(&index));
}
-} // namespace blender::nodes::node_shader_object_info_cc
-
-void register_node_type_sh_object_info()
+void register_node_type_sh_object_info(void)
{
- namespace file_ns = blender::nodes::node_shader_object_info_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_OBJECT_INFO, "Object Info", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_object_info_out);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_object_info);
+ node_type_socket_templates(&ntype, NULL, sh_node_object_info_out);
+ node_type_gpu(&ntype, node_shader_gpu_object_info);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_output_aov.cc b/source/blender/nodes/shader/nodes/node_shader_output_aov.c
index 363d8da3f92..32765b459ca 100644
--- a/source/blender/nodes/shader/nodes/node_shader_output_aov.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_output_aov.c
@@ -17,14 +17,12 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "BLI_hash.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_output_aov_cc {
-
static bNodeSocketTemplate sh_node_output_aov_in[] = {
{SOCK_RGBA, N_("Color"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
{SOCK_FLOAT, N_("Value"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
@@ -33,8 +31,7 @@ static bNodeSocketTemplate sh_node_output_aov_in[] = {
static void node_shader_init_output_aov(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeShaderOutputAOV *aov = (NodeShaderOutputAOV *)MEM_callocN(sizeof(NodeShaderOutputAOV),
- "NodeShaderOutputAOV");
+ NodeShaderOutputAOV *aov = MEM_callocN(sizeof(NodeShaderOutputAOV), "NodeShaderOutputAOV");
node->storage = aov;
}
@@ -55,21 +52,17 @@ static int node_shader_gpu_output_aov(GPUMaterial *mat,
return true;
}
-} // namespace blender::nodes::node_shader_output_aov_cc
-
/* node type definition */
-void register_node_type_sh_output_aov()
+void register_node_type_sh_output_aov(void)
{
- namespace file_ns = blender::nodes::node_shader_output_aov_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_OUTPUT_AOV, "AOV Output", NODE_CLASS_OUTPUT, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_output_aov_in, nullptr);
- node_type_init(&ntype, file_ns::node_shader_init_output_aov);
+ node_type_socket_templates(&ntype, sh_node_output_aov_in, NULL);
+ node_type_init(&ntype, node_shader_init_output_aov);
node_type_storage(
&ntype, "NodeShaderOutputAOV", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_output_aov);
+ node_type_gpu(&ntype, node_shader_gpu_output_aov);
ntype.no_muting = true;
diff --git a/source/blender/nodes/shader/nodes/node_shader_output_light.cc b/source/blender/nodes/shader/nodes/node_shader_output_light.c
index 00518271672..6c4837f3c6f 100644
--- a/source/blender/nodes/shader/nodes/node_shader_output_light.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_output_light.c
@@ -17,30 +17,24 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_output_light_cc {
-
static bNodeSocketTemplate sh_node_output_light_in[] = {
{SOCK_SHADER, N_("Surface"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{-1, ""},
};
-} // namespace blender::nodes::node_shader_output_light_cc
-
/* node type definition */
-void register_node_type_sh_output_light()
+void register_node_type_sh_output_light(void)
{
- namespace file_ns = blender::nodes::node_shader_output_light_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_OUTPUT_LIGHT, "Light Output", NODE_CLASS_OUTPUT, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_output_light_in, nullptr);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
+ node_type_socket_templates(&ntype, sh_node_output_light_in, NULL);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
ntype.no_muting = true;
diff --git a/source/blender/nodes/shader/nodes/node_shader_output_linestyle.cc b/source/blender/nodes/shader/nodes/node_shader_output_linestyle.c
index 3c39ff8e2c9..07e253383e2 100644
--- a/source/blender/nodes/shader/nodes/node_shader_output_linestyle.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_output_linestyle.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_output_linestyle_cc {
-
static bNodeSocketTemplate sh_node_output_linestyle_in[] = {
{SOCK_RGBA, N_("Color"), 1.0f, 0.0f, 1.0f, 1.0f},
{SOCK_FLOAT, N_("Color Fac"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
@@ -31,18 +29,14 @@ static bNodeSocketTemplate sh_node_output_linestyle_in[] = {
{-1, ""},
};
-} // namespace blender::nodes::node_shader_output_linestyle_cc
-
/* node type definition */
-void register_node_type_sh_output_linestyle()
+void register_node_type_sh_output_linestyle(void)
{
- namespace file_ns = blender::nodes::node_shader_output_linestyle_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_OUTPUT_LINESTYLE, "Line Style Output", NODE_CLASS_OUTPUT, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_output_linestyle_in, nullptr);
- node_type_init(&ntype, nullptr);
+ node_type_socket_templates(&ntype, sh_node_output_linestyle_in, NULL);
+ node_type_init(&ntype, NULL);
ntype.no_muting = true;
diff --git a/source/blender/nodes/shader/nodes/node_shader_output_material.cc b/source/blender/nodes/shader/nodes/node_shader_output_material.c
index c111115f108..41932cca6a3 100644
--- a/source/blender/nodes/shader/nodes/node_shader_output_material.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_output_material.c
@@ -17,14 +17,12 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "BKE_scene.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_output_material_cc {
-
static bNodeSocketTemplate sh_node_output_material_in[] = {
{SOCK_SHADER, N_("Surface")},
{SOCK_SHADER, N_("Volume")},
@@ -75,20 +73,16 @@ static int node_shader_gpu_output_material(GPUMaterial *mat,
return true;
}
-} // namespace blender::nodes::node_shader_output_material_cc
-
/* node type definition */
-void register_node_type_sh_output_material()
+void register_node_type_sh_output_material(void)
{
- namespace file_ns = blender::nodes::node_shader_output_material_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_OUTPUT_MATERIAL, "Material Output", NODE_CLASS_OUTPUT, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_output_material_in, nullptr);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_output_material);
+ node_type_socket_templates(&ntype, sh_node_output_material_in, NULL);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_output_material);
ntype.no_muting = true;
diff --git a/source/blender/nodes/shader/nodes/node_shader_output_world.cc b/source/blender/nodes/shader/nodes/node_shader_output_world.c
index 545342ccaa5..09eca7f712e 100644
--- a/source/blender/nodes/shader/nodes/node_shader_output_world.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_output_world.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_output_world_cc {
-
static bNodeSocketTemplate sh_node_output_world_in[] = {
{SOCK_SHADER, N_("Surface"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{SOCK_SHADER, N_("Volume"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
@@ -43,20 +41,16 @@ static int node_shader_gpu_output_world(GPUMaterial *mat,
return true;
}
-} // namespace blender::nodes::node_shader_output_world_cc
-
/* node type definition */
-void register_node_type_sh_output_world()
+void register_node_type_sh_output_world(void)
{
- namespace file_ns = blender::nodes::node_shader_output_world_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_OUTPUT_WORLD, "World Output", NODE_CLASS_OUTPUT, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_output_world_in, nullptr);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_output_world);
+ node_type_socket_templates(&ntype, sh_node_output_world_in, NULL);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_output_world);
ntype.no_muting = true;
diff --git a/source/blender/nodes/shader/nodes/node_shader_particle_info.cc b/source/blender/nodes/shader/nodes/node_shader_particle_info.c
index 0f71eebc050..c6eabc3b2cb 100644
--- a/source/blender/nodes/shader/nodes/node_shader_particle_info.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_particle_info.c
@@ -17,12 +17,9 @@
* All rights reserved.
*/
+#include "../node_shader_util.h"
#include "RE_texture.h"
-#include "node_shader_util.hh"
-
-namespace blender::nodes::node_shader_particle_info_cc {
-
static bNodeSocketTemplate outputs[] = {
{SOCK_FLOAT, "Index"},
{SOCK_FLOAT, "Random"},
@@ -64,19 +61,15 @@ static int gpu_shader_particle_info(GPUMaterial *mat,
GPU_builtin(GPU_PARTICLE_ANG_VELOCITY));
}
-} // namespace blender::nodes::node_shader_particle_info_cc
-
/* node type definition */
-void register_node_type_sh_particle_info()
+void register_node_type_sh_particle_info(void)
{
- namespace file_ns = blender::nodes::node_shader_particle_info_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_PARTICLE_INFO, "Particle Info", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::outputs);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_particle_info);
- node_type_gpu(&ntype, file_ns::gpu_shader_particle_info);
+ node_type_socket_templates(&ntype, NULL, outputs);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_particle_info);
+ node_type_gpu(&ntype, gpu_shader_particle_info);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_rgb.cc b/source/blender/nodes/shader/nodes/node_shader_rgb.c
index 65dfba604af..0bdef9a2a17 100644
--- a/source/blender/nodes/shader/nodes/node_shader_rgb.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_rgb.c
@@ -21,12 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
/* **************** RGB ******************** */
-
-namespace blender::nodes::node_shader_rgb_cc {
-
static bNodeSocketTemplate sh_node_rgb_out[] = {
{SOCK_RGBA, N_("Color"), 0.5f, 0.5f, 0.5f, 1.0f},
{-1, ""},
@@ -42,17 +39,13 @@ static int gpu_shader_rgb(GPUMaterial *mat,
return GPU_stack_link(mat, node, "set_rgba", in, out, link);
}
-} // namespace blender::nodes::node_shader_rgb_cc
-
-void register_node_type_sh_rgb()
+void register_node_type_sh_rgb(void)
{
- namespace file_ns = blender::nodes::node_shader_rgb_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_RGB, "RGB", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_rgb_out);
- node_type_gpu(&ntype, file_ns::gpu_shader_rgb);
+ node_type_socket_templates(&ntype, NULL, sh_node_rgb_out);
+ node_type_gpu(&ntype, gpu_shader_rgb);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_rgb_to_bw.cc b/source/blender/nodes/shader/nodes/node_shader_rgb_to_bw.cc
deleted file mode 100644
index 7d6fec4b7c5..00000000000
--- a/source/blender/nodes/shader/nodes/node_shader_rgb_to_bw.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2005 Blender Foundation.
- * All rights reserved.
- */
-
-/** \file
- * \ingroup shdnodes
- */
-
-#include "IMB_colormanagement.h"
-
-#include "node_shader_util.hh"
-
-namespace blender::nodes::node_shader_rgb_to_bw_cc {
-
-static void sh_node_rgbtobw_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.5f, 0.5f, 0.5f, 1.0f});
- b.add_output<decl::Float>(N_("Val"));
-};
-
-static void node_shader_exec_rgbtobw(void *UNUSED(data),
- int UNUSED(thread),
- bNode *UNUSED(node),
- bNodeExecData *UNUSED(execdata),
- bNodeStack **in,
- bNodeStack **out)
-{
- /* Stack order out: BW. */
- /* Stack order in: COL. */
- float col[3];
- nodestack_get_vec(col, SOCK_VECTOR, in[0]);
-
- out[0]->vec[0] = IMB_colormanagement_get_luminance(col);
-}
-
-static int gpu_shader_rgbtobw(GPUMaterial *mat,
- bNode *node,
- bNodeExecData *UNUSED(execdata),
- GPUNodeStack *in,
- GPUNodeStack *out)
-{
- return GPU_stack_link(mat, node, "rgbtobw", in, out);
-}
-
-} // namespace blender::nodes::node_shader_rgb_to_bw_cc
-
-void register_node_type_sh_rgbtobw()
-{
- namespace file_ns = blender::nodes::node_shader_rgb_to_bw_cc;
-
- static bNodeType ntype;
-
- sh_node_type_base(&ntype, SH_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTER, 0);
- ntype.declare = file_ns::sh_node_rgbtobw_declare;
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_rgbtobw);
- node_type_gpu(&ntype, file_ns::gpu_shader_rgbtobw);
-
- nodeRegisterType(&ntype);
-}
diff --git a/source/blender/nodes/shader/nodes/node_shader_script.cc b/source/blender/nodes/shader/nodes/node_shader_script.c
index 7dbf2449832..42ab272de0e 100644
--- a/source/blender/nodes/shader/nodes/node_shader_script.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_script.c
@@ -21,22 +21,19 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
/* **************** Script ******************** */
-namespace blender::nodes::node_shader_script_cc {
-
static void init(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeShaderScript *nss = (NodeShaderScript *)MEM_callocN(sizeof(NodeShaderScript),
- "shader script node");
+ NodeShaderScript *nss = MEM_callocN(sizeof(NodeShaderScript), "shader script node");
node->storage = nss;
}
static void node_free_script(bNode *node)
{
- NodeShaderScript *nss = (NodeShaderScript *)node->storage;
+ NodeShaderScript *nss = node->storage;
if (nss) {
if (nss->bytecode) {
@@ -51,28 +48,23 @@ static void node_copy_script(bNodeTree *UNUSED(dest_ntree),
bNode *dest_node,
const bNode *src_node)
{
- NodeShaderScript *src_nss = (NodeShaderScript *)src_node->storage;
- NodeShaderScript *dest_nss = (NodeShaderScript *)MEM_dupallocN(src_nss);
+ NodeShaderScript *src_nss = src_node->storage;
+ NodeShaderScript *dest_nss = MEM_dupallocN(src_nss);
if (src_nss->bytecode) {
- dest_nss->bytecode = (char *)MEM_dupallocN(src_nss->bytecode);
+ dest_nss->bytecode = MEM_dupallocN(src_nss->bytecode);
}
dest_node->storage = dest_nss;
}
-} // namespace blender::nodes::node_shader_script_cc
-
-void register_node_type_sh_script()
+void register_node_type_sh_script(void)
{
- namespace file_ns = blender::nodes::node_shader_script_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_SCRIPT, "Script", NODE_CLASS_SCRIPT, 0);
- node_type_init(&ntype, file_ns::init);
- node_type_storage(
- &ntype, "NodeShaderScript", file_ns::node_free_script, file_ns::node_copy_script);
+ node_type_init(&ntype, init);
+ node_type_storage(&ntype, "NodeShaderScript", node_free_script, node_copy_script);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_separate_hsv.cc b/source/blender/nodes/shader/nodes/node_shader_separate_hsv.cc
deleted file mode 100644
index 242bc5f9781..00000000000
--- a/source/blender/nodes/shader/nodes/node_shader_separate_hsv.cc
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2021 Blender Foundation.
- * All rights reserved.
- */
-
-/** \file
- * \ingroup shdnodes
- */
-
-#include "node_shader_util.hh"
-
-namespace blender::nodes::node_shader_separate_hsv_cc {
-
-static bNodeSocketTemplate sh_node_sephsv_in[] = {
- {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f},
- {-1, ""},
-};
-static bNodeSocketTemplate sh_node_sephsv_out[] = {
- {SOCK_FLOAT, N_("H")},
- {SOCK_FLOAT, N_("S")},
- {SOCK_FLOAT, N_("V")},
- {-1, ""},
-};
-
-static void node_shader_exec_sephsv(void *UNUSED(data),
- int UNUSED(thread),
- bNode *UNUSED(node),
- bNodeExecData *UNUSED(execdata),
- bNodeStack **in,
- bNodeStack **out)
-{
- float col[3];
- nodestack_get_vec(col, SOCK_VECTOR, in[0]);
-
- rgb_to_hsv(col[0], col[1], col[2], &out[0]->vec[0], &out[1]->vec[0], &out[2]->vec[0]);
-}
-
-static int gpu_shader_sephsv(GPUMaterial *mat,
- bNode *node,
- bNodeExecData *UNUSED(execdata),
- GPUNodeStack *in,
- GPUNodeStack *out)
-{
- return GPU_stack_link(mat, node, "separate_hsv", in, out);
-}
-
-} // namespace blender::nodes::node_shader_separate_hsv_cc
-
-void register_node_type_sh_sephsv()
-{
- namespace file_ns = blender::nodes::node_shader_separate_hsv_cc;
-
- static bNodeType ntype;
-
- sh_node_type_base(&ntype, SH_NODE_SEPHSV, "Separate HSV", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_sephsv_in, file_ns::sh_node_sephsv_out);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_sephsv);
- node_type_gpu(&ntype, file_ns::gpu_shader_sephsv);
-
- nodeRegisterType(&ntype);
-}
diff --git a/source/blender/nodes/shader/nodes/node_shader_combine_hsv.cc b/source/blender/nodes/shader/nodes/node_shader_sepcombHSV.c
index 4d4879fd060..dfecb830b35 100644
--- a/source/blender/nodes/shader/nodes/node_shader_combine_hsv.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_sepcombHSV.c
@@ -21,10 +21,55 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
-namespace blender::nodes::node_shader_combine_hsv_cc {
+/* **************** SEPARATE HSV ******************** */
+static bNodeSocketTemplate sh_node_sephsv_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f},
+ {-1, ""},
+};
+static bNodeSocketTemplate sh_node_sephsv_out[] = {
+ {SOCK_FLOAT, N_("H")},
+ {SOCK_FLOAT, N_("S")},
+ {SOCK_FLOAT, N_("V")},
+ {-1, ""},
+};
+
+static void node_shader_exec_sephsv(void *UNUSED(data),
+ int UNUSED(thread),
+ bNode *UNUSED(node),
+ bNodeExecData *UNUSED(execdata),
+ bNodeStack **in,
+ bNodeStack **out)
+{
+ float col[3];
+ nodestack_get_vec(col, SOCK_VECTOR, in[0]);
+
+ rgb_to_hsv(col[0], col[1], col[2], &out[0]->vec[0], &out[1]->vec[0], &out[2]->vec[0]);
+}
+
+static int gpu_shader_sephsv(GPUMaterial *mat,
+ bNode *node,
+ bNodeExecData *UNUSED(execdata),
+ GPUNodeStack *in,
+ GPUNodeStack *out)
+{
+ return GPU_stack_link(mat, node, "separate_hsv", in, out);
+}
+
+void register_node_type_sh_sephsv(void)
+{
+ static bNodeType ntype;
+
+ sh_node_type_base(&ntype, SH_NODE_SEPHSV, "Separate HSV", NODE_CLASS_CONVERTER, 0);
+ node_type_socket_templates(&ntype, sh_node_sephsv_in, sh_node_sephsv_out);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_sephsv);
+ node_type_gpu(&ntype, gpu_shader_sephsv);
+ nodeRegisterType(&ntype);
+}
+
+/* **************** COMBINE HSV ******************** */
static bNodeSocketTemplate sh_node_combhsv_in[] = {
{SOCK_FLOAT, N_("H"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
{SOCK_FLOAT, N_("S"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
@@ -60,18 +105,14 @@ static int gpu_shader_combhsv(GPUMaterial *mat,
return GPU_stack_link(mat, node, "combine_hsv", in, out);
}
-} // namespace blender::nodes::node_shader_combine_hsv_cc
-
-void register_node_type_sh_combhsv()
+void register_node_type_sh_combhsv(void)
{
- namespace file_ns = blender::nodes::node_shader_combine_hsv_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_COMBHSV, "Combine HSV", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_combhsv_in, file_ns::sh_node_combhsv_out);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_combhsv);
- node_type_gpu(&ntype, file_ns::gpu_shader_combhsv);
+ node_type_socket_templates(&ntype, sh_node_combhsv_in, sh_node_combhsv_out);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_combhsv);
+ node_type_gpu(&ntype, gpu_shader_combhsv);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_separate_rgb.cc b/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.cc
index 2f57fe31f47..08a9e01786e 100644
--- a/source/blender/nodes/shader/nodes/node_shader_separate_rgb.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.cc
@@ -13,7 +13,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * The Original Code is Copyright (C) 2021 Blender Foundation.
+ * The Original Code is Copyright (C) 2006 Blender Foundation.
* All rights reserved.
*/
@@ -21,9 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
-namespace blender::nodes::node_shader_separate_rgb_cc {
+namespace blender::nodes {
static void sh_node_seprgb_declare(NodeDeclarationBuilder &b)
{
@@ -34,6 +34,8 @@ static void sh_node_seprgb_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("B"));
};
+} // namespace blender::nodes
+
static void node_shader_exec_seprgb(void *UNUSED(data),
int UNUSED(thread),
bNode *UNUSED(node),
@@ -101,19 +103,75 @@ static void sh_node_seprgb_build_multi_function(blender::nodes::NodeMultiFunctio
builder.set_matching_fn(fn);
}
-} // namespace blender::nodes::node_shader_separate_rgb_cc
+void register_node_type_sh_seprgb(void)
+{
+ static bNodeType ntype;
+
+ sh_fn_node_type_base(&ntype, SH_NODE_SEPRGB, "Separate RGB", NODE_CLASS_CONVERTER, 0);
+ ntype.declare = blender::nodes::sh_node_seprgb_declare;
+ node_type_exec(&ntype, nullptr, nullptr, node_shader_exec_seprgb);
+ node_type_gpu(&ntype, gpu_shader_seprgb);
+ ntype.build_multi_function = sh_node_seprgb_build_multi_function;
+
+ nodeRegisterType(&ntype);
+}
+
+namespace blender::nodes {
+
+static void sh_node_combrgb_declare(NodeDeclarationBuilder &b)
+{
+ b.is_function_node();
+ b.add_input<decl::Float>(N_("R")).min(0.0f).max(1.0f);
+ b.add_input<decl::Float>(N_("G")).min(0.0f).max(1.0f);
+ b.add_input<decl::Float>(N_("B")).min(0.0f).max(1.0f);
+ b.add_output<decl::Color>(N_("Image"));
+};
+
+} // namespace blender::nodes
+
+static void node_shader_exec_combrgb(void *UNUSED(data),
+ int UNUSED(thread),
+ bNode *UNUSED(node),
+ bNodeExecData *UNUSED(execdata),
+ bNodeStack **in,
+ bNodeStack **out)
+{
+ float r, g, b;
+ nodestack_get_vec(&r, SOCK_FLOAT, in[0]);
+ nodestack_get_vec(&g, SOCK_FLOAT, in[1]);
+ nodestack_get_vec(&b, SOCK_FLOAT, in[2]);
+
+ out[0]->vec[0] = r;
+ out[0]->vec[1] = g;
+ out[0]->vec[2] = b;
+}
+
+static int gpu_shader_combrgb(GPUMaterial *mat,
+ bNode *node,
+ bNodeExecData *UNUSED(execdata),
+ GPUNodeStack *in,
+ GPUNodeStack *out)
+{
+ return GPU_stack_link(mat, node, "combine_rgb", in, out);
+}
-void register_node_type_sh_seprgb()
+static void sh_node_combrgb_build_multi_function(blender::nodes::NodeMultiFunctionBuilder &builder)
{
- namespace file_ns = blender::nodes::node_shader_separate_rgb_cc;
+ static blender::fn::CustomMF_SI_SI_SI_SO<float, float, float, blender::ColorGeometry4f> fn{
+ "Combine RGB",
+ [](float r, float g, float b) { return blender::ColorGeometry4f(r, g, b, 1.0f); }};
+ builder.set_matching_fn(fn);
+}
+void register_node_type_sh_combrgb(void)
+{
static bNodeType ntype;
- sh_fn_node_type_base(&ntype, SH_NODE_SEPRGB, "Separate RGB", NODE_CLASS_CONVERTER, 0);
- ntype.declare = file_ns::sh_node_seprgb_declare;
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_seprgb);
- node_type_gpu(&ntype, file_ns::gpu_shader_seprgb);
- ntype.build_multi_function = file_ns::sh_node_seprgb_build_multi_function;
+ sh_fn_node_type_base(&ntype, SH_NODE_COMBRGB, "Combine RGB", NODE_CLASS_CONVERTER, 0);
+ ntype.declare = blender::nodes::sh_node_combrgb_declare;
+ node_type_exec(&ntype, nullptr, nullptr, node_shader_exec_combrgb);
+ node_type_gpu(&ntype, gpu_shader_combrgb);
+ ntype.build_multi_function = sh_node_combrgb_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_separate_xyz.cc b/source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc
index ee2335978a3..1bbfa629462 100644
--- a/source/blender/nodes/shader/nodes/node_shader_separate_xyz.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.cc
@@ -13,7 +13,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * The Original Code is Copyright (C) 2021 Blender Foundation.
+ * The Original Code is Copyright (C) 2014 Blender Foundation.
* All rights reserved.
*/
@@ -21,9 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
-namespace blender::nodes::node_shader_separate_xyz_cc {
+namespace blender::nodes {
static void sh_node_sepxyz_declare(NodeDeclarationBuilder &b)
{
@@ -34,6 +34,8 @@ static void sh_node_sepxyz_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Z"));
};
+} // namespace blender::nodes
+
static int gpu_shader_sepxyz(GPUMaterial *mat,
bNode *node,
bNodeExecData *UNUSED(execdata),
@@ -86,18 +88,55 @@ static void sh_node_sepxyz_build_multi_function(blender::nodes::NodeMultiFunctio
builder.set_matching_fn(separate_fn);
}
-} // namespace blender::nodes::node_shader_separate_xyz_cc
+void register_node_type_sh_sepxyz(void)
+{
+ static bNodeType ntype;
+
+ sh_fn_node_type_base(&ntype, SH_NODE_SEPXYZ, "Separate XYZ", NODE_CLASS_CONVERTER, 0);
+ ntype.declare = blender::nodes::sh_node_sepxyz_declare;
+ node_type_gpu(&ntype, gpu_shader_sepxyz);
+ ntype.build_multi_function = sh_node_sepxyz_build_multi_function;
+
+ nodeRegisterType(&ntype);
+}
+
+namespace blender::nodes {
+
+static void sh_node_combxyz_declare(NodeDeclarationBuilder &b)
+{
+ b.is_function_node();
+ b.add_input<decl::Float>(N_("X")).min(-10000.0f).max(10000.0f);
+ b.add_input<decl::Float>(N_("Y")).min(-10000.0f).max(10000.0f);
+ b.add_input<decl::Float>(N_("Z")).min(-10000.0f).max(10000.0f);
+ b.add_output<decl::Vector>(N_("Vector"));
+};
+
+} // namespace blender::nodes
+
+static int gpu_shader_combxyz(GPUMaterial *mat,
+ bNode *node,
+ bNodeExecData *UNUSED(execdata),
+ GPUNodeStack *in,
+ GPUNodeStack *out)
+{
+ return GPU_stack_link(mat, node, "combine_xyz", in, out);
+}
-void register_node_type_sh_sepxyz()
+static void sh_node_combxyz_build_multi_function(blender::nodes::NodeMultiFunctionBuilder &builder)
{
- namespace file_ns = blender::nodes::node_shader_separate_xyz_cc;
+ static blender::fn::CustomMF_SI_SI_SI_SO<float, float, float, blender::float3> fn{
+ "Combine Vector", [](float x, float y, float z) { return blender::float3(x, y, z); }};
+ builder.set_matching_fn(fn);
+}
+void register_node_type_sh_combxyz(void)
+{
static bNodeType ntype;
- sh_fn_node_type_base(&ntype, SH_NODE_SEPXYZ, "Separate XYZ", NODE_CLASS_CONVERTER, 0);
- ntype.declare = file_ns::sh_node_sepxyz_declare;
- node_type_gpu(&ntype, file_ns::gpu_shader_sepxyz);
- ntype.build_multi_function = file_ns::sh_node_sepxyz_build_multi_function;
+ sh_fn_node_type_base(&ntype, SH_NODE_COMBXYZ, "Combine XYZ", NODE_CLASS_CONVERTER, 0);
+ ntype.declare = blender::nodes::sh_node_combxyz_declare;
+ node_type_gpu(&ntype, gpu_shader_combxyz);
+ ntype.build_multi_function = sh_node_combxyz_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_shader_to_rgb.cc b/source/blender/nodes/shader/nodes/node_shader_shaderToRgb.c
index 3791eb9449f..25c30aa4081 100644
--- a/source/blender/nodes/shader/nodes/node_shader_shader_to_rgb.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_shaderToRgb.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_shader_to_rgb_cc {
-
static bNodeSocketTemplate sh_node_shadertorgb_in[] = {
{SOCK_SHADER, N_("Shader")},
{-1, ""},
@@ -47,21 +45,16 @@ static int node_shader_gpu_shadertorgb(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_shader_to_rgba", in, out);
}
-} // namespace blender::nodes::node_shader_shader_to_rgb_cc
-
/* node type definition */
-void register_node_type_sh_shadertorgb()
+void register_node_type_sh_shadertorgb(void)
{
- namespace file_ns = blender::nodes::node_shader_shader_to_rgb_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_SHADERTORGB, "Shader to RGB", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_shadertorgb_in, file_ns::sh_node_shadertorgb_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_shadertorgb);
+ node_type_socket_templates(&ntype, sh_node_shadertorgb_in, sh_node_shadertorgb_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_shadertorgb);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_squeeze.cc b/source/blender/nodes/shader/nodes/node_shader_squeeze.c
index 55c25ffbdb7..ca7bdf41df9 100644
--- a/source/blender/nodes/shader/nodes/node_shader_squeeze.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_squeeze.c
@@ -21,12 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
/* **************** VALUE SQUEEZE ******************** */
-
-namespace blender::nodes::node_shader_squeeze_cc {
-
static bNodeSocketTemplate sh_node_squeeze_in[] = {
{SOCK_FLOAT, N_("Value"), 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
{SOCK_FLOAT, N_("Width"), 1.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
@@ -60,19 +57,15 @@ static int gpu_shader_squeeze(GPUMaterial *mat,
return GPU_stack_link(mat, node, "squeeze", in, out);
}
-} // namespace blender::nodes::node_shader_squeeze_cc
-
-void register_node_type_sh_squeeze()
+void register_node_type_sh_squeeze(void)
{
- namespace file_ns = blender::nodes::node_shader_squeeze_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_SQUEEZE, "Squeeze Value", NODE_CLASS_CONVERTER, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_squeeze_in, file_ns::sh_node_squeeze_out);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_squeeze);
- node_type_gpu(&ntype, file_ns::gpu_shader_squeeze);
+ node_type_socket_templates(&ntype, sh_node_squeeze_in, sh_node_squeeze_out);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_squeeze);
+ node_type_gpu(&ntype, gpu_shader_squeeze);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.cc b/source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c
index 943ef45cc44..85a4a6aa425 100644
--- a/source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c
@@ -17,26 +17,24 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_subsurface_scattering_cc {
-
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Scale")).default_value(1.0f).min(0.0f).max(1000.0f);
- b.add_input<decl::Vector>(N_("Radius"))
- .default_value({1.0f, 0.2f, 0.1f})
- .min(0.0f)
- .max(100.0f)
- .compact();
- b.add_input<decl::Float>(N_("IOR")).default_value(1.4f).min(0.0f).max(3.8f).subtype(PROP_FACTOR);
- b.add_input<decl::Float>(N_("Anisotropy")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Vector>(N_("Normal")).min(-1.0f).max(1.0f).hide_value();
- b.add_output<decl::Shader>(N_("BSSRDF"));
-}
+static bNodeSocketTemplate sh_node_subsurface_scattering_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Scale"), 1.0, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
+ {SOCK_VECTOR, N_("Radius"), 1.0f, 0.2f, 0.1f, 0.0f, 0.0f, 100.0f, PROP_NONE, SOCK_COMPACT},
+ {SOCK_FLOAT, N_("IOR"), 1.4f, 0.0f, 0.0f, 0.0f, 1.01f, 3.8f, PROP_FACTOR},
+ {SOCK_FLOAT, N_("Anisotropy"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
+ {-1, ""},
+};
+
+static bNodeSocketTemplate sh_node_subsurface_scattering_out[] = {
+ {SOCK_SHADER, N_("BSSRDF")},
+ {-1, ""},
+};
static void node_shader_init_subsurface_scattering(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -55,14 +53,14 @@ static int node_shader_gpu_subsurface_scattering(GPUMaterial *mat,
}
if (node->sss_id > 0) {
- bNodeSocket *socket = (bNodeSocket *)BLI_findlink(&node->original->inputs, 2);
- bNodeSocketValueRGBA *socket_data = (bNodeSocketValueRGBA *)socket->default_value;
+ bNodeSocket *socket = BLI_findlink(&node->original->inputs, 2);
+ bNodeSocketValueRGBA *socket_data = socket->default_value;
/* For some reason it seems that the socket value is in ARGB format. */
GPU_material_sss_profile_create(mat, &socket_data->value[1]);
/* sss_id is 0 only the node is not connected to any output.
* In this case flagging the material would trigger a bug (see T68736). */
- GPU_material_flag_set(mat, (eGPUMatFlag)(GPU_MATFLAG_DIFFUSE | GPU_MATFLAG_SSS));
+ GPU_material_flag_set(mat, GPU_MATFLAG_DIFFUSE | GPU_MATFLAG_SSS);
}
return GPU_stack_link(
@@ -73,30 +71,27 @@ static void node_shader_update_subsurface_scattering(bNodeTree *ntree, bNode *no
{
const int sss_method = node->custom1;
- LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
+ for (bNodeSocket *sock = node->inputs.first; sock; sock = sock->next) {
if (STR_ELEM(sock->name, "IOR", "Anisotropy")) {
nodeSetSocketAvailability(ntree, sock, sss_method != SHD_SUBSURFACE_BURLEY);
}
}
}
-} // namespace blender::nodes::node_shader_subsurface_scattering_cc
-
/* node type definition */
-void register_node_type_sh_subsurface_scattering()
+void register_node_type_sh_subsurface_scattering(void)
{
- namespace file_ns = blender::nodes::node_shader_subsurface_scattering_cc;
-
static bNodeType ntype;
sh_node_type_base(
&ntype, SH_NODE_SUBSURFACE_SCATTERING, "Subsurface Scattering", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
+ node_type_socket_templates(
+ &ntype, sh_node_subsurface_scattering_in, sh_node_subsurface_scattering_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_subsurface_scattering);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_subsurface_scattering);
- node_type_update(&ntype, file_ns::node_shader_update_subsurface_scattering);
+ node_type_init(&ntype, node_shader_init_subsurface_scattering);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_subsurface_scattering);
+ node_type_update(&ntype, node_shader_update_subsurface_scattering);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tangent.cc b/source/blender/nodes/shader/nodes/node_shader_tangent.c
index 90148c5bf4c..2c12bf9bc01 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tangent.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tangent.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_tangent_cc {
-
static bNodeSocketTemplate sh_node_tangent_out[] = {
{SOCK_VECTOR, N_("Tangent"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{-1, ""},
@@ -30,8 +28,7 @@ static bNodeSocketTemplate sh_node_tangent_out[] = {
static void node_shader_init_tangent(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeShaderTangent *attr = (NodeShaderTangent *)MEM_callocN(sizeof(NodeShaderTangent),
- "NodeShaderTangent");
+ NodeShaderTangent *attr = MEM_callocN(sizeof(NodeShaderTangent), "NodeShaderTangent");
attr->axis = SHD_TANGENT_AXIS_Z;
node->storage = attr;
}
@@ -42,7 +39,7 @@ static int node_shader_gpu_tangent(GPUMaterial *mat,
GPUNodeStack *in,
GPUNodeStack *out)
{
- NodeShaderTangent *attr = (NodeShaderTangent *)node->storage;
+ NodeShaderTangent *attr = node->storage;
if (attr->direction_type == SHD_TANGENT_UVMAP) {
return GPU_stack_link(
@@ -71,20 +68,16 @@ static int node_shader_gpu_tangent(GPUMaterial *mat,
GPU_builtin(GPU_OBJECT_MATRIX));
}
-} // namespace blender::nodes::node_shader_tangent_cc
-
/* node type definition */
-void register_node_type_sh_tangent()
+void register_node_type_sh_tangent(void)
{
- namespace file_ns = blender::nodes::node_shader_tangent_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_TANGENT, "Tangent", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_tangent_out);
+ node_type_socket_templates(&ntype, NULL, sh_node_tangent_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_tangent);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tangent);
+ node_type_init(&ntype, node_shader_init_tangent);
+ node_type_gpu(&ntype, node_shader_gpu_tangent);
node_type_storage(
&ntype, "NodeShaderTangent", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_brick.cc b/source/blender/nodes/shader/nodes/node_shader_tex_brick.cc
index 14f0b71b957..b840bd75e42 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_brick.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_brick.cc
@@ -17,12 +17,12 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "BLI_float2.hh"
#include "BLI_float4.hh"
-namespace blender::nodes::node_shader_tex_brick_cc {
+namespace blender::nodes {
static void sh_node_tex_brick_declare(NodeDeclarationBuilder &b)
{
@@ -57,6 +57,8 @@ static void sh_node_tex_brick_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Fac"));
};
+} // namespace blender::nodes
+
static void node_shader_init_tex_brick(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTexBrick *tex = (NodeTexBrick *)MEM_callocN(sizeof(NodeTexBrick), "NodeTexBrick");
@@ -99,6 +101,8 @@ static int node_shader_gpu_tex_brick(GPUMaterial *mat,
GPU_constant(&squash_freq));
}
+namespace blender::nodes {
+
class BrickFunction : public fn::MultiFunction {
private:
const float offset_;
@@ -262,22 +266,20 @@ static void sh_node_brick_build_multi_function(blender::nodes::NodeMultiFunction
tex->offset, tex->offset_freq, tex->squash, tex->squash_freq);
}
-} // namespace blender::nodes::node_shader_tex_brick_cc
+} // namespace blender::nodes
-void register_node_type_sh_tex_brick()
+void register_node_type_sh_tex_brick(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_brick_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_TEX_BRICK, "Brick Texture", NODE_CLASS_TEXTURE, 0);
- ntype.declare = file_ns::sh_node_tex_brick_declare;
+ ntype.declare = blender::nodes::sh_node_tex_brick_declare;
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_tex_brick);
+ node_type_init(&ntype, node_shader_init_tex_brick);
node_type_storage(
&ntype, "NodeTexBrick", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tex_brick);
- ntype.build_multi_function = file_ns::sh_node_brick_build_multi_function;
+ node_type_gpu(&ntype, node_shader_gpu_tex_brick);
+ ntype.build_multi_function = blender::nodes::sh_node_brick_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_checker.cc b/source/blender/nodes/shader/nodes/node_shader_tex_checker.cc
index 714fdc129e5..7c1223a6a32 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_checker.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_checker.cc
@@ -17,9 +17,9 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
-namespace blender::nodes::node_shader_tex_checker_cc {
+namespace blender::nodes {
static void sh_node_tex_checker_declare(NodeDeclarationBuilder &b)
{
@@ -36,6 +36,8 @@ static void sh_node_tex_checker_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Fac"));
};
+} // namespace blender::nodes
+
static void node_shader_init_tex_checker(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTexChecker *tex = (NodeTexChecker *)MEM_callocN(sizeof(NodeTexChecker), "NodeTexChecker");
@@ -57,6 +59,8 @@ static int node_shader_gpu_tex_checker(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_tex_checker", in, out);
}
+namespace blender::nodes {
+
class NodeTexChecker : public fn::MultiFunction {
public:
NodeTexChecker()
@@ -117,21 +121,19 @@ static void sh_node_tex_checker_build_multi_function(
builder.set_matching_fn(fn);
}
-} // namespace blender::nodes::node_shader_tex_checker_cc
+} // namespace blender::nodes
-void register_node_type_sh_tex_checker()
+void register_node_type_sh_tex_checker(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_checker_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_TEX_CHECKER, "Checker Texture", NODE_CLASS_TEXTURE, 0);
- ntype.declare = file_ns::sh_node_tex_checker_declare;
- node_type_init(&ntype, file_ns::node_shader_init_tex_checker);
+ ntype.declare = blender::nodes::sh_node_tex_checker_declare;
+ node_type_init(&ntype, node_shader_init_tex_checker);
node_type_storage(
&ntype, "NodeTexChecker", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tex_checker);
- ntype.build_multi_function = file_ns::sh_node_tex_checker_build_multi_function;
+ node_type_gpu(&ntype, node_shader_gpu_tex_checker);
+ ntype.build_multi_function = blender::nodes::sh_node_tex_checker_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_coord.cc b/source/blender/nodes/shader/nodes/node_shader_tex_coord.c
index 50411f10aed..4ce19bdc45e 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_coord.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_coord.c
@@ -17,14 +17,12 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "DNA_customdata_types.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_tex_coord_cc {
-
static bNodeSocketTemplate sh_node_tex_coord_out[] = {
{SOCK_VECTOR, N_("Generated"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{SOCK_VECTOR, N_("Normal"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
@@ -44,12 +42,11 @@ static int node_shader_gpu_tex_coord(GPUMaterial *mat,
{
Object *ob = (Object *)node->id;
- GPUNodeLink *inv_obmat = (ob != nullptr) ? GPU_uniform(&ob->imat[0][0]) :
- GPU_builtin(GPU_INVERSE_OBJECT_MATRIX);
+ GPUNodeLink *inv_obmat = (ob != NULL) ? GPU_uniform(&ob->imat[0][0]) :
+ GPU_builtin(GPU_INVERSE_OBJECT_MATRIX);
/* Opti: don't request orco if not needed. */
- const float default_coords[4] = {0.0f, 0.0f, 0.0f, 0.0f};
- GPUNodeLink *orco = (!out[0].hasoutput) ? GPU_constant(default_coords) :
+ GPUNodeLink *orco = (!out[0].hasoutput) ? GPU_constant((float[4]){0.0f, 0.0f, 0.0f, 0.0f}) :
GPU_attribute(mat, CD_ORCO, "");
GPUNodeLink *mtface = GPU_attribute(mat, CD_MTFACE, "");
GPUNodeLink *viewpos = GPU_builtin(GPU_VIEW_POSITION);
@@ -78,27 +75,23 @@ static int node_shader_gpu_tex_coord(GPUMaterial *mat,
out[i].link,
out[i].link,
&out[i].link,
- nullptr);
+ NULL);
}
}
return 1;
}
-} // namespace blender::nodes::node_shader_tex_coord_cc
-
/* node type definition */
-void register_node_type_sh_tex_coord()
+void register_node_type_sh_tex_coord(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_coord_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_TEX_COORD, "Texture Coordinate", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_tex_coord_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tex_coord);
+ node_type_socket_templates(&ntype, NULL, sh_node_tex_coord_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_tex_coord);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_environment.cc b/source/blender/nodes/shader/nodes/node_shader_tex_environment.c
index 936d3a3011a..26a1db1f3a6 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_environment.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_environment.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_tex_environment_cc {
-
static bNodeSocketTemplate sh_node_tex_environment_in[] = {
{SOCK_VECTOR, N_("Vector"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
{-1, ""},
@@ -35,8 +33,7 @@ static bNodeSocketTemplate sh_node_tex_environment_out[] = {
static void node_shader_init_tex_environment(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeTexEnvironment *tex = (NodeTexEnvironment *)MEM_callocN(sizeof(NodeTexEnvironment),
- "NodeTexEnvironment");
+ NodeTexEnvironment *tex = MEM_callocN(sizeof(NodeTexEnvironment), "NodeTexEnvironment");
BKE_texture_mapping_default(&tex->base.tex_mapping, TEXMAP_TYPE_POINT);
BKE_texture_colormapping_default(&tex->base.color_mapping);
tex->projection = SHD_PROJ_EQUIRECTANGULAR;
@@ -52,12 +49,12 @@ static int node_shader_gpu_tex_environment(GPUMaterial *mat,
GPUNodeStack *out)
{
Image *ima = (Image *)node->id;
- NodeTexEnvironment *tex = (NodeTexEnvironment *)node->storage;
+ NodeTexEnvironment *tex = node->storage;
/* We get the image user from the original node, since GPU image keeps
* a pointer to it and the dependency refreshes the original. */
bNode *node_original = node->original ? node->original : node;
- NodeTexImage *tex_original = (NodeTexImage *)node_original->storage;
+ NodeTexImage *tex_original = node_original->storage;
ImageUser *iuser = &tex_original->iuser;
eGPUSamplerState sampler = GPU_SAMPLER_REPEAT | GPU_SAMPLER_ANISO | GPU_SAMPLER_FILTER;
/* TODO(fclem): For now assume mipmap is always enabled. */
@@ -135,22 +132,17 @@ static int node_shader_gpu_tex_environment(GPUMaterial *mat,
return true;
}
-} // namespace blender::nodes::node_shader_tex_environment_cc
-
/* node type definition */
-void register_node_type_sh_tex_environment()
+void register_node_type_sh_tex_environment(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_environment_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_TEX_ENVIRONMENT, "Environment Texture", NODE_CLASS_TEXTURE, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_tex_environment_in, file_ns::sh_node_tex_environment_out);
- node_type_init(&ntype, file_ns::node_shader_init_tex_environment);
+ node_type_socket_templates(&ntype, sh_node_tex_environment_in, sh_node_tex_environment_out);
+ node_type_init(&ntype, node_shader_init_tex_environment);
node_type_storage(
&ntype, "NodeTexEnvironment", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tex_environment);
+ node_type_gpu(&ntype, node_shader_gpu_tex_environment);
node_type_label(&ntype, node_image_label);
node_type_size_preset(&ntype, NODE_SIZE_LARGE);
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_gradient.cc b/source/blender/nodes/shader/nodes/node_shader_tex_gradient.cc
index c6094409206..33832c42b3c 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_gradient.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_gradient.cc
@@ -17,9 +17,9 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
-namespace blender::nodes::node_shader_tex_gradient_cc {
+namespace blender::nodes {
static void sh_node_tex_gradient_declare(NodeDeclarationBuilder &b)
{
@@ -29,6 +29,8 @@ static void sh_node_tex_gradient_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Fac")).no_muted_links();
};
+} // namespace blender::nodes
+
static void node_shader_init_tex_gradient(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTexGradient *tex = (NodeTexGradient *)MEM_callocN(sizeof(NodeTexGradient),
@@ -54,6 +56,8 @@ static int node_shader_gpu_tex_gradient(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_tex_gradient", in, out, GPU_constant(&gradient_type));
}
+namespace blender::nodes {
+
class GradientFunction : public fn::MultiFunction {
private:
int gradient_type_;
@@ -154,21 +158,19 @@ static void sh_node_gradient_tex_build_multi_function(
builder.construct_and_set_matching_fn<GradientFunction>(tex->gradient_type);
}
-} // namespace blender::nodes::node_shader_tex_gradient_cc
+} // namespace blender::nodes
-void register_node_type_sh_tex_gradient()
+void register_node_type_sh_tex_gradient(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_gradient_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_TEX_GRADIENT, "Gradient Texture", NODE_CLASS_TEXTURE, 0);
- ntype.declare = file_ns::sh_node_tex_gradient_declare;
- node_type_init(&ntype, file_ns::node_shader_init_tex_gradient);
+ ntype.declare = blender::nodes::sh_node_tex_gradient_declare;
+ node_type_init(&ntype, node_shader_init_tex_gradient);
node_type_storage(
&ntype, "NodeTexGradient", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tex_gradient);
- ntype.build_multi_function = file_ns::sh_node_gradient_tex_build_multi_function;
+ node_type_gpu(&ntype, node_shader_gpu_tex_gradient);
+ ntype.build_multi_function = blender::nodes::sh_node_gradient_tex_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_image.cc b/source/blender/nodes/shader/nodes/node_shader_tex_image.cc
index fd20c556d00..f20fc85cbe0 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_image.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_image.cc
@@ -17,9 +17,9 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
-namespace blender::nodes::node_shader_tex_image_cc {
+namespace blender::nodes {
static void sh_node_tex_image_declare(NodeDeclarationBuilder &b)
{
@@ -29,6 +29,8 @@ static void sh_node_tex_image_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Alpha")).no_muted_links();
};
+}; // namespace blender::nodes
+
static void node_shader_init_tex_image(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTexImage *tex = (NodeTexImage *)MEM_callocN(sizeof(NodeTexImage), "NodeTexImage");
@@ -171,21 +173,17 @@ static int node_shader_gpu_tex_image(GPUMaterial *mat,
return true;
}
-} // namespace blender::nodes::node_shader_tex_image_cc
-
/* node type definition */
-void register_node_type_sh_tex_image()
+void register_node_type_sh_tex_image(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_image_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_TEX_IMAGE, "Image Texture", NODE_CLASS_TEXTURE, 0);
- ntype.declare = file_ns::sh_node_tex_image_declare;
- node_type_init(&ntype, file_ns::node_shader_init_tex_image);
+ ntype.declare = blender::nodes::sh_node_tex_image_declare;
+ node_type_init(&ntype, node_shader_init_tex_image);
node_type_storage(
&ntype, "NodeTexImage", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tex_image);
+ node_type_gpu(&ntype, node_shader_gpu_tex_image);
node_type_label(&ntype, node_image_label);
node_type_size_preset(&ntype, NODE_SIZE_LARGE);
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_magic.cc b/source/blender/nodes/shader/nodes/node_shader_tex_magic.cc
index 9b19dc2907b..62e68d53d03 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_magic.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_magic.cc
@@ -17,9 +17,9 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
-namespace blender::nodes::node_shader_tex_magic_cc {
+namespace blender::nodes {
static void sh_node_tex_magic_declare(NodeDeclarationBuilder &b)
{
@@ -31,6 +31,8 @@ static void sh_node_tex_magic_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Fac")).no_muted_links();
};
+} // namespace blender::nodes
+
static void node_shader_init_tex_magic(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTexMagic *tex = (NodeTexMagic *)MEM_callocN(sizeof(NodeTexMagic), "NodeTexMagic");
@@ -56,6 +58,8 @@ static int node_shader_gpu_tex_magic(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_tex_magic", in, out, GPU_constant(&depth));
}
+namespace blender::nodes {
+
class MagicFunction : public fn::MultiFunction {
private:
int depth_;
@@ -175,21 +179,19 @@ static void sh_node_magic_tex_build_multi_function(
builder.construct_and_set_matching_fn<MagicFunction>(tex->depth);
}
-} // namespace blender::nodes::node_shader_tex_magic_cc
+} // namespace blender::nodes
-void register_node_type_sh_tex_magic()
+void register_node_type_sh_tex_magic(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_magic_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_TEX_MAGIC, "Magic Texture", NODE_CLASS_TEXTURE, 0);
- ntype.declare = file_ns::sh_node_tex_magic_declare;
- node_type_init(&ntype, file_ns::node_shader_init_tex_magic);
+ ntype.declare = blender::nodes::sh_node_tex_magic_declare;
+ node_type_init(&ntype, node_shader_init_tex_magic);
node_type_storage(
&ntype, "NodeTexMagic", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tex_magic);
- ntype.build_multi_function = file_ns::sh_node_magic_tex_build_multi_function;
+ node_type_gpu(&ntype, node_shader_gpu_tex_magic);
+ ntype.build_multi_function = blender::nodes::sh_node_magic_tex_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.cc b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.cc
index 70c78f75736..e426d9cc49c 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_musgrave.cc
@@ -17,11 +17,11 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "BLI_noise.hh"
-namespace blender::nodes::node_shader_tex_musgrave_cc {
+namespace blender::nodes {
static void sh_node_tex_musgrave_declare(NodeDeclarationBuilder &b)
{
@@ -37,6 +37,8 @@ static void sh_node_tex_musgrave_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Fac")).no_muted_links();
};
+} // namespace blender::nodes
+
static void node_shader_init_tex_musgrave(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTexMusgrave *tex = (NodeTexMusgrave *)MEM_callocN(sizeof(NodeTexMusgrave),
@@ -126,6 +128,8 @@ static void node_shader_update_tex_musgrave(bNodeTree *ntree, bNode *node)
node_sock_label(outFacSock, "Height");
}
+namespace blender::nodes {
+
class MusgraveFunction : public fn::MultiFunction {
private:
const int dimensions_;
@@ -525,23 +529,21 @@ static void sh_node_musgrave_build_multi_function(
builder.construct_and_set_matching_fn<MusgraveFunction>(tex->dimensions, tex->musgrave_type);
}
-} // namespace blender::nodes::node_shader_tex_musgrave_cc
+} // namespace blender::nodes
-void register_node_type_sh_tex_musgrave()
+void register_node_type_sh_tex_musgrave(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_musgrave_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_TEX_MUSGRAVE, "Musgrave Texture", NODE_CLASS_TEXTURE, 0);
- ntype.declare = file_ns::sh_node_tex_musgrave_declare;
+ ntype.declare = blender::nodes::sh_node_tex_musgrave_declare;
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_tex_musgrave);
+ node_type_init(&ntype, node_shader_init_tex_musgrave);
node_type_storage(
&ntype, "NodeTexMusgrave", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tex_musgrave);
- node_type_update(&ntype, file_ns::node_shader_update_tex_musgrave);
- ntype.build_multi_function = file_ns::sh_node_musgrave_build_multi_function;
+ node_type_gpu(&ntype, node_shader_gpu_tex_musgrave);
+ node_type_update(&ntype, node_shader_update_tex_musgrave);
+ ntype.build_multi_function = blender::nodes::sh_node_musgrave_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_noise.cc b/source/blender/nodes/shader/nodes/node_shader_tex_noise.cc
index 13537be2249..5f846207673 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_noise.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_noise.cc
@@ -17,11 +17,11 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "BLI_noise.hh"
-namespace blender::nodes::node_shader_tex_noise_cc {
+namespace blender::nodes {
static void sh_node_tex_noise_declare(NodeDeclarationBuilder &b)
{
@@ -40,6 +40,8 @@ static void sh_node_tex_noise_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Color")).no_muted_links();
};
+} // namespace blender::nodes
+
static void node_shader_init_tex_noise(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTexNoise *tex = (NodeTexNoise *)MEM_callocN(sizeof(NodeTexNoise), "NodeTexNoise");
@@ -84,6 +86,8 @@ static void node_shader_update_tex_noise(bNodeTree *ntree, bNode *node)
nodeSetSocketAvailability(ntree, sockW, tex->dimensions == 1 || tex->dimensions == 4);
}
+namespace blender::nodes {
+
class NoiseFunction : public fn::MultiFunction {
private:
int dimensions_;
@@ -242,23 +246,21 @@ static void sh_node_noise_build_multi_function(blender::nodes::NodeMultiFunction
builder.construct_and_set_matching_fn<NoiseFunction>(tex->dimensions);
}
-} // namespace blender::nodes::node_shader_tex_noise_cc
+} // namespace blender::nodes
/* node type definition */
-void register_node_type_sh_tex_noise()
+void register_node_type_sh_tex_noise(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_noise_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_TEX_NOISE, "Noise Texture", NODE_CLASS_TEXTURE, 0);
- ntype.declare = file_ns::sh_node_tex_noise_declare;
- node_type_init(&ntype, file_ns::node_shader_init_tex_noise);
+ ntype.declare = blender::nodes::sh_node_tex_noise_declare;
+ node_type_init(&ntype, node_shader_init_tex_noise);
node_type_storage(
&ntype, "NodeTexNoise", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tex_noise);
- node_type_update(&ntype, file_ns::node_shader_update_tex_noise);
- ntype.build_multi_function = file_ns::sh_node_noise_build_multi_function;
+ node_type_gpu(&ntype, node_shader_gpu_tex_noise);
+ node_type_update(&ntype, node_shader_update_tex_noise);
+ ntype.build_multi_function = blender::nodes::sh_node_noise_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_pointdensity.cc b/source/blender/nodes/shader/nodes/node_shader_tex_pointdensity.c
index 73812da029c..14cd1fd4c0c 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_pointdensity.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_pointdensity.c
@@ -17,14 +17,12 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "RE_texture.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_tex_pointdensity_cc {
-
static bNodeSocketTemplate sh_node_tex_pointdensity_in[] = {
{SOCK_VECTOR, N_("Vector"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
{-1, ""},
@@ -38,8 +36,8 @@ static bNodeSocketTemplate sh_node_tex_pointdensity_out[] = {
static void node_shader_init_tex_pointdensity(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeShaderTexPointDensity *point_density = (NodeShaderTexPointDensity *)MEM_callocN(
- sizeof(NodeShaderTexPointDensity), "new pd node");
+ NodeShaderTexPointDensity *point_density = MEM_callocN(sizeof(NodeShaderTexPointDensity),
+ "new pd node");
point_density->resolution = 100;
point_density->radius = 0.3f;
point_density->space = SHD_POINTDENSITY_SPACE_OBJECT;
@@ -49,7 +47,7 @@ static void node_shader_init_tex_pointdensity(bNodeTree *UNUSED(ntree), bNode *n
static void node_shader_free_tex_pointdensity(bNode *node)
{
- NodeShaderTexPointDensity *point_density = (NodeShaderTexPointDensity *)node->storage;
+ NodeShaderTexPointDensity *point_density = node->storage;
PointDensity *pd = &point_density->pd;
RE_point_density_free(pd);
BKE_texture_pointdensity_free_data(pd);
@@ -62,28 +60,23 @@ static void node_shader_copy_tex_pointdensity(bNodeTree *UNUSED(dest_ntree),
const bNode *src_node)
{
dest_node->storage = MEM_dupallocN(src_node->storage);
- NodeShaderTexPointDensity *point_density = (NodeShaderTexPointDensity *)dest_node->storage;
+ NodeShaderTexPointDensity *point_density = dest_node->storage;
PointDensity *pd = &point_density->pd;
memset(pd, 0, sizeof(*pd));
}
-} // namespace blender::nodes::node_shader_tex_pointdensity_cc
-
/* node type definition */
-void register_node_type_sh_tex_pointdensity()
+void register_node_type_sh_tex_pointdensity(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_pointdensity_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_TEX_POINTDENSITY, "Point Density", NODE_CLASS_TEXTURE, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_tex_pointdensity_in, file_ns::sh_node_tex_pointdensity_out);
- node_type_init(&ntype, file_ns::node_shader_init_tex_pointdensity);
+ node_type_socket_templates(&ntype, sh_node_tex_pointdensity_in, sh_node_tex_pointdensity_out);
+ node_type_init(&ntype, node_shader_init_tex_pointdensity);
node_type_storage(&ntype,
"NodeShaderTexPointDensity",
- file_ns::node_shader_free_tex_pointdensity,
- file_ns::node_shader_copy_tex_pointdensity);
+ node_shader_free_tex_pointdensity,
+ node_shader_copy_tex_pointdensity);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_sky.cc b/source/blender/nodes/shader/nodes/node_shader_tex_sky.c
index 2ee271b5d24..5c581528c14 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_sky.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_sky.c
@@ -17,13 +17,11 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "sky_model.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_tex_sky_cc {
-
static bNodeSocketTemplate sh_node_tex_sky_in[] = {
{SOCK_VECTOR, N_("Vector"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE},
{-1, ""},
@@ -36,7 +34,7 @@ static bNodeSocketTemplate sh_node_tex_sky_out[] = {
static void node_shader_init_tex_sky(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeTexSky *tex = (NodeTexSky *)MEM_callocN(sizeof(NodeTexSky), "NodeTexSky");
+ NodeTexSky *tex = MEM_callocN(sizeof(NodeTexSky), "NodeTexSky");
BKE_texture_mapping_default(&tex->base.tex_mapping, TEXMAP_TYPE_POINT);
BKE_texture_colormapping_default(&tex->base.color_mapping);
tex->sun_direction[0] = 0.0f;
@@ -57,10 +55,10 @@ static void node_shader_init_tex_sky(bNodeTree *UNUSED(ntree), bNode *node)
node->storage = tex;
}
-struct SkyModelPreetham {
+typedef struct SkyModelPreetham {
float config_Y[5], config_x[5], config_y[5]; /* named after xyY color space */
float radiance[3];
-};
+} SkyModelPreetham;
static float sky_perez_function(const float *lam, float theta, float gamma)
{
@@ -205,23 +203,19 @@ static void node_shader_update_sky(bNodeTree *ntree, bNode *node)
nodeSetSocketAvailability(ntree, sockVector, !(tex->sky_model == 2 && tex->sun_disc == 1));
}
-} // namespace blender::nodes::node_shader_tex_sky_cc
-
/* node type definition */
-void register_node_type_sh_tex_sky()
+void register_node_type_sh_tex_sky(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_sky_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_TEX_SKY, "Sky Texture", NODE_CLASS_TEXTURE, 0);
- node_type_socket_templates(&ntype, file_ns::sh_node_tex_sky_in, file_ns::sh_node_tex_sky_out);
+ node_type_socket_templates(&ntype, sh_node_tex_sky_in, sh_node_tex_sky_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_tex_sky);
+ 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, file_ns::node_shader_gpu_tex_sky);
+ node_type_gpu(&ntype, node_shader_gpu_tex_sky);
/* remove Vector input for Nishita */
- node_type_update(&ntype, file_ns::node_shader_update_sky);
+ node_type_update(&ntype, node_shader_update_sky);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.cc b/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.cc
index a1e54749b71..5d2654f61c8 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_voronoi.cc
@@ -17,11 +17,11 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "BLI_noise.hh"
-namespace blender::nodes::node_shader_tex_voronoi_cc {
+namespace blender::nodes {
static void sh_node_tex_voronoi_declare(NodeDeclarationBuilder &b)
{
@@ -47,6 +47,8 @@ static void sh_node_tex_voronoi_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Radius")).no_muted_links();
};
+} // namespace blender::nodes
+
static void node_shader_init_tex_voronoi(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTexVoronoi *tex = (NodeTexVoronoi *)MEM_callocN(sizeof(NodeTexVoronoi), "NodeTexVoronoi");
@@ -163,6 +165,8 @@ static void node_shader_update_tex_voronoi(bNodeTree *ntree, bNode *node)
nodeSetSocketAvailability(ntree, outRadiusSock, tex->feature == SHD_VORONOI_N_SPHERE_RADIUS);
}
+namespace blender::nodes {
+
static MultiFunction::ExecutionHints voronoi_execution_hints{50, false};
class VoronoiMinowskiFunction : public fn::MultiFunction {
@@ -1317,22 +1321,20 @@ static void sh_node_voronoi_build_multi_function(blender::nodes::NodeMultiFuncti
}
}
-} // namespace blender::nodes::node_shader_tex_voronoi_cc
+} // namespace blender::nodes
-void register_node_type_sh_tex_voronoi()
+void register_node_type_sh_tex_voronoi(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_voronoi_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_TEX_VORONOI, "Voronoi Texture", NODE_CLASS_TEXTURE, 0);
- ntype.declare = file_ns::sh_node_tex_voronoi_declare;
- node_type_init(&ntype, file_ns::node_shader_init_tex_voronoi);
+ ntype.declare = blender::nodes::sh_node_tex_voronoi_declare;
+ node_type_init(&ntype, node_shader_init_tex_voronoi);
node_type_storage(
&ntype, "NodeTexVoronoi", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tex_voronoi);
- node_type_update(&ntype, file_ns::node_shader_update_tex_voronoi);
- ntype.build_multi_function = file_ns::sh_node_voronoi_build_multi_function;
+ node_type_gpu(&ntype, node_shader_gpu_tex_voronoi);
+ node_type_update(&ntype, node_shader_update_tex_voronoi);
+ ntype.build_multi_function = blender::nodes::sh_node_voronoi_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_wave.cc b/source/blender/nodes/shader/nodes/node_shader_tex_wave.cc
index bcb3091c1ce..fe534c605e9 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_wave.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_wave.cc
@@ -17,11 +17,11 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "BLI_noise.hh"
-namespace blender::nodes::node_shader_tex_wave_cc {
+namespace blender::nodes {
static void sh_node_tex_wave_declare(NodeDeclarationBuilder &b)
{
@@ -41,6 +41,8 @@ static void sh_node_tex_wave_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Fac")).no_muted_links();
};
+} // namespace blender::nodes
+
static void node_shader_init_tex_wave(bNodeTree *UNUSED(ntree), bNode *node)
{
NodeTexWave *tex = (NodeTexWave *)MEM_callocN(sizeof(NodeTexWave), "NodeTexWave");
@@ -79,6 +81,8 @@ static int node_shader_gpu_tex_wave(GPUMaterial *mat,
GPU_constant(&wave_profile));
}
+namespace blender::nodes {
+
class WaveFunction : public fn::MultiFunction {
private:
int wave_type_;
@@ -212,21 +216,19 @@ static void sh_node_wave_tex_build_multi_function(
tex->wave_type, tex->bands_direction, tex->rings_direction, tex->wave_profile);
}
-} // namespace blender::nodes::node_shader_tex_wave_cc
+} // namespace blender::nodes
-void register_node_type_sh_tex_wave()
+void register_node_type_sh_tex_wave(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_wave_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_TEX_WAVE, "Wave Texture", NODE_CLASS_TEXTURE, 0);
- ntype.declare = file_ns::sh_node_tex_wave_declare;
+ ntype.declare = blender::nodes::sh_node_tex_wave_declare;
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_tex_wave);
+ node_type_init(&ntype, node_shader_init_tex_wave);
node_type_storage(&ntype, "NodeTexWave", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_tex_wave);
- ntype.build_multi_function = file_ns::sh_node_wave_tex_build_multi_function;
+ node_type_gpu(&ntype, node_shader_gpu_tex_wave);
+ ntype.build_multi_function = blender::nodes::sh_node_wave_tex_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.cc b/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.cc
index 5ea82991c25..7b4ff7fec5c 100644
--- a/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_tex_white_noise.cc
@@ -17,11 +17,11 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "BLI_noise.hh"
-namespace blender::nodes::node_shader_tex_white_noise_cc {
+namespace blender::nodes {
static void sh_node_tex_white_noise_declare(NodeDeclarationBuilder &b)
{
@@ -32,6 +32,8 @@ static void sh_node_tex_white_noise_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Color>(N_("Color"));
};
+} // namespace blender::nodes
+
static void node_shader_init_tex_white_noise(bNodeTree *UNUSED(ntree), bNode *node)
{
node->custom1 = 3;
@@ -65,6 +67,8 @@ static void node_shader_update_tex_white_noise(bNodeTree *ntree, bNode *node)
nodeSetSocketAvailability(ntree, sockW, node->custom1 == 1 || node->custom1 == 4);
}
+namespace blender::nodes {
+
class WhiteNoiseFunction : public fn::MultiFunction {
private:
int dimensions_;
@@ -185,21 +189,19 @@ static void sh_node_noise_build_multi_function(blender::nodes::NodeMultiFunction
builder.construct_and_set_matching_fn<WhiteNoiseFunction>((int)node.custom1);
}
-} // namespace blender::nodes::node_shader_tex_white_noise_cc
+} // namespace blender::nodes
-void register_node_type_sh_tex_white_noise()
+void register_node_type_sh_tex_white_noise(void)
{
- namespace file_ns = blender::nodes::node_shader_tex_white_noise_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(
&ntype, SH_NODE_TEX_WHITE_NOISE, "White Noise Texture", NODE_CLASS_TEXTURE, 0);
- ntype.declare = file_ns::sh_node_tex_white_noise_declare;
- node_type_init(&ntype, file_ns::node_shader_init_tex_white_noise);
- node_type_gpu(&ntype, file_ns::gpu_shader_tex_white_noise);
- node_type_update(&ntype, file_ns::node_shader_update_tex_white_noise);
- ntype.build_multi_function = file_ns::sh_node_noise_build_multi_function;
+ ntype.declare = blender::nodes::sh_node_tex_white_noise_declare;
+ node_type_init(&ntype, node_shader_init_tex_white_noise);
+ node_type_gpu(&ntype, gpu_shader_tex_white_noise);
+ node_type_update(&ntype, node_shader_update_tex_white_noise);
+ ntype.build_multi_function = blender::nodes::sh_node_noise_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_uv_along_stroke.cc b/source/blender/nodes/shader/nodes/node_shader_uvAlongStroke.c
index 8cb60199581..05c3248af65 100644
--- a/source/blender/nodes/shader/nodes/node_shader_uv_along_stroke.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_uvAlongStroke.c
@@ -17,29 +17,23 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_uv_along_stroke_cc {
-
static bNodeSocketTemplate sh_node_uvalongstroke_out[] = {
{SOCK_VECTOR, N_("UV"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{-1, ""},
};
-} // namespace blender::nodes::node_shader_uv_along_stroke_cc
-
/* node type definition */
-void register_node_type_sh_uvalongstroke()
+void register_node_type_sh_uvalongstroke(void)
{
- namespace file_ns = blender::nodes::node_shader_uv_along_stroke_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_UVALONGSTROKE, "UV Along Stroke", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_uvalongstroke_out);
- node_type_init(&ntype, nullptr);
+ node_type_socket_templates(&ntype, NULL, sh_node_uvalongstroke_out);
+ node_type_init(&ntype, NULL);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_uvmap.cc b/source/blender/nodes/shader/nodes/node_shader_uvmap.c
index 12feb9c7d09..775b8ffbc06 100644
--- a/source/blender/nodes/shader/nodes/node_shader_uvmap.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_uvmap.c
@@ -17,14 +17,12 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
#include "DNA_customdata_types.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_uvmap_cc {
-
static bNodeSocketTemplate sh_node_uvmap_out[] = {
{SOCK_VECTOR, N_("UV"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{-1, ""},
@@ -32,8 +30,7 @@ static bNodeSocketTemplate sh_node_uvmap_out[] = {
static void node_shader_init_uvmap(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeShaderUVMap *attr = (NodeShaderUVMap *)MEM_callocN(sizeof(NodeShaderUVMap),
- "NodeShaderUVMap");
+ NodeShaderUVMap *attr = MEM_callocN(sizeof(NodeShaderUVMap), "NodeShaderUVMap");
node->storage = attr;
}
@@ -43,7 +40,7 @@ static int node_shader_gpu_uvmap(GPUMaterial *mat,
GPUNodeStack *in,
GPUNodeStack *out)
{
- NodeShaderUVMap *attr = (NodeShaderUVMap *)node->storage;
+ NodeShaderUVMap *attr = node->storage;
GPUNodeLink *mtface = GPU_attribute(mat, CD_MTFACE, attr->uv_map);
GPU_stack_link(mat, node, "node_uvmap", in, out, mtface);
@@ -53,22 +50,18 @@ static int node_shader_gpu_uvmap(GPUMaterial *mat,
return 1;
}
-} // namespace blender::nodes::node_shader_uvmap_cc
-
/* node type definition */
-void register_node_type_sh_uvmap()
+void register_node_type_sh_uvmap(void)
{
- namespace file_ns = blender::nodes::node_shader_uvmap_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_UVMAP, "UV Map", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_uvmap_out);
+ node_type_socket_templates(&ntype, NULL, sh_node_uvmap_out);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_init(&ntype, file_ns::node_shader_init_uvmap);
+ node_type_init(&ntype, node_shader_init_uvmap);
node_type_storage(
&ntype, "NodeShaderUVMap", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_uvmap);
+ node_type_gpu(&ntype, node_shader_gpu_uvmap);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_color_ramp.cc b/source/blender/nodes/shader/nodes/node_shader_valToRgb.cc
index 2bb3f2e08cf..e4f1b2c76f0 100644
--- a/source/blender/nodes/shader/nodes/node_shader_color_ramp.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_valToRgb.cc
@@ -13,7 +13,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * The Original Code is Copyright (C) 2021 Blender Foundation.
+ * The Original Code is Copyright (C) 2005 Blender Foundation.
* All rights reserved.
*/
@@ -21,15 +21,17 @@
* \ingroup shdnodes
*/
+#include "IMB_colormanagement.h"
+
#include "DNA_texture_types.h"
#include "BLI_color.hh"
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
-namespace blender::nodes::node_shader_color_ramp_cc {
+namespace blender::nodes {
-static void sh_node_color_ramp_declare(NodeDeclarationBuilder &b)
+static void sh_node_valtorgb_declare(NodeDeclarationBuilder &b)
{
b.is_function_node();
b.add_input<decl::Float>(N_("Fac")).default_value(0.5f).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
@@ -37,12 +39,14 @@ static void sh_node_color_ramp_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Alpha"));
};
-static void node_shader_exec_color_ramp(void *UNUSED(data),
- int UNUSED(thread),
- bNode *node,
- bNodeExecData *UNUSED(execdata),
- bNodeStack **in,
- bNodeStack **out)
+} // namespace blender::nodes
+
+static void node_shader_exec_valtorgb(void *UNUSED(data),
+ int UNUSED(thread),
+ bNode *node,
+ bNodeExecData *UNUSED(execdata),
+ bNodeStack **in,
+ bNodeStack **out)
{
/* stack order in: fac */
/* stack order out: col, alpha */
@@ -56,16 +60,16 @@ static void node_shader_exec_color_ramp(void *UNUSED(data),
}
}
-static void node_shader_init_color_ramp(bNodeTree *UNUSED(ntree), bNode *node)
+static void node_shader_init_valtorgb(bNodeTree *UNUSED(ntree), bNode *node)
{
node->storage = BKE_colorband_add(true);
}
-static int gpu_shader_color_ramp(GPUMaterial *mat,
- bNode *node,
- bNodeExecData *UNUSED(execdata),
- GPUNodeStack *in,
- GPUNodeStack *out)
+static int gpu_shader_valtorgb(GPUMaterial *mat,
+ bNode *node,
+ bNodeExecData *UNUSED(execdata),
+ GPUNodeStack *in,
+ GPUNodeStack *out)
{
struct ColorBand *coba = (ColorBand *)node->storage;
float *array, layer;
@@ -160,7 +164,7 @@ class ColorBandFunction : public blender::fn::MultiFunction {
}
};
-static void sh_node_color_ramp_build_multi_function(
+static void sh_node_valtorgb_build_multi_function(
blender::nodes::NodeMultiFunctionBuilder &builder)
{
bNode &bnode = builder.node();
@@ -168,22 +172,64 @@ static void sh_node_color_ramp_build_multi_function(
builder.construct_and_set_matching_fn<ColorBandFunction>(*color_band);
}
-} // namespace blender::nodes::node_shader_color_ramp_cc
-
-void register_node_type_sh_color_ramp()
+void register_node_type_sh_valtorgb(void)
{
- namespace file_ns = blender::nodes::node_shader_color_ramp_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTER, 0);
- ntype.declare = file_ns::sh_node_color_ramp_declare;
- node_type_init(&ntype, file_ns::node_shader_init_color_ramp);
+ ntype.declare = blender::nodes::sh_node_valtorgb_declare;
+ node_type_init(&ntype, node_shader_init_valtorgb);
node_type_size_preset(&ntype, NODE_SIZE_LARGE);
node_type_storage(&ntype, "ColorBand", node_free_standard_storage, node_copy_standard_storage);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_color_ramp);
- node_type_gpu(&ntype, file_ns::gpu_shader_color_ramp);
- ntype.build_multi_function = file_ns::sh_node_color_ramp_build_multi_function;
+ node_type_exec(&ntype, nullptr, nullptr, node_shader_exec_valtorgb);
+ node_type_gpu(&ntype, gpu_shader_valtorgb);
+ ntype.build_multi_function = sh_node_valtorgb_build_multi_function;
+
+ nodeRegisterType(&ntype);
+}
+
+namespace blender::nodes {
+
+static void sh_node_rgbtobw_declare(NodeDeclarationBuilder &b)
+{
+ b.add_input<decl::Color>(N_("Color")).default_value({0.5f, 0.5f, 0.5f, 1.0f});
+ b.add_output<decl::Float>(N_("Val"));
+};
+
+} // namespace blender::nodes
+
+static void node_shader_exec_rgbtobw(void *UNUSED(data),
+ int UNUSED(thread),
+ bNode *UNUSED(node),
+ bNodeExecData *UNUSED(execdata),
+ bNodeStack **in,
+ bNodeStack **out)
+{
+ /* Stack order out: BW. */
+ /* Stack order in: COL. */
+ float col[3];
+ nodestack_get_vec(col, SOCK_VECTOR, in[0]);
+
+ out[0]->vec[0] = IMB_colormanagement_get_luminance(col);
+}
+
+static int gpu_shader_rgbtobw(GPUMaterial *mat,
+ bNode *node,
+ bNodeExecData *UNUSED(execdata),
+ GPUNodeStack *in,
+ GPUNodeStack *out)
+{
+ return GPU_stack_link(mat, node, "rgbtobw", in, out);
+}
+
+void register_node_type_sh_rgbtobw(void)
+{
+ static bNodeType ntype;
+
+ sh_node_type_base(&ntype, SH_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTER, 0);
+ ntype.declare = blender::nodes::sh_node_rgbtobw_declare;
+ node_type_exec(&ntype, nullptr, nullptr, node_shader_exec_rgbtobw);
+ node_type_gpu(&ntype, gpu_shader_rgbtobw);
nodeRegisterType(&ntype);
-} \ No newline at end of file
+}
diff --git a/source/blender/nodes/shader/nodes/node_shader_value.cc b/source/blender/nodes/shader/nodes/node_shader_value.cc
index 9ff523f42f7..b0f152d8526 100644
--- a/source/blender/nodes/shader/nodes/node_shader_value.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_value.cc
@@ -21,15 +21,17 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
-namespace blender::nodes::node_shader_value_cc {
+namespace blender::nodes {
static void sh_node_value_declare(NodeDeclarationBuilder &b)
{
b.add_output<decl::Float>(N_("Value"));
};
+} // namespace blender::nodes
+
static int gpu_shader_value(GPUMaterial *mat,
bNode *node,
bNodeExecData *UNUSED(execdata),
@@ -47,18 +49,14 @@ static void sh_node_value_build_multi_function(blender::nodes::NodeMultiFunction
builder.construct_and_set_matching_fn<blender::fn::CustomMF_Constant<float>>(value->value);
}
-} // namespace blender::nodes::node_shader_value_cc
-
-void register_node_type_sh_value()
+void register_node_type_sh_value(void)
{
- namespace file_ns = blender::nodes::node_shader_value_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_VALUE, "Value", NODE_CLASS_INPUT, 0);
- ntype.declare = file_ns::sh_node_value_declare;
- node_type_gpu(&ntype, file_ns::gpu_shader_value);
- ntype.build_multi_function = file_ns::sh_node_value_build_multi_function;
+ ntype.declare = blender::nodes::sh_node_value_declare;
+ node_type_gpu(&ntype, gpu_shader_value);
+ ntype.build_multi_function = sh_node_value_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_vector_transform.cc b/source/blender/nodes/shader/nodes/node_shader_vectTransform.c
index d354b579c36..7b08178f874 100644
--- a/source/blender/nodes/shader/nodes/node_shader_vector_transform.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_vectTransform.c
@@ -21,12 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** Vector Transform ******************** */
-
-namespace blender::nodes::node_shader_vector_transform_cc {
-
static bNodeSocketTemplate sh_node_vect_transform_in[] = {
{SOCK_VECTOR, N_("Vector"), 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f, PROP_NONE}, {-1, ""}};
@@ -37,8 +34,8 @@ static bNodeSocketTemplate sh_node_vect_transform_out[] = {
static void node_shader_init_vect_transform(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeShaderVectTransform *vect = (NodeShaderVectTransform *)MEM_callocN(
- sizeof(NodeShaderVectTransform), "NodeShaderVectTransform");
+ NodeShaderVectTransform *vect = MEM_callocN(sizeof(NodeShaderVectTransform),
+ "NodeShaderVectTransform");
/* Convert World into Object Space per default */
vect->convert_to = 1;
@@ -61,7 +58,7 @@ static GPUNodeLink *get_gpulink_matrix_from_to(short from, short to)
case SHD_VECT_TRANSFORM_SPACE_OBJECT:
switch (to) {
case SHD_VECT_TRANSFORM_SPACE_OBJECT:
- return nullptr;
+ return NULL;
case SHD_VECT_TRANSFORM_SPACE_WORLD:
return GPU_builtin(GPU_OBJECT_MATRIX);
case SHD_VECT_TRANSFORM_SPACE_CAMERA:
@@ -71,7 +68,7 @@ static GPUNodeLink *get_gpulink_matrix_from_to(short from, short to)
case SHD_VECT_TRANSFORM_SPACE_WORLD:
switch (to) {
case SHD_VECT_TRANSFORM_SPACE_WORLD:
- return nullptr;
+ return NULL;
case SHD_VECT_TRANSFORM_SPACE_CAMERA:
return GPU_builtin(GPU_VIEW_MATRIX);
case SHD_VECT_TRANSFORM_SPACE_OBJECT:
@@ -81,7 +78,7 @@ static GPUNodeLink *get_gpulink_matrix_from_to(short from, short to)
case SHD_VECT_TRANSFORM_SPACE_CAMERA:
switch (to) {
case SHD_VECT_TRANSFORM_SPACE_CAMERA:
- return nullptr;
+ return NULL;
case SHD_VECT_TRANSFORM_SPACE_WORLD:
return GPU_builtin(GPU_INVERSE_VIEW_MATRIX);
case SHD_VECT_TRANSFORM_SPACE_OBJECT:
@@ -89,7 +86,7 @@ static GPUNodeLink *get_gpulink_matrix_from_to(short from, short to)
}
break;
}
- return nullptr;
+ return NULL;
}
static int gpu_shader_vect_transform(GPUMaterial *mat,
bNode *node,
@@ -102,7 +99,7 @@ static int gpu_shader_vect_transform(GPUMaterial *mat,
const char *vtransform = "direction_transform_m4v3";
const char *ptransform = "point_transform_m4v3";
- const char *func_name = nullptr;
+ const char *func_name = 0;
NodeShaderVectTransform *nodeprop = (NodeShaderVectTransform *)node->storage;
@@ -140,22 +137,17 @@ static int gpu_shader_vect_transform(GPUMaterial *mat,
return true;
}
-} // namespace blender::nodes::node_shader_vector_transform_cc
-
-void register_node_type_sh_vect_transform()
+void register_node_type_sh_vect_transform(void)
{
- namespace file_ns = blender::nodes::node_shader_vector_transform_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_VECT_TRANSFORM, "Vector Transform", NODE_CLASS_OP_VECTOR, 0);
- node_type_init(&ntype, file_ns::node_shader_init_vect_transform);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_vect_transform_in, file_ns::sh_node_vect_transform_out);
+ node_type_init(&ntype, node_shader_init_vect_transform);
+ node_type_socket_templates(&ntype, sh_node_vect_transform_in, sh_node_vect_transform_out);
node_type_storage(
&ntype, "NodeShaderVectTransform", node_free_standard_storage, node_copy_standard_storage);
- node_type_exec(&ntype, nullptr, nullptr, file_ns::node_shader_exec_vect_transform);
- node_type_gpu(&ntype, file_ns::gpu_shader_vect_transform);
+ node_type_exec(&ntype, NULL, NULL, node_shader_exec_vect_transform);
+ node_type_gpu(&ntype, gpu_shader_vect_transform);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc b/source/blender/nodes/shader/nodes/node_shader_vector_displacement.c
index 9683f889134..0e82f346529 100644
--- a/source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_vector_displacement.c
@@ -17,12 +17,10 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_vector_displacement_cc {
-
static bNodeSocketTemplate sh_node_vector_displacement_in[] = {
{SOCK_RGBA, N_("Vector"), 0.00f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f, PROP_NONE, SOCK_HIDE_VALUE},
{SOCK_FLOAT, N_("Midlevel"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
@@ -65,22 +63,18 @@ static int gpu_shader_vector_displacement(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_vector_displacement_world", in, out);
}
-} // namespace blender::nodes::node_shader_vector_displacement_cc
-
/* node type definition */
-void register_node_type_sh_vector_displacement()
+void register_node_type_sh_vector_displacement(void)
{
- namespace file_ns = blender::nodes::node_shader_vector_displacement_cc;
-
static bNodeType ntype;
sh_node_type_base(
&ntype, SH_NODE_VECTOR_DISPLACEMENT, "Vector Displacement", NODE_CLASS_OP_VECTOR, 0);
node_type_socket_templates(
- &ntype, file_ns::sh_node_vector_displacement_in, file_ns::sh_node_vector_displacement_out);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_init(&ntype, file_ns::node_shader_init_vector_displacement);
- node_type_gpu(&ntype, file_ns::gpu_shader_vector_displacement);
+ &ntype, sh_node_vector_displacement_in, sh_node_vector_displacement_out);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_init(&ntype, node_shader_init_vector_displacement);
+ node_type_gpu(&ntype, gpu_shader_vector_displacement);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_vector_math.cc b/source/blender/nodes/shader/nodes/node_shader_vector_math.cc
index 3a5cbad70dc..9b1b2467230 100644
--- a/source/blender/nodes/shader/nodes/node_shader_vector_math.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_vector_math.cc
@@ -21,11 +21,11 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "node_shader_util.h"
#include "NOD_math_functions.hh"
-namespace blender::nodes::node_vector_math_shader_cc {
+namespace blender::nodes {
static void sh_node_vector_math_declare(NodeDeclarationBuilder &b)
{
@@ -38,6 +38,8 @@ static void sh_node_vector_math_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Float>(N_("Value"));
};
+} // namespace blender::nodes
+
static const char *gpu_shader_get_name(int mode)
{
switch (mode) {
@@ -277,20 +279,16 @@ static void sh_node_vector_math_build_multi_function(
builder.set_matching_fn(fn);
}
-} // namespace blender::nodes::node_vector_math_shader_cc
-
-void register_node_type_sh_vect_math()
+void register_node_type_sh_vect_math(void)
{
- namespace file_ns = blender::nodes::node_vector_math_shader_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_VECTOR_MATH, "Vector Math", NODE_CLASS_OP_VECTOR, 0);
- ntype.declare = file_ns::sh_node_vector_math_declare;
+ ntype.declare = blender::nodes::sh_node_vector_math_declare;
node_type_label(&ntype, node_vector_math_label);
- node_type_gpu(&ntype, file_ns::gpu_shader_vector_math);
- node_type_update(&ntype, file_ns::node_shader_update_vector_math);
- ntype.build_multi_function = file_ns::sh_node_vector_math_build_multi_function;
+ node_type_gpu(&ntype, gpu_shader_vector_math);
+ node_type_update(&ntype, node_shader_update_vector_math);
+ ntype.build_multi_function = sh_node_vector_math_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_vector_rotate.cc b/source/blender/nodes/shader/nodes/node_shader_vector_rotate.cc
index 108d6d6bc4f..3c1f1ed8d39 100644
--- a/source/blender/nodes/shader/nodes/node_shader_vector_rotate.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_vector_rotate.cc
@@ -21,9 +21,9 @@
* \ingroup shdnodes
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
-namespace blender::nodes::node_shader_vector_rotate_cc {
+namespace blender::nodes {
static void sh_node_vector_rotate_declare(NodeDeclarationBuilder &b)
{
@@ -36,6 +36,8 @@ static void sh_node_vector_rotate_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Vector>(N_("Vector"));
};
+} // namespace blender::nodes
+
static const char *gpu_shader_get_name(int mode)
{
switch (mode) {
@@ -203,19 +205,15 @@ static void node_shader_update_vector_rotate(bNodeTree *ntree, bNode *node)
ntree, sock_angle, !ELEM(node->custom1, NODE_VECTOR_ROTATE_TYPE_EULER_XYZ));
}
-} // namespace blender::nodes::node_shader_vector_rotate_cc
-
-void register_node_type_sh_vector_rotate()
+void register_node_type_sh_vector_rotate(void)
{
- namespace file_ns = blender::nodes::node_shader_vector_rotate_cc;
-
static bNodeType ntype;
sh_fn_node_type_base(&ntype, SH_NODE_VECTOR_ROTATE, "Vector Rotate", NODE_CLASS_OP_VECTOR, 0);
- ntype.declare = file_ns::sh_node_vector_rotate_declare;
- node_type_gpu(&ntype, file_ns::gpu_shader_vector_rotate);
- node_type_update(&ntype, file_ns::node_shader_update_vector_rotate);
- ntype.build_multi_function = file_ns::sh_node_vector_rotate_build_multi_function;
+ ntype.declare = blender::nodes::sh_node_vector_rotate_declare;
+ node_type_gpu(&ntype, gpu_shader_vector_rotate);
+ node_type_update(&ntype, node_shader_update_vector_rotate);
+ ntype.build_multi_function = sh_node_vector_rotate_build_multi_function;
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_vertex_color.cc b/source/blender/nodes/shader/nodes/node_shader_vertex_color.c
index 739030d89c7..40576b68dd5 100644
--- a/source/blender/nodes/shader/nodes/node_shader_vertex_color.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_vertex_color.c
@@ -17,9 +17,7 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
-
-namespace blender::nodes::node_shader_vertex_color_cc {
+#include "../node_shader_util.h"
static bNodeSocketTemplate sh_node_vertex_color_out[] = {
{SOCK_RGBA, N_("Color")},
@@ -29,8 +27,8 @@ static bNodeSocketTemplate sh_node_vertex_color_out[] = {
static void node_shader_init_vertex_color(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeShaderVertexColor *vertexColor = (NodeShaderVertexColor *)MEM_callocN(
- sizeof(NodeShaderVertexColor), "NodeShaderVertexColor");
+ NodeShaderVertexColor *vertexColor = MEM_callocN(sizeof(NodeShaderVertexColor),
+ "NodeShaderVertexColor");
node->storage = vertexColor;
}
@@ -49,20 +47,16 @@ static int node_shader_gpu_vertex_color(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_vertex_color", in, out, vertexColorLink);
}
-} // namespace blender::nodes::node_shader_vertex_color_cc
-
-void register_node_type_sh_vertex_color()
+void register_node_type_sh_vertex_color(void)
{
- namespace file_ns = blender::nodes::node_shader_vertex_color_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_VERTEX_COLOR, "Vertex Color", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_vertex_color_out);
- node_type_init(&ntype, file_ns::node_shader_init_vertex_color);
+ node_type_socket_templates(&ntype, NULL, sh_node_vertex_color_out);
+ node_type_init(&ntype, node_shader_init_vertex_color);
node_type_storage(
&ntype, "NodeShaderVertexColor", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_vertex_color);
+ node_type_gpu(&ntype, node_shader_gpu_vertex_color);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_volume_absorption.cc b/source/blender/nodes/shader/nodes/node_shader_volume_absorption.c
index 550530b4bc0..abf2e63e6d5 100644
--- a/source/blender/nodes/shader/nodes/node_shader_volume_absorption.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_volume_absorption.c
@@ -17,18 +17,20 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_volume_absorption_cc {
+static bNodeSocketTemplate sh_node_volume_absorption_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Density"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Density")).default_value(1.0f).min(0.0f).max(1000.0f);
- b.add_output<decl::Shader>(N_("Volume"));
-}
+static bNodeSocketTemplate sh_node_volume_absorption_out[] = {
+ {SOCK_SHADER, N_("Volume")},
+ {-1, ""},
+};
static int node_shader_gpu_volume_absorption(GPUMaterial *mat,
bNode *node,
@@ -39,20 +41,16 @@ static int node_shader_gpu_volume_absorption(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_volume_absorption", in, out);
}
-} // namespace blender::nodes::node_shader_volume_absorption_cc
-
/* node type definition */
-void register_node_type_sh_volume_absorption()
+void register_node_type_sh_volume_absorption(void)
{
- namespace file_ns = blender::nodes::node_shader_volume_absorption_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_VOLUME_ABSORPTION, "Volume Absorption", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_volume_absorption);
+ node_type_socket_templates(&ntype, sh_node_volume_absorption_in, sh_node_volume_absorption_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_volume_absorption);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_volume_info.cc b/source/blender/nodes/shader/nodes/node_shader_volume_info.c
index dc556809fe6..6cafc991e13 100644
--- a/source/blender/nodes/shader/nodes/node_shader_volume_info.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_volume_info.c
@@ -17,9 +17,7 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
-
-namespace blender::nodes::node_shader_volume_info_cc {
+#include "../node_shader_util.h"
static bNodeSocketTemplate sh_node_volume_info_out[] = {
{SOCK_RGBA, N_("Color")},
@@ -51,17 +49,13 @@ static int node_shader_gpu_volume_info(GPUMaterial *mat,
return true;
}
-} // namespace blender::nodes::node_shader_volume_info_cc
-
-void register_node_type_sh_volume_info()
+void register_node_type_sh_volume_info(void)
{
- namespace file_ns = blender::nodes::node_shader_volume_info_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_VOLUME_INFO, "Volume Info", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_volume_info_out);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_volume_info);
+ node_type_socket_templates(&ntype, NULL, sh_node_volume_info_out);
+ node_type_gpu(&ntype, node_shader_gpu_volume_info);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_volume_principled.cc b/source/blender/nodes/shader/nodes/node_shader_volume_principled.c
index bdba452ccb2..1a25aec5cb8 100644
--- a/source/blender/nodes/shader/nodes/node_shader_volume_principled.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_volume_principled.c
@@ -17,28 +17,30 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_volume_principled_cc {
-
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.5f, 0.5f, 0.5f, 1.0f});
- b.add_input<decl::String>(N_("Color Attribute"));
- b.add_input<decl::Float>(N_("Density")).default_value(1.0f).min(0.0f).max(1000.0f);
- b.add_input<decl::String>(N_("Density Attribute"));
- b.add_input<decl::Float>(N_("Anisotropy")).min(-1.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Color>(N_("Absorption Color"));
- b.add_input<decl::Float>(N_("Emission Strength")).min(0.0f).max(1000.0f);
- b.add_input<decl::Color>(N_("Emission Color")).default_value({1.0f, 1.0f, 1.0f, 1.0f});
- b.add_input<decl::Float>(N_("Blackbody Intensity")).min(0.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_input<decl::Color>(N_("Blackbody Tint")).default_value({1.0f, 1.0f, 1.0f, 1.0f});
- b.add_input<decl::Float>(N_("Temperature")).default_value(1000.0f).min(0.0f).max(6500.0f);
- b.add_input<decl::String>(N_("Temperature Attribute"));
- b.add_output<decl::Shader>(N_("Volume"));
-}
+static bNodeSocketTemplate sh_node_volume_principled_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
+ {SOCK_STRING, N_("Color Attribute"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Density"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
+ {SOCK_STRING, N_("Density Attribute"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Anisotropy"), 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_FACTOR},
+ {SOCK_RGBA, N_("Absorption Color"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Emission Strength"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1000.0f},
+ {SOCK_RGBA, N_("Emission Color"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Blackbody Intensity"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_RGBA, N_("Blackbody Tint"), 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Temperature"), 1000.0f, 0.0f, 0.0f, 0.0f, 0.0f, 6500.0f},
+ {SOCK_STRING, N_("Temperature Attribute"), 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ {-1, ""},
+};
+
+static bNodeSocketTemplate sh_node_volume_principled_out[] = {
+ {SOCK_SHADER, N_("Volume")},
+ {-1, ""},
+};
static void node_shader_init_volume_principled(bNodeTree *UNUSED(ntree), bNode *node)
{
@@ -62,14 +64,14 @@ static int node_shader_gpu_volume_principled(GPUMaterial *mat,
bool use_blackbody = (in[8].link || in[8].vec[0] != 0.0f);
/* Get volume attributes. */
- GPUNodeLink *density = nullptr, *color = nullptr, *temperature = nullptr;
+ GPUNodeLink *density = NULL, *color = NULL, *temperature = NULL;
LISTBASE_FOREACH (bNodeSocket *, sock, &node->inputs) {
if (sock->typeinfo->type != SOCK_STRING) {
continue;
}
- bNodeSocketValueString *value = (bNodeSocketValueString *)sock->default_value;
+ bNodeSocketValueString *value = sock->default_value;
const char *attribute_name = value->value;
if (attribute_name[0] == '\0') {
continue;
@@ -104,11 +106,11 @@ static int node_shader_gpu_volume_principled(GPUMaterial *mat,
const int size = CM_TABLE + 1;
float *data, layer;
if (use_blackbody) {
- data = (float *)MEM_mallocN(sizeof(float) * size * 4, "blackbody texture");
+ data = MEM_mallocN(sizeof(float) * size * 4, "blackbody texture");
blackbody_temperature_to_rgb_table(data, size, 965.0f, 12000.0f);
}
else {
- data = (float *)MEM_callocN(sizeof(float) * size * 4, "blackbody black");
+ data = MEM_callocN(sizeof(float) * size * 4, "blackbody black");
}
GPUNodeLink *spectrummap = GPU_color_band(mat, size, data, &layer);
@@ -124,21 +126,17 @@ static int node_shader_gpu_volume_principled(GPUMaterial *mat,
GPU_constant(&layer));
}
-} // namespace blender::nodes::node_shader_volume_principled_cc
-
/* node type definition */
-void register_node_type_sh_volume_principled()
+void register_node_type_sh_volume_principled(void)
{
- namespace file_ns = blender::nodes::node_shader_volume_principled_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_VOLUME_PRINCIPLED, "Principled Volume", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
+ node_type_socket_templates(&ntype, sh_node_volume_principled_in, sh_node_volume_principled_out);
node_type_size_preset(&ntype, NODE_SIZE_LARGE);
- node_type_init(&ntype, file_ns::node_shader_init_volume_principled);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_volume_principled);
+ node_type_init(&ntype, node_shader_init_volume_principled);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_volume_principled);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_volume_scatter.cc b/source/blender/nodes/shader/nodes/node_shader_volume_scatter.c
index 736707ab55d..f4cfe7729ca 100644
--- a/source/blender/nodes/shader/nodes/node_shader_volume_scatter.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_volume_scatter.c
@@ -17,19 +17,21 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** OUTPUT ******************** */
-namespace blender::nodes::node_shader_volume_scatter_cc {
+static bNodeSocketTemplate sh_node_volume_scatter_in[] = {
+ {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+ {SOCK_FLOAT, N_("Density"), 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1000.0f},
+ {SOCK_FLOAT, N_("Anisotropy"), 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_FACTOR},
+ {-1, ""},
+};
-static void node_declare(NodeDeclarationBuilder &b)
-{
- b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f});
- b.add_input<decl::Float>(N_("Density")).default_value(1.0f).min(0.0f).max(1000.0f);
- b.add_input<decl::Float>(N_("Anisotropy")).min(-1.0f).max(1.0f).subtype(PROP_FACTOR);
- b.add_output<decl::Shader>(N_("Volume"));
-}
+static bNodeSocketTemplate sh_node_volume_scatter_out[] = {
+ {SOCK_SHADER, N_("Volume")},
+ {-1, ""},
+};
static int node_shader_gpu_volume_scatter(GPUMaterial *mat,
bNode *node,
@@ -40,20 +42,16 @@ static int node_shader_gpu_volume_scatter(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_volume_scatter", in, out);
}
-} // namespace blender::nodes::node_shader_volume_scatter_cc
-
/* node type definition */
-void register_node_type_sh_volume_scatter()
+void register_node_type_sh_volume_scatter(void)
{
- namespace file_ns = blender::nodes::node_shader_volume_scatter_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_VOLUME_SCATTER, "Volume Scatter", NODE_CLASS_SHADER, 0);
- ntype.declare = file_ns::node_declare;
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_volume_scatter);
+ node_type_socket_templates(&ntype, sh_node_volume_scatter_in, sh_node_volume_scatter_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_volume_scatter);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_wavelength.cc b/source/blender/nodes/shader/nodes/node_shader_wavelength.c
index 8798b1c8e06..f978537ee85 100644
--- a/source/blender/nodes/shader/nodes/node_shader_wavelength.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_wavelength.c
@@ -17,12 +17,9 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** Wavelength ******************** */
-
-namespace blender::nodes::node_shader_wavelength_cc {
-
static bNodeSocketTemplate sh_node_wavelength_in[] = {
{SOCK_FLOAT, N_("Wavelength"), 500.0f, 0.0f, 0.0f, 0.0f, 380.0f, 780.0f},
{-1, ""},
@@ -40,7 +37,7 @@ static int node_shader_gpu_wavelength(GPUMaterial *mat,
GPUNodeStack *out)
{
const int size = CM_TABLE + 1;
- float *data = (float *)MEM_mallocN(sizeof(float) * size * 4, "cie_xyz texture");
+ float *data = MEM_mallocN(sizeof(float) * size * 4, "cie_xyz texture");
wavelength_to_xyz_table(data, size);
@@ -60,22 +57,17 @@ static int node_shader_gpu_wavelength(GPUMaterial *mat,
GPU_uniform(xyz_to_rgb.b));
}
-} // namespace blender::nodes::node_shader_wavelength_cc
-
/* node type definition */
-void register_node_type_sh_wavelength()
+void register_node_type_sh_wavelength(void)
{
- namespace file_ns = blender::nodes::node_shader_wavelength_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_WAVELENGTH, "Wavelength", NODE_CLASS_CONVERTER, 0);
node_type_size_preset(&ntype, NODE_SIZE_MIDDLE);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_wavelength_in, file_ns::sh_node_wavelength_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_wavelength);
+ node_type_socket_templates(&ntype, sh_node_wavelength_in, sh_node_wavelength_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_wavelength);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_wireframe.cc b/source/blender/nodes/shader/nodes/node_shader_wireframe.c
index bd4d3adfde9..37e60ddb205 100644
--- a/source/blender/nodes/shader/nodes/node_shader_wireframe.cc
+++ b/source/blender/nodes/shader/nodes/node_shader_wireframe.c
@@ -17,12 +17,9 @@
* All rights reserved.
*/
-#include "node_shader_util.hh"
+#include "../node_shader_util.h"
/* **************** Wireframe ******************** */
-
-namespace blender::nodes::node_shader_wireframe_cc {
-
static bNodeSocketTemplate sh_node_wireframe_in[] = {
{SOCK_FLOAT, N_("Size"), 0.01f, 0.0f, 0.0f, 0.0f, 0.0f, 100.0f},
{-1, ""},
@@ -55,21 +52,16 @@ static int node_shader_gpu_wireframe(GPUMaterial *mat,
GPU_builtin(GPU_BARYCENTRIC_DIST));
}
-} // namespace blender::nodes::node_shader_wireframe_cc
-
/* node type definition */
-void register_node_type_sh_wireframe()
+void register_node_type_sh_wireframe(void)
{
- namespace file_ns = blender::nodes::node_shader_wireframe_cc;
-
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_WIREFRAME, "Wireframe", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(
- &ntype, file_ns::sh_node_wireframe_in, file_ns::sh_node_wireframe_out);
- node_type_init(&ntype, nullptr);
- node_type_storage(&ntype, "", nullptr, nullptr);
- node_type_gpu(&ntype, file_ns::node_shader_gpu_wireframe);
+ node_type_socket_templates(&ntype, sh_node_wireframe_in, sh_node_wireframe_out);
+ node_type_init(&ntype, NULL);
+ node_type_storage(&ntype, "", NULL, NULL);
+ node_type_gpu(&ntype, node_shader_gpu_wireframe);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/texture/nodes/node_texture_bricks.c b/source/blender/nodes/texture/nodes/node_texture_bricks.c
index 72690d6ccfe..966d05b4a16 100644
--- a/source/blender/nodes/texture/nodes/node_texture_bricks.c
+++ b/source/blender/nodes/texture/nodes/node_texture_bricks.c
@@ -21,6 +21,7 @@
* \ingroup texnodes
*/
+
#include "NOD_texture.h"
#include "node_texture_util.h"
diff --git a/source/blender/render/RE_texture.h b/source/blender/render/RE_texture.h
index 6b499c9d230..39d773777ab 100644
--- a/source/blender/render/RE_texture.h
+++ b/source/blender/render/RE_texture.h
@@ -22,8 +22,6 @@
#pragma once
-#include "BLI_compiler_attrs.h"
-
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* this include is for non-render pipeline exports (still old cruft here) */
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */