Loading...
Searching...
No Matches
rendererPlugin.h
1//
2// Copyright 2019 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_IMAGING_PLUGIN_HD_PRMAN_LOADER_RENDERER_PLUGIN_H
8#define PXR_IMAGING_PLUGIN_HD_PRMAN_LOADER_RENDERER_PLUGIN_H
9
10#include "pxr/pxr.h"
11#include "pxr/imaging/hd/rendererPlugin.h"
12
13PXR_NAMESPACE_OPEN_SCOPE
14
15class HdPrmanLoaderRendererPlugin final : public HdRendererPlugin
16{
17public:
18 HdPrmanLoaderRendererPlugin();
19 virtual ~HdPrmanLoaderRendererPlugin();
20
21 HdRenderDelegate *CreateRenderDelegate() override;
22 HdRenderDelegate *CreateRenderDelegate(
23 HdRenderSettingsMap const& settingsMap) override;
24 void DeleteRenderDelegate(HdRenderDelegate *) override;
25 bool IsSupported(bool gpuEnabled = true) const override;
26
27private:
28 // This class does not support copying.
29 HdPrmanLoaderRendererPlugin(
30 const HdPrmanLoaderRendererPlugin&) = delete;
31 HdPrmanLoaderRendererPlugin &operator =(
32 const HdPrmanLoaderRendererPlugin&) = delete;
33};
34
35// These macros are used to shim the actual hdPrman delegate implementation
36#define HDPRMAN_LOADER_CREATE_DELEGATE \
37 extern "C" ARCH_EXPORT HdRenderDelegate* HdPrmanLoaderCreateDelegate( \
38 HdRenderSettingsMap const& settingsMap)
39#define HDPRMAN_LOADER_DELETE_DELEGATE \
40 extern "C" ARCH_EXPORT void HdPrmanLoaderDeleteDelegate( \
41 HdRenderDelegate *renderDelegate)
42
43PXR_NAMESPACE_CLOSE_SCOPE
44
45#endif // PXR_IMAGING_PLUGIN_HD_PRMAN_LOADER_RENDERER_PLUGIN_H
This class defines a renderer plugin interface for Hydra.
virtual void DeleteRenderDelegate(HdRenderDelegate *renderDelegate)=0
Clients should use CreateDelegate since this method will eventually become protected.
virtual bool IsSupported(bool gpuEnabled=true) const =0
Returns true if this renderer plugin is supported in the running process and false if not.
virtual HdRenderDelegate * CreateRenderDelegate()=0
Clients should use CreateDelegate since this method will eventually become protected,...