Blender V5.0
shader_graph.h File Reference
#include "graph/node.h"
#include "graph/node_type.h"
#include "kernel/types.h"
#include "util/map.h"
#include "util/param.h"
#include "util/set.h"
#include "util/string.h"
#include "util/types.h"
#include "util/unique_ptr_vector.h"
#include "util/vector.h"

Go to the source code of this file.

Classes

class  ShaderInput
class  ShaderOutput
class  ShaderNode
class  ShaderNodeIDComparator
class  ShaderNodeIDAndBoolComparator
class  ShaderGraph

Macros

#define SHADER_NODE_CLASS(type)
#define SHADER_NODE_NO_CLONE_CLASS(type)
#define SHADER_NODE_BASE_CLASS(type)

Typedefs

using ShaderNodeSet = set<ShaderNode *, ShaderNodeIDComparator>
using ShaderNodeMap = map<ShaderNode *, ShaderNode *, ShaderNodeIDComparator>

Enumerations

enum  ShaderBump { SHADER_BUMP_NONE , SHADER_BUMP_CENTER , SHADER_BUMP_DX , SHADER_BUMP_DY }
enum  ShaderNodeSpecialType {
  SHADER_SPECIAL_TYPE_NONE , SHADER_SPECIAL_TYPE_PROXY , SHADER_SPECIAL_TYPE_AUTOCONVERT , SHADER_SPECIAL_TYPE_GEOMETRY ,
  SHADER_SPECIAL_TYPE_OSL , SHADER_SPECIAL_TYPE_IMAGE_SLOT , SHADER_SPECIAL_TYPE_CLOSURE , SHADER_SPECIAL_TYPE_COMBINE_CLOSURE ,
  SHADER_SPECIAL_TYPE_OUTPUT , SHADER_SPECIAL_TYPE_BUMP , SHADER_SPECIAL_TYPE_OUTPUT_AOV , SHADER_SPECIAL_TYPE_LIGHT_PATH
}

Macro Definition Documentation

◆ SHADER_NODE_BASE_CLASS

#define SHADER_NODE_BASE_CLASS ( type)
Value:
ShaderNode *clone(ShaderGraph *graph) const override \
{ \
return graph->create_node<type>(*this); \
} \
void compile(SVMCompiler &compiler) override; \
void compile(OSLCompiler &compiler) override;

Definition at line 282 of file shader_graph.h.

◆ SHADER_NODE_CLASS

#define SHADER_NODE_CLASS ( type)
Value:
NODE_DECLARE \
type(); \
ShaderNode *clone(ShaderGraph *graph) const override \
{ \
return graph->create_node<type>(*this); \
} \
void compile(SVMCompiler &compiler) override; \
void compile(OSLCompiler &compiler) override;

Definition at line 266 of file shader_graph.h.

◆ SHADER_NODE_NO_CLONE_CLASS

#define SHADER_NODE_NO_CLONE_CLASS ( type)
Value:
NODE_DECLARE \
type(); \
void compile(SVMCompiler &compiler) override; \
void compile(OSLCompiler &compiler) override;

Definition at line 276 of file shader_graph.h.

Typedef Documentation

◆ ShaderNodeMap

Definition at line 308 of file shader_graph.h.

◆ ShaderNodeSet

Definition at line 307 of file shader_graph.h.

Enumeration Type Documentation

◆ ShaderBump

enum ShaderBump
Enumerator
SHADER_BUMP_NONE 
SHADER_BUMP_CENTER 
SHADER_BUMP_DX 
SHADER_BUMP_DY 

Definition at line 40 of file shader_graph.h.

◆ ShaderNodeSpecialType

Enumerator
SHADER_SPECIAL_TYPE_NONE 
SHADER_SPECIAL_TYPE_PROXY 
SHADER_SPECIAL_TYPE_AUTOCONVERT 
SHADER_SPECIAL_TYPE_GEOMETRY 
SHADER_SPECIAL_TYPE_OSL 
SHADER_SPECIAL_TYPE_IMAGE_SLOT 
SHADER_SPECIAL_TYPE_CLOSURE 
SHADER_SPECIAL_TYPE_COMBINE_CLOSURE 
SHADER_SPECIAL_TYPE_OUTPUT 
SHADER_SPECIAL_TYPE_BUMP 
SHADER_SPECIAL_TYPE_OUTPUT_AOV 
SHADER_SPECIAL_TYPE_LIGHT_PATH 

Definition at line 47 of file shader_graph.h.