summaryrefslogtreecommitdiffstats
path: root/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSOffscreenRenderManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSOffscreenRenderManager.h')
-rw-r--r--src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSOffscreenRenderManager.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSOffscreenRenderManager.h b/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSOffscreenRenderManager.h
index 0be417a5..e3a269c9 100644
--- a/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSOffscreenRenderManager.h
+++ b/src/Runtime/Source/Qt3DSRuntimeRender/Include/Qt3DSOffscreenRenderManager.h
@@ -126,6 +126,8 @@ namespace render {
}
};
+ typedef void *SRenderInstanceId;
+
class IOffscreenRenderer : public NVRefCounted
{
protected:
@@ -140,7 +142,8 @@ namespace render {
// Returns true of this object needs to be rendered, false if this object is not dirty
virtual SOffscreenRenderFlags
NeedsRender(const SOffscreenRendererEnvironment &inEnvironment,
- QT3DSVec2 inPresentationScaleFactor) = 0;
+ QT3DSVec2 inPresentationScaleFactor,
+ const SRenderInstanceId instanceId) = 0;
// Returns true if the rendered result image has transparency, or false
// if it should be treated as a completely opaque image.
// It is the IOffscreenRenderer's job to clear any buffers (color, depth, stencil) that it
@@ -151,17 +154,19 @@ namespace render {
// scaled.
virtual void Render(const SOffscreenRendererEnvironment &inEnvironment,
NVRenderContext &inRenderContext, QT3DSVec2 inPresentationScaleFactor,
- SScene::RenderClearCommand inColorBufferNeedsClear) = 0;
+ SScene::RenderClearCommand inColorBufferNeedsClear,
+ const SRenderInstanceId instanceId) = 0;
virtual void RenderWithClear(const SOffscreenRendererEnvironment &inEnvironment,
NVRenderContext &inRenderContext, QT3DSVec2 inPresentationScaleFactor,
SScene::RenderClearCommand inColorBufferNeedsClear,
- QT3DSVec3 inclearColor) = 0;
+ QT3DSVec3 inclearColor,
+ const SRenderInstanceId instanceId) = 0;
// Implementors should implement one of the two interfaces below.
// If this renderer supports picking that can return graph objects
// then return an interface here.
- virtual IGraphObjectPickQuery *GetGraphObjectPickQuery() = 0;
+ virtual IGraphObjectPickQuery *GetGraphObjectPickQuery(const SRenderInstanceId instanceId) = 0;
// If you *don't* support the GraphObjectPickIterator interface, then you should implement
// this interface
@@ -169,7 +174,8 @@ namespace render {
// If you return true, then we will assume that you swallowed the pick and will continue no
// further.
// else we will assume you did not and will continue the picking algorithm.
- virtual bool Pick(const QT3DSVec2 &inMouseCoords, const QT3DSVec2 &inViewportDimensions) = 0;
+ virtual bool Pick(const QT3DSVec2 &inMouseCoords, const QT3DSVec2 &inViewportDimensions,
+ const SRenderInstanceId instanceId) = 0;
};
struct SOffscreenRenderResult