增加显示包围盒调试
This commit is contained in:
@@ -380,6 +380,17 @@ namespace SpineViewer.Spine.Implementations.Spine
|
|||||||
states.Shader = null;
|
states.Shader = null;
|
||||||
target.Draw(vertexArray, states);
|
target.Draw(vertexArray, states);
|
||||||
//clipping.ClipEnd();
|
//clipping.ClipEnd();
|
||||||
|
|
||||||
|
// 包围盒
|
||||||
|
if (IsDebug && IsSelected && DebugBounds)
|
||||||
|
{
|
||||||
|
var bounds = Bounds;
|
||||||
|
boundsVertices[0] = boundsVertices[4] = new(new(bounds.Left, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[1] = new(new(bounds.Right, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[2] = new(new(bounds.Right, bounds.Bottom), BoundsColor);
|
||||||
|
boundsVertices[3] = new(new(bounds.Left, bounds.Bottom), BoundsColor);
|
||||||
|
target.Draw(boundsVertices);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -336,6 +336,17 @@ namespace SpineViewer.Spine.Implementations.Spine
|
|||||||
states.Shader = null;
|
states.Shader = null;
|
||||||
target.Draw(vertexArray, states);
|
target.Draw(vertexArray, states);
|
||||||
clipping.ClipEnd();
|
clipping.ClipEnd();
|
||||||
|
|
||||||
|
// 包围盒
|
||||||
|
if (IsDebug && IsSelected && DebugBounds)
|
||||||
|
{
|
||||||
|
var bounds = Bounds;
|
||||||
|
boundsVertices[0] = boundsVertices[4] = new(new(bounds.Left, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[1] = new(new(bounds.Right, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[2] = new(new(bounds.Right, bounds.Bottom), BoundsColor);
|
||||||
|
boundsVertices[3] = new(new(bounds.Left, bounds.Bottom), BoundsColor);
|
||||||
|
target.Draw(boundsVertices);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -344,6 +344,17 @@ namespace SpineViewer.Spine.Implementations.Spine
|
|||||||
states.Shader = null;
|
states.Shader = null;
|
||||||
target.Draw(vertexArray, states);
|
target.Draw(vertexArray, states);
|
||||||
clipping.ClipEnd();
|
clipping.ClipEnd();
|
||||||
|
|
||||||
|
// 包围盒
|
||||||
|
if (IsDebug && IsSelected && DebugBounds)
|
||||||
|
{
|
||||||
|
var bounds = Bounds;
|
||||||
|
boundsVertices[0] = boundsVertices[4] = new(new(bounds.Left, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[1] = new(new(bounds.Right, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[2] = new(new(bounds.Right, bounds.Bottom), BoundsColor);
|
||||||
|
boundsVertices[3] = new(new(bounds.Left, bounds.Bottom), BoundsColor);
|
||||||
|
target.Draw(boundsVertices);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -347,6 +347,17 @@ namespace SpineViewer.Spine.Implementations.Spine
|
|||||||
states.Shader = null;
|
states.Shader = null;
|
||||||
target.Draw(vertexArray, states);
|
target.Draw(vertexArray, states);
|
||||||
clipping.ClipEnd();
|
clipping.ClipEnd();
|
||||||
|
|
||||||
|
// 包围盒
|
||||||
|
if (IsDebug && IsSelected && DebugBounds)
|
||||||
|
{
|
||||||
|
var bounds = Bounds;
|
||||||
|
boundsVertices[0] = boundsVertices[4] = new(new(bounds.Left, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[1] = new(new(bounds.Right, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[2] = new(new(bounds.Right, bounds.Bottom), BoundsColor);
|
||||||
|
boundsVertices[3] = new(new(bounds.Left, bounds.Bottom), BoundsColor);
|
||||||
|
target.Draw(boundsVertices);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -346,6 +346,17 @@ namespace SpineViewer.Spine.Implementations.Spine
|
|||||||
states.Shader = null;
|
states.Shader = null;
|
||||||
target.Draw(vertexArray, states);
|
target.Draw(vertexArray, states);
|
||||||
clipping.ClipEnd();
|
clipping.ClipEnd();
|
||||||
|
|
||||||
|
// 包围盒
|
||||||
|
if (IsDebug && IsSelected && DebugBounds)
|
||||||
|
{
|
||||||
|
var bounds = Bounds;
|
||||||
|
boundsVertices[0] = boundsVertices[4] = new(new(bounds.Left, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[1] = new(new(bounds.Right, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[2] = new(new(bounds.Right, bounds.Bottom), BoundsColor);
|
||||||
|
boundsVertices[3] = new(new(bounds.Left, bounds.Bottom), BoundsColor);
|
||||||
|
target.Draw(boundsVertices);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -346,6 +346,17 @@ namespace SpineViewer.Spine.Implementations.Spine
|
|||||||
states.Shader = null;
|
states.Shader = null;
|
||||||
target.Draw(vertexArray, states);
|
target.Draw(vertexArray, states);
|
||||||
clipping.ClipEnd();
|
clipping.ClipEnd();
|
||||||
|
|
||||||
|
// 包围盒
|
||||||
|
if (IsDebug && IsSelected && DebugBounds)
|
||||||
|
{
|
||||||
|
var bounds = Bounds;
|
||||||
|
boundsVertices[0] = boundsVertices[4] = new(new(bounds.Left, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[1] = new(new(bounds.Right, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[2] = new(new(bounds.Right, bounds.Bottom), BoundsColor);
|
||||||
|
boundsVertices[3] = new(new(bounds.Left, bounds.Bottom), BoundsColor);
|
||||||
|
target.Draw(boundsVertices);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -346,6 +346,17 @@ namespace SpineViewer.Spine.Implementations.Spine
|
|||||||
states.Shader = null;
|
states.Shader = null;
|
||||||
target.Draw(vertexArray, states);
|
target.Draw(vertexArray, states);
|
||||||
clipping.ClipEnd();
|
clipping.ClipEnd();
|
||||||
|
|
||||||
|
// 包围盒
|
||||||
|
if (IsDebug && IsSelected && DebugBounds)
|
||||||
|
{
|
||||||
|
var bounds = Bounds;
|
||||||
|
boundsVertices[0] = boundsVertices[4] = new(new(bounds.Left, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[1] = new(new(bounds.Right, bounds.Top), BoundsColor);
|
||||||
|
boundsVertices[2] = new(new(bounds.Right, bounds.Bottom), BoundsColor);
|
||||||
|
boundsVertices[3] = new(new(bounds.Left, bounds.Bottom), BoundsColor);
|
||||||
|
target.Draw(boundsVertices);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -434,16 +434,26 @@ namespace SpineViewer.Spine
|
|||||||
[Browsable(false)]
|
[Browsable(false)]
|
||||||
public bool IsDebug { get; set; } = false;
|
public bool IsDebug { get; set; } = false;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 包围盒颜色
|
||||||
|
/// </summary>
|
||||||
|
protected static readonly SFML.Graphics.Color BoundsColor = new(120, 200, 0);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 包围盒顶点数组
|
||||||
|
/// </summary>
|
||||||
|
protected readonly SFML.Graphics.VertexArray boundsVertices = new(SFML.Graphics.PrimitiveType.LineStrip, 5);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 显示包围盒
|
/// 显示包围盒
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Browsable(false)]
|
[Category("调试"), DisplayName("显示包围盒")]
|
||||||
public bool DebugBounds { get; set; } = true;
|
public bool DebugBounds { get; set; } = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 显示骨骼
|
/// 显示骨骼
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Browsable(false)]
|
[Category("调试"), DisplayName("显示骨骼(TODO)")]
|
||||||
public bool DebugBones { get; set; } = false;
|
public bool DebugBones { get; set; } = false;
|
||||||
|
|
||||||
#region SFML.Graphics.Drawable 接口实现
|
#region SFML.Graphics.Drawable 接口实现
|
||||||
@@ -456,10 +466,10 @@ namespace SpineViewer.Spine
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 顶点缓冲区
|
/// 顶点缓冲区
|
||||||
/// </summary>
|
/// </summary>
|
||||||
protected SFML.Graphics.VertexArray vertexArray = new(SFML.Graphics.PrimitiveType.Triangles);
|
protected readonly SFML.Graphics.VertexArray vertexArray = new(SFML.Graphics.PrimitiveType.Triangles);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// SFML.Graphics.Drawable 接口实现 TODO: 增加调试内容绘制
|
/// SFML.Graphics.Drawable 接口实现
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public abstract void Draw(SFML.Graphics.RenderTarget target, SFML.Graphics.RenderStates states);
|
public abstract void Draw(SFML.Graphics.RenderTarget target, SFML.Graphics.RenderStates states);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user