Blender  V3.3
Classes | Macros | Typedefs | Enumerations
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);
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Depsgraph * graph

Definition at line 273 of file shader_graph.h.

◆ SHADER_NODE_CLASS

#define SHADER_NODE_CLASS (   type)
Value:
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 257 of file shader_graph.h.

◆ SHADER_NODE_NO_CLONE_CLASS

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

Definition at line 267 of file shader_graph.h.

Typedef Documentation

◆ ShaderNodeMap

Definition at line 290 of file shader_graph.h.

◆ ShaderNodeSet

Definition at line 289 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 39 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 46 of file shader_graph.h.