19 const std::unordered_map<TfToken, PassType, TfToken::HashFunctor>
kAovToPass = {
40 : session(session_), keep_nodes(true), _ownCyclesSession(false)
57 graph->connect(bgNode->
output(
"Background"),
graph->output()->input(
"Surface"));
68 graph->add(objectNode);
71 graph->add(diffuseNode);
74 graph->connect(diffuseNode->
output(
"BSDF"),
graph->output()->input(
"Surface"));
78 const ustring instanceId(HdAovTokens->instanceId.GetString());
81 aovNode->set_name(instanceId);
85 instanceIdNode->set_attribute(instanceId);
86 graph->add(instanceIdNode);
98 if (_ownCyclesSession) {
109 Light *background_light =
nullptr;
112 background_light = light;
117 if (!background_light) {
138 _aovBindings = aovBindings;
139 for (
const HdRenderPassAovBinding &aovBinding : aovBindings) {
140 const auto cyclesAov =
kAovToPass.find(aovBinding.aovName);
143 TF_WARN(
"Unknown pass %s", aovBinding.aovName.GetText());
151 pass->set_type(
type);
152 pass->set_mode(mode);
153 pass->set_name(ustring(aovBinding.aovName.GetString()));
159 for (HdRenderPassAovBinding &aovBinding : _aovBindings) {
160 if (renderBuffer == aovBinding.renderBuffer) {
161 aovBinding.renderBuffer =
nullptr;
166 if (renderBuffer == _displayAovBinding.renderBuffer) {
167 _displayAovBinding.renderBuffer =
nullptr;
KDTree *BLI_kdtree_nd_() new(unsigned int maxsize)
_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
void tag_update(Scene *scene)
HdCyclesSession(CCL_NS::Session *session_, const bool keep_nodes)
~HdCyclesSession() override
CCL_NS::Session * session
void RemoveAovBinding(PXR_NS::HdRenderBuffer *renderBuffer)
void SyncAovBindings(const PXR_NS::HdRenderPassAovBindingVector &aovBindings)
ShaderInput * input(const char *name)
ShaderOutput * output(const char *name)
#define HDCYCLES_NAMESPACE_CLOSE_SCOPE
ccl_device_inline float3 one_float3()
const std::unordered_map< TfToken, PassType, TfToken::HashFunctor > kAovToPass
SceneLock(const PXR_NS::HdRenderParam *renderParam)
T * create_node(Args &&...args)
Shader * default_background
void delete_nodes(const set< T * > &nodes)
LightManager * light_manager