mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-07-08 16:50:44 +00:00
Add a button on the texture viewer that flips the tex in Y
* Useful for systems that render OpenGL upside down with a final flip, for example.
This commit is contained in:
@@ -296,6 +296,14 @@
|
||||
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<para><mediaLinkInline><image xlink:href="flip_y"/></mediaLinkInline> Flip Y</para>
|
||||
</entry>
|
||||
<entry><para>This button toggles flipping the co-ordinate system in Y - y=0 is at the bottom of the window
|
||||
instead of at the top.</para>
|
||||
</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<para>Render Overlay <mediaLinkInline><image xlink:href="OverlaySelect"/></mediaLinkInline></para>
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 478 B |
@@ -118,6 +118,10 @@
|
||||
<Tokens Include="Tokens.tokens" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="imgs\icons\flip_y.png">
|
||||
<ImageId>flip_y</ImageId>
|
||||
<AlternateText>flip y</AlternateText>
|
||||
</Image>
|
||||
<Image Include="imgs\Screenshots\DebugMessages.png">
|
||||
<ImageId>DebugMessages</ImageId>
|
||||
<AlternateText>Debug Messages Window</AlternateText>
|
||||
|
||||
@@ -35,7 +35,7 @@ layout (binding = 0, std140) uniform texdisplay
|
||||
float RangeMinimum;
|
||||
float InverseRangeSize;
|
||||
float MipLevel;
|
||||
float dummy2;
|
||||
int FlipY;
|
||||
|
||||
vec3 TextureResolutionPS;
|
||||
int OutputDisplayFormat;
|
||||
@@ -64,7 +64,7 @@ void main(void)
|
||||
// TODO: Use MipLevel and Slice parameters
|
||||
// TODO: Sample from a point or linear sampler depending on if we're
|
||||
// upscaling (point) or downscaling mip 0 (linear)
|
||||
vec4 col = texture(tex0, vec2(uv.x, 1.0f-uv.y));
|
||||
vec4 col = texture(tex0, vec2(uv.x, FlipY > 0 ? uv.y : 1.0f-uv.y));
|
||||
|
||||
if(RawOutput != 0)
|
||||
{
|
||||
|
||||
@@ -78,7 +78,7 @@ cbuffer DebugPixelCBufferData REG(b0)
|
||||
float RangeMinimum;
|
||||
float InverseRangeSize;
|
||||
float MipLevel;
|
||||
int padding;
|
||||
int FlipY;
|
||||
|
||||
float3 WireframeColour;
|
||||
int OutputDisplayFormat;
|
||||
|
||||
@@ -45,20 +45,25 @@ float4 RENDERDOC_TexDisplayPS(v2f IN) : SV_Target0
|
||||
uint4 ucol = 0;
|
||||
int4 scol = 0;
|
||||
|
||||
float2 uvTex = IN.tex.xy;
|
||||
|
||||
if(FlipY)
|
||||
uvTex.y = 1.0f - uvTex.y;
|
||||
|
||||
if(uintTex)
|
||||
{
|
||||
ucol = SampleTextureUInt4(OutputDisplayFormat & TEXDISPLAY_TYPEMASK,
|
||||
IN.tex.xy, Slice, MipLevel, TextureResolutionPS);
|
||||
uvTex, Slice, MipLevel, TextureResolutionPS);
|
||||
}
|
||||
else if(sintTex)
|
||||
{
|
||||
scol = SampleTextureInt4 (OutputDisplayFormat & TEXDISPLAY_TYPEMASK,
|
||||
IN.tex.xy, Slice, MipLevel, TextureResolutionPS);
|
||||
uvTex, Slice, MipLevel, TextureResolutionPS);
|
||||
}
|
||||
else
|
||||
{
|
||||
col = SampleTextureFloat4(OutputDisplayFormat & TEXDISPLAY_TYPEMASK, (ScalePS < 1 && MipLevel == 0),
|
||||
IN.tex.xy, Slice, MipLevel, TextureResolutionPS);
|
||||
uvTex, Slice, MipLevel, TextureResolutionPS);
|
||||
}
|
||||
|
||||
if(RawOutput)
|
||||
|
||||
@@ -1414,6 +1414,7 @@ void D3D11DebugManager::PickPixel(ResourceId texture, uint32_t x, uint32_t y, ui
|
||||
texDisplay.Red = texDisplay.Green = texDisplay.Blue = texDisplay.Alpha = true;
|
||||
texDisplay.HDRMul = -1.0f;
|
||||
texDisplay.linearDisplayAsGamma = true;
|
||||
texDisplay.FlipY = false;
|
||||
texDisplay.mip = mip;
|
||||
texDisplay.CustomShader = ResourceId();
|
||||
texDisplay.sliceFace = sliceFace;
|
||||
@@ -2060,6 +2061,7 @@ ResourceId D3D11DebugManager::ApplyCustomShader(ResourceId shader, ResourceId te
|
||||
|
||||
TextureDisplay disp;
|
||||
disp.Red = disp.Green = disp.Blue = disp.Alpha = true;
|
||||
disp.FlipY = false;
|
||||
disp.offx = 0.0f;
|
||||
disp.offy = 0.0f;
|
||||
disp.CustomShader = shader;
|
||||
|
||||
@@ -3271,6 +3271,8 @@ bool D3D11DebugManager::RenderTexture(TextureDisplay cfg)
|
||||
pixelData.WireframeColour.x = cfg.HDRMul;
|
||||
|
||||
pixelData.RawOutput = cfg.rawoutput ? 1 : 0;
|
||||
|
||||
pixelData.FlipY = cfg.FlipY ? 1 : 0;
|
||||
|
||||
TextureShaderDetails details = GetShaderDetails(cfg.texid, cfg.rawoutput ? true : false);
|
||||
|
||||
|
||||
@@ -197,6 +197,7 @@ void GLReplay::PickPixel(ResourceId texture, uint32_t x, uint32_t y, uint32_t sl
|
||||
TextureDisplay texDisplay;
|
||||
|
||||
texDisplay.Red = texDisplay.Green = texDisplay.Blue = texDisplay.Alpha = true;
|
||||
texDisplay.FlipY = false;
|
||||
texDisplay.HDRMul = -1.0f;
|
||||
texDisplay.linearDisplayAsGamma = true;
|
||||
texDisplay.mip = mip;
|
||||
@@ -240,23 +241,23 @@ bool GLReplay::RenderTexture(TextureDisplay cfg)
|
||||
|
||||
struct uboData
|
||||
{
|
||||
Vec2f Position;
|
||||
float Scale;
|
||||
float HDRMul;
|
||||
Vec2f Position;
|
||||
float Scale;
|
||||
float HDRMul;
|
||||
|
||||
Vec4f Channels;
|
||||
Vec4f Channels;
|
||||
|
||||
float RangeMinimum;
|
||||
float InverseRangeSize;
|
||||
float MipLevel;
|
||||
float dummy2;
|
||||
float RangeMinimum;
|
||||
float InverseRangeSize;
|
||||
float MipLevel;
|
||||
int32_t FlipY;
|
||||
|
||||
Vec3f TextureResolutionPS;
|
||||
int OutputDisplayFormat;
|
||||
Vec3f TextureResolutionPS;
|
||||
int32_t OutputDisplayFormat;
|
||||
|
||||
Vec2f OutputRes;
|
||||
int RawOutput;
|
||||
float Slice;
|
||||
Vec2f OutputRes;
|
||||
int32_t RawOutput;
|
||||
float Slice;
|
||||
};
|
||||
|
||||
uboData *ubo = (uboData *)gl.glMapBufferRange(eGL_UNIFORM_BUFFER, 0, sizeof(uboData), GL_MAP_WRITE_BIT | GL_MAP_INVALIDATE_BUFFER_BIT);
|
||||
@@ -290,6 +291,8 @@ bool GLReplay::RenderTexture(TextureDisplay cfg)
|
||||
}
|
||||
|
||||
ubo->HDRMul = cfg.HDRMul;
|
||||
|
||||
ubo->FlipY = cfg.FlipY ? 1 : 0;
|
||||
|
||||
if(cfg.rangemax <= cfg.rangemin) cfg.rangemax += 0.00001f;
|
||||
|
||||
|
||||
@@ -59,6 +59,7 @@ struct TextureDisplay
|
||||
float rangemax;
|
||||
float scale;
|
||||
bool32 Red, Green, Blue, Alpha;
|
||||
bool32 FlipY;
|
||||
float HDRMul;
|
||||
bool32 linearDisplayAsGamma;
|
||||
ResourceId CustomShader;
|
||||
|
||||
@@ -362,6 +362,7 @@ bool ReplayOutput::Display()
|
||||
disp.Alpha = false;
|
||||
disp.HDRMul = -1.0f;
|
||||
disp.linearDisplayAsGamma = true;
|
||||
disp.FlipY = false;
|
||||
disp.mip = 0;
|
||||
disp.CustomShader = ResourceId();
|
||||
disp.texid = m_pDevice->GetLiveID(m_Thumbnails[i].texture);
|
||||
@@ -471,6 +472,7 @@ void ReplayOutput::DisplayTex()
|
||||
texDisplay.CustomShader = ResourceId();
|
||||
texDisplay.scale = m_RenderData.texDisplay.scale;
|
||||
texDisplay.HDRMul = -1.0f;
|
||||
texDisplay.FlipY = false;
|
||||
texDisplay.rangemin = 0.0f;
|
||||
texDisplay.rangemax = 1.0f;
|
||||
|
||||
|
||||
@@ -242,6 +242,8 @@ void DisplayRendererPreview(ReplayRenderer *renderer)
|
||||
d.overlay = eTexOverlay_None;
|
||||
d.CustomShader = ResourceId();
|
||||
d.HDRMul = -1.0f;
|
||||
d.linearDisplayAsGamma = true;
|
||||
d.FlipY = false;
|
||||
d.rangemin = 0.0f;
|
||||
d.rangemax = 1.0f;
|
||||
d.scale = 1.0f;
|
||||
@@ -249,6 +251,8 @@ void DisplayRendererPreview(ReplayRenderer *renderer)
|
||||
d.offy = 0.0f;
|
||||
d.sliceFace = 0;
|
||||
d.rawoutput = false;
|
||||
d.lightBackgroundColour = d.darkBackgroundColour =
|
||||
FloatVector(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
d.Red = d.Green = d.Blue = true;
|
||||
d.Alpha = false;
|
||||
|
||||
|
||||
@@ -413,6 +413,7 @@ namespace renderdoc
|
||||
public float rangemax = 1.0f;
|
||||
public float scale = 1.0f;
|
||||
public bool Red = true, Green = true, Blue = true, Alpha = false;
|
||||
public bool FlipY = false;
|
||||
public float HDRMul = -1.0f;
|
||||
public bool linearDisplayAsGamma = true;
|
||||
public ResourceId CustomShader = ResourceId.Null;
|
||||
|
||||
+11
-1
@@ -1,7 +1,7 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.18408
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
@@ -240,6 +240,16 @@ namespace renderdocui.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap flip_y {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("flip_y", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
||||
@@ -274,4 +274,7 @@
|
||||
<data name="wireframe_mesh" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\wireframe_mesh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="flip_y" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\flip_y.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 478 B |
+78
-64
@@ -33,21 +33,21 @@
|
||||
System.Windows.Forms.ToolStripLabel toolStripLabel2;
|
||||
System.Windows.Forms.ToolStripLabel toolStripLabel3;
|
||||
System.Windows.Forms.ToolStripLabel toolStripLabel1;
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelSkin dockPanelSkin1 = new WeifenLuo.WinFormsUI.Docking.DockPanelSkin();
|
||||
WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin1 = new WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient1 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient2 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient2 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient3 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient4 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient5 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient3 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient6 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient7 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelSkin dockPanelSkin2 = new WeifenLuo.WinFormsUI.Docking.DockPanelSkin();
|
||||
WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin2 = new WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient4 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient8 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin2 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient2 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient9 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient5 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient10 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient2 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient11 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient12 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient6 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient13 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient14 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TextureViewer));
|
||||
this.saveTextureDialog = new System.Windows.Forms.SaveFileDialog();
|
||||
this.rightclickMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
@@ -78,6 +78,7 @@
|
||||
this.toolStripLabel4 = new System.Windows.Forms.ToolStripLabel();
|
||||
this.fitToWindow = new System.Windows.Forms.ToolStripButton();
|
||||
this.zoomOption = new System.Windows.Forms.ToolStripComboBox();
|
||||
this.flip_y = new System.Windows.Forms.ToolStripButton();
|
||||
this.overlayStrip = new System.Windows.Forms.ToolStrip();
|
||||
this.toolStripLabel5 = new System.Windows.Forms.ToolStripLabel();
|
||||
this.overlay = new System.Windows.Forms.ToolStripComboBox();
|
||||
@@ -375,52 +376,52 @@
|
||||
this.dockPanel.RaiseTabsOnDragOver = false;
|
||||
this.dockPanel.ShowDocumentIcon = true;
|
||||
this.dockPanel.Size = new System.Drawing.Size(1093, 90);
|
||||
dockPanelGradient1.EndColor = System.Drawing.SystemColors.ControlLight;
|
||||
dockPanelGradient1.StartColor = System.Drawing.SystemColors.ControlLight;
|
||||
autoHideStripSkin1.DockStripGradient = dockPanelGradient1;
|
||||
tabGradient1.EndColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient1.StartColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient1.TextColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
autoHideStripSkin1.TabGradient = tabGradient1;
|
||||
autoHideStripSkin1.TextFont = new System.Drawing.Font("Tahoma", 8.25F);
|
||||
dockPanelSkin1.AutoHideStripSkin = autoHideStripSkin1;
|
||||
tabGradient2.EndColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
tabGradient2.StartColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
tabGradient2.TextColor = System.Drawing.SystemColors.ControlText;
|
||||
dockPaneStripGradient1.ActiveTabGradient = tabGradient2;
|
||||
dockPanelGradient2.EndColor = System.Drawing.SystemColors.Control;
|
||||
dockPanelGradient2.StartColor = System.Drawing.SystemColors.Control;
|
||||
dockPaneStripGradient1.DockStripGradient = dockPanelGradient2;
|
||||
tabGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
|
||||
tabGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
|
||||
tabGradient3.TextColor = System.Drawing.SystemColors.ControlText;
|
||||
dockPaneStripGradient1.InactiveTabGradient = tabGradient3;
|
||||
dockPaneStripSkin1.DocumentGradient = dockPaneStripGradient1;
|
||||
dockPaneStripSkin1.TextFont = new System.Drawing.Font("Tahoma", 8.25F);
|
||||
tabGradient4.EndColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
tabGradient4.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
tabGradient4.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
|
||||
tabGradient4.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
|
||||
dockPaneStripToolWindowGradient1.ActiveCaptionGradient = tabGradient4;
|
||||
tabGradient5.EndColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient5.StartColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient5.TextColor = System.Drawing.SystemColors.ControlText;
|
||||
dockPaneStripToolWindowGradient1.ActiveTabGradient = tabGradient5;
|
||||
dockPanelGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
|
||||
dockPanelGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
|
||||
dockPaneStripToolWindowGradient1.DockStripGradient = dockPanelGradient3;
|
||||
tabGradient6.EndColor = System.Drawing.SystemColors.InactiveCaption;
|
||||
tabGradient6.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
tabGradient6.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
|
||||
tabGradient6.TextColor = System.Drawing.SystemColors.InactiveCaptionText;
|
||||
dockPaneStripToolWindowGradient1.InactiveCaptionGradient = tabGradient6;
|
||||
tabGradient7.EndColor = System.Drawing.Color.Transparent;
|
||||
tabGradient7.StartColor = System.Drawing.Color.Transparent;
|
||||
tabGradient7.TextColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
dockPaneStripToolWindowGradient1.InactiveTabGradient = tabGradient7;
|
||||
dockPaneStripSkin1.ToolWindowGradient = dockPaneStripToolWindowGradient1;
|
||||
dockPanelSkin1.DockPaneStripSkin = dockPaneStripSkin1;
|
||||
this.dockPanel.Skin = dockPanelSkin1;
|
||||
dockPanelGradient4.EndColor = System.Drawing.SystemColors.ControlLight;
|
||||
dockPanelGradient4.StartColor = System.Drawing.SystemColors.ControlLight;
|
||||
autoHideStripSkin2.DockStripGradient = dockPanelGradient4;
|
||||
tabGradient8.EndColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient8.StartColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient8.TextColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
autoHideStripSkin2.TabGradient = tabGradient8;
|
||||
autoHideStripSkin2.TextFont = new System.Drawing.Font("Tahoma", 8.25F);
|
||||
dockPanelSkin2.AutoHideStripSkin = autoHideStripSkin2;
|
||||
tabGradient9.EndColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
tabGradient9.StartColor = System.Drawing.SystemColors.ControlLightLight;
|
||||
tabGradient9.TextColor = System.Drawing.SystemColors.ControlText;
|
||||
dockPaneStripGradient2.ActiveTabGradient = tabGradient9;
|
||||
dockPanelGradient5.EndColor = System.Drawing.SystemColors.Control;
|
||||
dockPanelGradient5.StartColor = System.Drawing.SystemColors.Control;
|
||||
dockPaneStripGradient2.DockStripGradient = dockPanelGradient5;
|
||||
tabGradient10.EndColor = System.Drawing.SystemColors.ControlLight;
|
||||
tabGradient10.StartColor = System.Drawing.SystemColors.ControlLight;
|
||||
tabGradient10.TextColor = System.Drawing.SystemColors.ControlText;
|
||||
dockPaneStripGradient2.InactiveTabGradient = tabGradient10;
|
||||
dockPaneStripSkin2.DocumentGradient = dockPaneStripGradient2;
|
||||
dockPaneStripSkin2.TextFont = new System.Drawing.Font("Tahoma", 8.25F);
|
||||
tabGradient11.EndColor = System.Drawing.SystemColors.ActiveCaption;
|
||||
tabGradient11.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
tabGradient11.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
|
||||
tabGradient11.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
|
||||
dockPaneStripToolWindowGradient2.ActiveCaptionGradient = tabGradient11;
|
||||
tabGradient12.EndColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient12.StartColor = System.Drawing.SystemColors.Control;
|
||||
tabGradient12.TextColor = System.Drawing.SystemColors.ControlText;
|
||||
dockPaneStripToolWindowGradient2.ActiveTabGradient = tabGradient12;
|
||||
dockPanelGradient6.EndColor = System.Drawing.SystemColors.ControlLight;
|
||||
dockPanelGradient6.StartColor = System.Drawing.SystemColors.ControlLight;
|
||||
dockPaneStripToolWindowGradient2.DockStripGradient = dockPanelGradient6;
|
||||
tabGradient13.EndColor = System.Drawing.SystemColors.InactiveCaption;
|
||||
tabGradient13.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
|
||||
tabGradient13.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
|
||||
tabGradient13.TextColor = System.Drawing.SystemColors.InactiveCaptionText;
|
||||
dockPaneStripToolWindowGradient2.InactiveCaptionGradient = tabGradient13;
|
||||
tabGradient14.EndColor = System.Drawing.Color.Transparent;
|
||||
tabGradient14.StartColor = System.Drawing.Color.Transparent;
|
||||
tabGradient14.TextColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
dockPaneStripToolWindowGradient2.InactiveTabGradient = tabGradient14;
|
||||
dockPaneStripSkin2.ToolWindowGradient = dockPaneStripToolWindowGradient2;
|
||||
dockPanelSkin2.DockPaneStripSkin = dockPaneStripSkin2;
|
||||
this.dockPanel.Skin = dockPanelSkin2;
|
||||
this.dockPanel.TabIndex = 0;
|
||||
//
|
||||
// depthstencilPanel
|
||||
@@ -468,11 +469,12 @@
|
||||
this.zoomStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripLabel4,
|
||||
this.fitToWindow,
|
||||
this.zoomOption});
|
||||
this.zoomOption,
|
||||
this.flip_y});
|
||||
this.zoomStrip.Location = new System.Drawing.Point(0, 50);
|
||||
this.zoomStrip.Margin = new System.Windows.Forms.Padding(0, 0, 12, 0);
|
||||
this.zoomStrip.Name = "zoomStrip";
|
||||
this.zoomStrip.Size = new System.Drawing.Size(204, 25);
|
||||
this.zoomStrip.Size = new System.Drawing.Size(258, 25);
|
||||
this.zoomStrip.TabIndex = 2;
|
||||
//
|
||||
// toolStripLabel4
|
||||
@@ -511,6 +513,17 @@
|
||||
this.zoomOption.SelectedIndexChanged += new System.EventHandler(this.zoomOption_SelectedIndexChanged);
|
||||
this.zoomOption.KeyDown += new System.Windows.Forms.KeyEventHandler(this.zoomOption_KeyDown);
|
||||
//
|
||||
// flip_y
|
||||
//
|
||||
this.flip_y.CheckOnClick = true;
|
||||
this.flip_y.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.flip_y.Image = global::renderdocui.Properties.Resources.flip_y;
|
||||
this.flip_y.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.flip_y.Name = "flip_y";
|
||||
this.flip_y.Size = new System.Drawing.Size(23, 22);
|
||||
this.flip_y.Text = "Flip Y";
|
||||
this.flip_y.CheckedChanged += new System.EventHandler(this.updateChannelsHandler);
|
||||
//
|
||||
// overlayStrip
|
||||
//
|
||||
this.overlayStrip.Dock = System.Windows.Forms.DockStyle.None;
|
||||
@@ -518,7 +531,7 @@
|
||||
this.overlayStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripLabel5,
|
||||
this.overlay});
|
||||
this.overlayStrip.Location = new System.Drawing.Point(216, 50);
|
||||
this.overlayStrip.Location = new System.Drawing.Point(270, 50);
|
||||
this.overlayStrip.Margin = new System.Windows.Forms.Padding(0, 0, 12, 0);
|
||||
this.overlayStrip.Name = "overlayStrip";
|
||||
this.overlayStrip.Size = new System.Drawing.Size(171, 25);
|
||||
@@ -1419,6 +1432,7 @@
|
||||
private System.Windows.Forms.ToolStripButton customCreate;
|
||||
private System.Windows.Forms.ToolStripButton customDelete;
|
||||
private System.Windows.Forms.ToolStripButton customEdit;
|
||||
private System.Windows.Forms.ToolStripButton flip_y;
|
||||
private System.Windows.Forms.ToolStripButton gammaDisplay;
|
||||
private System.Windows.Forms.ToolStripSeparator gammaSeparator;
|
||||
private System.Windows.Forms.ToolTip toolTip;
|
||||
|
||||
@@ -1353,7 +1353,11 @@ namespace renderdocui.Windows
|
||||
}
|
||||
}
|
||||
|
||||
string hoverCoords = String.Format("{0}, {1}", m_CurHoverPixel.X >> (int)m_TexDisplay.mip, m_CurHoverPixel.Y >> (int)m_TexDisplay.mip);
|
||||
int y = m_CurHoverPixel.Y >> (int)m_TexDisplay.mip;
|
||||
if (m_TexDisplay.FlipY)
|
||||
y = (int)tex.height - y;
|
||||
|
||||
string hoverCoords = String.Format("{0}, {1}", m_CurHoverPixel.X >> (int)m_TexDisplay.mip, y);
|
||||
string statusText = "Hover - " + hoverCoords;
|
||||
|
||||
if (m_CurHoverPixel.X > tex.width || m_CurHoverPixel.Y > tex.height || m_CurHoverPixel.X < 0 || m_CurHoverPixel.Y < 0)
|
||||
@@ -1361,8 +1365,12 @@ namespace renderdocui.Windows
|
||||
|
||||
if (m_CurPixelValue != null)
|
||||
{
|
||||
y = m_PickedPoint.Y >> (int)m_TexDisplay.mip;
|
||||
if (m_TexDisplay.FlipY)
|
||||
y = (int)tex.height - y;
|
||||
|
||||
statusText += " - Right click - " +
|
||||
(m_PickedPoint.X >> (int)m_TexDisplay.mip) + "," + (m_PickedPoint.Y >> (int)m_TexDisplay.mip) + ": ";
|
||||
(m_PickedPoint.X >> (int)m_TexDisplay.mip) + "," + y + ": ";
|
||||
|
||||
PixelValue val = m_CurPixelValue;
|
||||
|
||||
@@ -1584,6 +1592,8 @@ namespace renderdocui.Windows
|
||||
}
|
||||
}
|
||||
|
||||
m_TexDisplay.FlipY = flip_y.Checked;
|
||||
|
||||
channelStrip.ResumeLayout();
|
||||
|
||||
m_Core.Renderer.BeginInvoke(RT_UpdateAndDisplay);
|
||||
@@ -1894,9 +1904,16 @@ namespace renderdocui.Windows
|
||||
|
||||
private void RT_PickPixelsAndUpdate(int x, int y, bool ctx)
|
||||
{
|
||||
FetchTexture tex = CurrentTexture;
|
||||
|
||||
if (tex == null) return;
|
||||
|
||||
if(ctx)
|
||||
m_Output.SetPixelContextLocation((UInt32)x, (UInt32)y);
|
||||
|
||||
if (m_TexDisplay.FlipY)
|
||||
y = (int)tex.height - y;
|
||||
|
||||
var pickValue = m_Output.PickPixel(m_TexDisplay.texid, true, (UInt32)x, (UInt32)y,
|
||||
m_TexDisplay.sliceFace, m_TexDisplay.mip);
|
||||
PixelValue realValue = null;
|
||||
@@ -2022,13 +2039,22 @@ namespace renderdocui.Windows
|
||||
|
||||
if (e.Button == MouseButtons.None && m_TexDisplay.texid != ResourceId.Null)
|
||||
{
|
||||
m_Core.Renderer.BeginInvoke((ReplayRenderer r) =>
|
||||
{
|
||||
if (m_Output != null)
|
||||
RT_UpdateHoverColour(m_Output.PickPixel(m_TexDisplay.texid, true, (UInt32)m_CurHoverPixel.X, (UInt32)m_CurHoverPixel.Y,
|
||||
m_TexDisplay.sliceFace, m_TexDisplay.mip));
|
||||
});
|
||||
FetchTexture tex = CurrentTexture;
|
||||
|
||||
if (tex != null)
|
||||
{
|
||||
m_Core.Renderer.BeginInvoke((ReplayRenderer r) =>
|
||||
{
|
||||
if (m_Output != null)
|
||||
{
|
||||
UInt32 y = (UInt32)m_CurHoverPixel.Y;
|
||||
if (m_TexDisplay.FlipY)
|
||||
y = tex.height - y;
|
||||
RT_UpdateHoverColour(m_Output.PickPixel(m_TexDisplay.texid, true, (UInt32)m_CurHoverPixel.X, y,
|
||||
m_TexDisplay.sliceFace, m_TexDisplay.mip));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Panel p = renderContainer;
|
||||
|
||||
@@ -451,6 +451,7 @@
|
||||
<None Include="Resources\hourglass.png" />
|
||||
<None Include="Resources\connect.png" />
|
||||
<None Include="Resources\disconnect.png" />
|
||||
<None Include="Resources\flip_y.png" />
|
||||
<Content Include="Resources\RightArrow_Green_16x16.png" />
|
||||
<Content Include="Resources\icon.ico" />
|
||||
<None Include="Resources\page_white_delete.png" />
|
||||
|
||||
Reference in New Issue
Block a user