7#include <pxr/base/plug/plugin.h>
8#include <pxr/base/plug/registry.h>
9#include <pxr/imaging/hd/rendererPluginRegistry.h>
10#include <pxr/imaging/hdSt/renderDelegate.h>
11#include <pxr/imaging/hgi/tokens.h>
12#include <pxr/usd/usdGeom/tokens.h>
31 : render_delegate_name_(render_delegate_name), bl_engine_(bl_engine)
33 pxr::HdRendererPluginRegistry ®istry = pxr::HdRendererPluginRegistry::GetInstance();
35 pxr::TF_PY_ALLOW_THREADS_IN_SCOPE();
41 pxr::HdDriverVector hd_drivers;
43 hgi_ = pxr::Hgi::CreatePlatformDefaultHgi();
57 render_index_.get(), pxr::SdfPath::AbsoluteRootPath().AppendElementString(
"freeCamera"));
61 render_index_.get(), pxr::SdfPath::AbsoluteRootPath().AppendElementString(
"renderTask"));
65 render_index_.get(), pxr::SdfPath::AbsoluteRootPath().AppendElementString(
"renderTask"));
71 render_index_.get(), pxr::SdfPath::AbsoluteRootPath().AppendElementString(
"lightTasks"));
75 engine_ = std::make_unique<pxr::HdEngine>();
91 pxr::SdfPath scene_path = pxr::SdfPath::AbsoluteRootPath().AppendElementString(
"scene");
106 pxr::SdfPath scene_path = pxr::SdfPath::AbsoluteRootPath().AppendElementString(
"usd_scene");
122 auto it = render_stats.find(
"percentDone");
123 if (it == render_stats.end()) {
126 return float(it->second.UncheckedGet<
double>());
131 pxr::HdTaskSharedPtrVector res;
View3D * CTX_wm_view3d(const bContext *C)
void BLI_setenv(const char *env, const char *val) ATTR_NONNULL(1)
#define CLG_LOGREF_DECLARE_GLOBAL(var, id)
Scene * DEG_get_evaluated_scene(const Depsgraph *graph)
eGPUBackendType GPU_backend_get_type()
Engine(RenderEngine *bl_engine, const std::string &render_delegate_name)
RenderEngine * bl_engine_
void sync(Depsgraph *depsgraph, bContext *context)
float renderer_percent_done()
std::unique_ptr< pxr::HdxFreeCameraSceneDelegate > free_camera_delegate_
pxr::HdTaskSharedPtrVector tasks()
std::unique_ptr< RenderTaskDelegate > render_task_delegate_
pxr::HdDriver hgi_driver_
pxr::HdPluginRenderDelegateUniqueHandle render_delegate_
std::string render_delegate_name_
std::unique_ptr< io::hydra::USDSceneDelegate > usd_scene_delegate_
std::unique_ptr< pxr::HdRenderIndex > render_index_
std::unique_ptr< io::hydra::HydraSceneDelegate > hydra_scene_delegate_
virtual void set_render_setting(const std::string &key, const pxr::VtValue &val)
std::unique_ptr< LightTasksDelegate > light_tasks_delegate_
std::unique_ptr< pxr::HdEngine > engine_
const Depsgraph * depsgraph
draw_view in_light_buf[] float
struct CLG_LogRef * LOG_HYDRA_RENDER