diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index d7898cb12..0ffe91522 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -2239,8 +2239,6 @@ void BufferViewer::OnEventChanged(uint32_t eventId) ClearModels(); } - EnableCameraGuessControls(); - bufdata->vsinConfig.curInstance = bufdata->vsoutConfig.curInstance = bufdata->gsoutConfig.curInstance = m_Config.curInstance; bufdata->vsinConfig.curView = bufdata->vsoutConfig.curView = bufdata->gsoutConfig.curView = @@ -2361,6 +2359,8 @@ void BufferViewer::OnEventChanged(uint32_t eventId) bufdata->gsoutConfig.columnName(m_ModelGSOut->secondaryColumn())) m_ModelGSOut->setSecondaryColumn(-1, m_Config.solidShadeMode == SolidShade::Secondary, false); + EnableCameraGuessControls(); + populateBBox(bufdata); UI_CalculateMeshFormats(); @@ -3438,6 +3438,8 @@ void BufferViewer::camGuess_changed(double value) if(ui->farGuess->value() > 0.0) m_Config.position.nearPlane = ui->farGuess->value(); + EnableCameraGuessControls(); + INVOKE_MEMFN(RT_UpdateAndDisplay); } @@ -3800,9 +3802,13 @@ void BufferViewer::UpdateHighlightVerts() void BufferViewer::EnableCameraGuessControls() { + ui->matrixType->setEnabled(isCurrentRasterOut()); ui->aspectGuess->setEnabled(isCurrentRasterOut()); ui->nearGuess->setEnabled(isCurrentRasterOut()); ui->farGuess->setEnabled(isCurrentRasterOut()); + + // FOV is only available in perspective mode + ui->fovGuess->setEnabled(isCurrentRasterOut() && ui->matrixType->currentIndex() == 0); } void BufferViewer::on_outputTabs_currentChanged(int index) diff --git a/qrenderdoc/Windows/BufferViewer.ui b/qrenderdoc/Windows/BufferViewer.ui index 4eff3cf28..de449430b 100644 --- a/qrenderdoc/Windows/BufferViewer.ui +++ b/qrenderdoc/Windows/BufferViewer.ui @@ -443,8 +443,8 @@ - Manually set auto-guessed values -0.0 to use automatic value + Manually configure projection used by vertex pipeline. +Enter 0.0 to use automatic/guessed value derived from data.