ai_shaders.h
Go to the documentation of this file.
1// Copyright 2021 Autodesk, Inc. All rights reserved.
2//
3// Use of this software is subject to the terms of the Autodesk license
4// agreement provided at the time of installation or download, or which
5// otherwise accompanies this software in either electronic or hard copy form.
6
12#pragma once
13#include "ai_nodes.h"
14#include "ai_api.h"
15
16// forward declarations
17struct AtNode;
18struct AtShaderGlobals;
19
20
30 void (*Evaluate)(AtNode*, AtShaderGlobals*);
31};
32
34#define AI_SHADER_NODE_EXPORT_METHODS(tag) \
35AI_INSTANCE_COMMON_METHODS \
36shader_evaluate; \
37static AtShaderNodeMethods ai_shader_mtds = { \
38 Evaluate \
39}; \
40static AtNodeMethods ai_node_mtds = { \
41 &ai_common_mtds, \
42 &ai_shader_mtds \
43}; \
44const AtNodeMethods* tag = &ai_node_mtds;
45
52#define shader_evaluate \
53static void Evaluate(AtNode* node, AtShaderGlobals* sg)
54
60AI_API void AiShaderEvaluate(AtNode* node, AtShaderGlobals* sg);
61
62/* \}*/
63
64/*\}*/
DLL export prefix for API functions (necessary for multi-platform development)
AtNode struct and methods.
AI_API void AiShaderEvaluate(AtNode *node, AtShaderGlobals *sg)
Evaluate a shader.
Definition: ai_shaders.cpp:22
This represents a node in Arnold.
Shader globals data structure.
Definition: ai_shaderglobals.h:45
Shader Node methods structure.
Definition: ai_shaders.h:29

© 2022 Autodesk, Inc. · All rights reserved · www.arnoldrenderer.com