mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-08-25 07:56:33 +00:00
When saving textures if only one channel is visible, save as greyscale
This commit is contained in:
@@ -487,6 +487,8 @@ namespace renderdoc
|
||||
[CustomMarshalAs(CustomUnmanagedType.CustomClass)]
|
||||
public SliceMapping slice = new SliceMapping();
|
||||
|
||||
public int channelExtract = -1;
|
||||
|
||||
public AlphaMapping alpha = AlphaMapping.Discard;
|
||||
public FloatVector alphaCol = new FloatVector(0.666f, 0.666f, 0.666f);
|
||||
public FloatVector alphaColSecondary = new FloatVector(0.333f, 0.333f, 0.333f);
|
||||
|
||||
@@ -3399,6 +3399,17 @@ namespace renderdocui.Windows
|
||||
m_SaveDialog.saveData.id = m_TexDisplay.texid;
|
||||
m_SaveDialog.saveData.slice.sliceIndex = (int)m_TexDisplay.sliceFace;
|
||||
m_SaveDialog.saveData.mip = (int)m_TexDisplay.mip;
|
||||
|
||||
m_SaveDialog.saveData.channelExtract = -1;
|
||||
if (m_TexDisplay.Red && !m_TexDisplay.Green && !m_TexDisplay.Blue && !m_TexDisplay.Alpha)
|
||||
m_SaveDialog.saveData.channelExtract = 0;
|
||||
if (!m_TexDisplay.Red && m_TexDisplay.Green && !m_TexDisplay.Blue && !m_TexDisplay.Alpha)
|
||||
m_SaveDialog.saveData.channelExtract = 1;
|
||||
if (!m_TexDisplay.Red && !m_TexDisplay.Green && m_TexDisplay.Blue && !m_TexDisplay.Alpha)
|
||||
m_SaveDialog.saveData.channelExtract = 2;
|
||||
if (!m_TexDisplay.Red && !m_TexDisplay.Green && !m_TexDisplay.Blue && m_TexDisplay.Alpha)
|
||||
m_SaveDialog.saveData.channelExtract = 3;
|
||||
|
||||
m_SaveDialog.saveData.comp.blackPoint = m_TexDisplay.rangemin;
|
||||
m_SaveDialog.saveData.comp.whitePoint = m_TexDisplay.rangemax;
|
||||
m_SaveDialog.saveData.alphaCol = m_TexDisplay.lightBackgroundColour;
|
||||
|
||||
Reference in New Issue
Block a user