Blender V4.3
shader_graph.h File Reference
#include "graph/node.h"
#include "graph/node_type.h"
#include "kernel/types.h"
#include "util/list.h"
#include "util/map.h"
#include "util/param.h"
#include "util/set.h"
#include "util/types.h"
#include "util/vector.h"

Go to the source code of this file.

Classes

class  ShaderInput
 
class  ShaderOutput
 
class  ShaderNode
 
class  ShaderNodeIDComparator
 
class  ShaderGraph
 

Macros

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

Typedefs

typedef set< ShaderNode *, ShaderNodeIDComparatorShaderNodeSet
 
typedef map< ShaderNode *, ShaderNode *, ShaderNodeIDComparatorShaderNodeMap
 

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
}
 

Macro Definition Documentation

◆ SHADER_NODE_BASE_CLASS

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

Definition at line 270 of file shader_graph.h.

◆ SHADER_NODE_CLASS

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

Definition at line 254 of file shader_graph.h.

◆ SHADER_NODE_NO_CLONE_CLASS

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

Definition at line 264 of file shader_graph.h.

Typedef Documentation

◆ ShaderNodeMap

Definition at line 287 of file shader_graph.h.

◆ ShaderNodeSet

Definition at line 286 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 

Definition at line 47 of file shader_graph.h.