Blender V4.3
node_shader_bsdf_principled.cc File Reference
#include <map>
#include "BLI_string.h"
#include "node_shader_util.hh"
#include "UI_interface.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
 
#define socket_not_zero(sock)   (in[sock].link || (clamp_f(in[sock].vec[0], 0.0f, 1.0f) > 1e-5f))
 
#define socket_not_one(sock)    (in[sock].link || (clamp_f(in[sock].vec[0], 0.0f, 1.0f) < 1.0f - 1e-5f))
 

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 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

#define SOCK_BASE_COLOR_ID   0

◆ 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

#define SOCK_COAT_TINT_ID   22

◆ 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

◆ 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

◆ SOCK_SUBSURFACE_SCALE_ID

#define SOCK_SUBSURFACE_SCALE_ID   10

◆ SOCK_SUBSURFACE_WEIGHT_ID

◆ 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

◆ SOCK_WEIGHT_ID

#define SOCK_WEIGHT_ID   6

◆ socket_not_one

#define socket_not_one ( sock)     (in[sock].link || (clamp_f(in[sock].vec[0], 0.0f, 1.0f) < 1.0f - 1e-5f))

◆ socket_not_zero

#define socket_not_zero ( sock)    (in[sock].link || (clamp_f(in[sock].vec[0], 0.0f, 1.0f) > 1e-5f))

Function Documentation

◆ register_node_type_sh_bsdf_principled()