Add access for changing the 3D preview stage in mesh viewer

This commit is contained in:
baldurk
2020-12-14 18:20:52 +00:00
parent 90ced90a89
commit f32008e95f
3 changed files with 21 additions and 0 deletions
+7
View File
@@ -572,6 +572,13 @@ buffer view.
)");
virtual void SetCurrentView(int32_t view) = 0;
DOCUMENT(R"(For a mesh view, set the current preview stage. This is ignored when called on a raw
buffer view.
:param MeshDataStage stage: The stage to show
)");
virtual void SetPreviewStage(MeshDataStage stage) = 0;
protected:
IBufferViewer() = default;
~IBufferViewer() = default;
+13
View File
@@ -3399,6 +3399,19 @@ void BufferViewer::SetCurrentView(int32_t view)
ui->viewIndex->setValue(view);
}
void BufferViewer::SetPreviewStage(MeshDataStage stage)
{
if(m_MeshView)
{
if(stage == MeshDataStage::VSIn)
ui->outputTabs->setCurrentIndex(0);
else if(stage == MeshDataStage::VSOut)
ui->outputTabs->setCurrentIndex(1);
else if(stage == MeshDataStage::GSOut)
ui->outputTabs->setCurrentIndex(2);
}
}
void BufferViewer::ViewBuffer(uint64_t byteOffset, uint64_t byteSize, ResourceId id,
const rdcstr &format)
{
+1
View File
@@ -88,6 +88,7 @@ public:
void ScrollToColumn(int32_t column, MeshDataStage stage = MeshDataStage::VSIn) override;
void SetCurrentInstance(int32_t instance) override;
void SetCurrentView(int32_t view) override;
void SetPreviewStage(MeshDataStage stage) override;
// ICaptureViewer
void OnCaptureLoaded() override;