Blender V5.0
node_shader_bsdf_principled.cc File Reference
#include <map>
#include "node_shader_util.hh"
#include "BLI_math_base.h"
#include "UI_interface_layout.hh"
#include "UI_resources.hh"
#include "BKE_node_runtime.hh"

Go to the source code of this file.

Namespaces

namespace  blender
namespace  blender::nodes
namespace  blender::nodes::node_shader_bsdf_principled_cc

Macros

#define SOCK_BASE_COLOR_ID   0
#define SOCK_METALLIC_ID   1
#define SOCK_ROUGHNESS_ID   2
#define SOCK_IOR_ID   3
#define SOCK_ALPHA_ID   4
#define SOCK_NORMAL_ID   5
#define SOCK_WEIGHT_ID   6
#define SOCK_DIFFUSE_ROUGHNESS_ID   7
#define SOCK_SUBSURFACE_WEIGHT_ID   8
#define SOCK_SUBSURFACE_RADIUS_ID   9
#define SOCK_SUBSURFACE_SCALE_ID   10
#define SOCK_SUBSURFACE_IOR_ID   11
#define SOCK_SUBSURFACE_ANISOTROPY_ID   12
#define SOCK_SPECULAR_ID   13
#define SOCK_SPECULAR_TINT_ID   14
#define SOCK_ANISOTROPIC_ID   15
#define SOCK_ANISOTROPIC_ROTATION_ID   16
#define SOCK_TANGENT_ID   17
#define SOCK_TRANSMISSION_WEIGHT_ID   18
#define SOCK_COAT_WEIGHT_ID   19
#define SOCK_COAT_ROUGHNESS_ID   20
#define SOCK_COAT_IOR_ID   21
#define SOCK_COAT_TINT_ID   22
#define SOCK_COAT_NORMAL_ID   23
#define SOCK_SHEEN_WEIGHT_ID   24
#define SOCK_SHEEN_ROUGHNESS_ID   25
#define SOCK_SHEEN_TINT_ID   26
#define SOCK_EMISSION_ID   27
#define SOCK_EMISSION_STRENGTH_ID   28
#define SOCK_THIN_FILM_THICKNESS_ID   29
#define SOCK_THIN_FILM_IOR_ID   30

Functions

static void blender::nodes::node_shader_bsdf_principled_cc::node_declare (NodeDeclarationBuilder &b)
static void blender::nodes::node_shader_bsdf_principled_cc::node_shader_init_principled (bNodeTree *, bNode *node)
static bool blender::nodes::node_shader_bsdf_principled_cc::might_have_tinted_specular (const GPUNodeStack &base_color, const GPUNodeStack &metallic, const GPUNodeStack &specular_tint)
static int blender::nodes::node_shader_bsdf_principled_cc::node_shader_gpu_bsdf_principled (GPUMaterial *mat, bNode *node, bNodeExecData *, GPUNodeStack *in, GPUNodeStack *out)
static void blender::nodes::node_shader_bsdf_principled_cc::node_shader_update_principled (bNodeTree *ntree, bNode *node)
void register_node_type_sh_bsdf_principled ()

Macro Definition Documentation

◆ SOCK_ALPHA_ID

◆ SOCK_ANISOTROPIC_ID

#define SOCK_ANISOTROPIC_ID   15

◆ SOCK_ANISOTROPIC_ROTATION_ID

#define SOCK_ANISOTROPIC_ROTATION_ID   16

◆ SOCK_BASE_COLOR_ID

◆ SOCK_COAT_IOR_ID

#define SOCK_COAT_IOR_ID   21

◆ SOCK_COAT_NORMAL_ID

◆ SOCK_COAT_ROUGHNESS_ID

#define SOCK_COAT_ROUGHNESS_ID   20

◆ SOCK_COAT_TINT_ID

◆ SOCK_COAT_WEIGHT_ID

◆ SOCK_DIFFUSE_ROUGHNESS_ID

#define SOCK_DIFFUSE_ROUGHNESS_ID   7

◆ SOCK_EMISSION_ID

#define SOCK_EMISSION_ID   27

◆ SOCK_EMISSION_STRENGTH_ID

#define SOCK_EMISSION_STRENGTH_ID   28

◆ SOCK_IOR_ID

#define SOCK_IOR_ID   3

◆ SOCK_METALLIC_ID

◆ SOCK_NORMAL_ID

◆ SOCK_ROUGHNESS_ID

#define SOCK_ROUGHNESS_ID   2

◆ SOCK_SHEEN_ROUGHNESS_ID

#define SOCK_SHEEN_ROUGHNESS_ID   25

◆ SOCK_SHEEN_TINT_ID

#define SOCK_SHEEN_TINT_ID   26

◆ SOCK_SHEEN_WEIGHT_ID

#define SOCK_SHEEN_WEIGHT_ID   24

◆ SOCK_SPECULAR_ID

#define SOCK_SPECULAR_ID   13

◆ SOCK_SPECULAR_TINT_ID

#define SOCK_SPECULAR_TINT_ID   14

◆ SOCK_SUBSURFACE_ANISOTROPY_ID

#define SOCK_SUBSURFACE_ANISOTROPY_ID   12

◆ SOCK_SUBSURFACE_IOR_ID

#define SOCK_SUBSURFACE_IOR_ID   11

◆ SOCK_SUBSURFACE_RADIUS_ID

#define SOCK_SUBSURFACE_RADIUS_ID   9

◆ SOCK_SUBSURFACE_SCALE_ID

#define SOCK_SUBSURFACE_SCALE_ID   10

◆ SOCK_SUBSURFACE_WEIGHT_ID

#define SOCK_SUBSURFACE_WEIGHT_ID   8

◆ SOCK_TANGENT_ID

◆ SOCK_THIN_FILM_IOR_ID

#define SOCK_THIN_FILM_IOR_ID   30

◆ SOCK_THIN_FILM_THICKNESS_ID

#define SOCK_THIN_FILM_THICKNESS_ID   29

◆ SOCK_TRANSMISSION_WEIGHT_ID

#define SOCK_TRANSMISSION_WEIGHT_ID   18

◆ SOCK_WEIGHT_ID

#define SOCK_WEIGHT_ID   6

Function Documentation

◆ register_node_type_sh_bsdf_principled()