Add Chromium-only Blender WebEngine parity work
This commit is contained in:
57
blender-5.2.0/intern/cycles/scene/scene_attributes.cpp
Normal file
57
blender-5.2.0/intern/cycles/scene/scene_attributes.cpp
Normal file
@@ -0,0 +1,57 @@
|
||||
/* SPDX-FileCopyrightText: 2026 Blender Foundation
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 */
|
||||
|
||||
#include "scene/scene.h"
|
||||
|
||||
CCL_NAMESPACE_BEGIN
|
||||
|
||||
NODE_DEFINE(SceneAttributes)
|
||||
{
|
||||
NodeType *type = NodeType::add("scene_attributes", create);
|
||||
|
||||
SOCKET_FLOAT(time, "Time", 0);
|
||||
SOCKET_FLOAT(frame, "Frame", 1);
|
||||
|
||||
return type;
|
||||
}
|
||||
|
||||
SceneAttributes::SceneAttributes() : Node(get_node_type()) {}
|
||||
|
||||
SceneAttributes::~SceneAttributes() = default;
|
||||
|
||||
void SceneAttributes::device_update(Device * /*device*/, DeviceScene *dscene, Scene * /*scene*/)
|
||||
{
|
||||
if (!is_modified()) {
|
||||
return;
|
||||
}
|
||||
dscene->data.scene_time.time = time;
|
||||
dscene->data.scene_time.frame = frame;
|
||||
|
||||
clear_modified();
|
||||
}
|
||||
|
||||
bool SceneAttributes::is_modified() const
|
||||
{
|
||||
return Node::is_modified();
|
||||
}
|
||||
|
||||
void SceneAttributes::clear_modified()
|
||||
{
|
||||
Node::clear_modified();
|
||||
}
|
||||
|
||||
void SceneAttributes::device_free(Device * /*unused*/,
|
||||
DeviceScene * /*udscene*/,
|
||||
bool /*force_free*/)
|
||||
{
|
||||
}
|
||||
|
||||
void SceneAttributes::tag_update(Scene * /*scene*/, const uint32_t flag)
|
||||
{
|
||||
if (flag == UPDATE_ALL) {
|
||||
tag_modified();
|
||||
}
|
||||
}
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
Reference in New Issue
Block a user