From 16f344ff1bad6bb867104f33348f9921ad66ddc5 Mon Sep 17 00:00:00 2001 From: ww-rm Date: Wed, 26 Mar 2025 19:55:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BA=B9=E7=90=86=E8=B0=83?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Spine/Implementations/Spine/Spine21.cs | 11 +++++++++-- .../Spine/Implementations/Spine/Spine36.cs | 13 ++++++++++--- .../Spine/Implementations/Spine/Spine37.cs | 13 ++++++++++--- .../Spine/Implementations/Spine/Spine38.cs | 15 +++++++++++---- .../Spine/Implementations/Spine/Spine40.cs | 13 ++++++++++--- .../Spine/Implementations/Spine/Spine41.cs | 13 ++++++++++--- .../Spine/Implementations/Spine/Spine42.cs | 13 ++++++++++--- 7 files changed, 70 insertions(+), 21 deletions(-) diff --git a/SpineViewer/Spine/Implementations/Spine/Spine21.cs b/SpineViewer/Spine/Implementations/Spine/Spine21.cs index 48a242d..27b56ba 100644 --- a/SpineViewer/Spine/Implementations/Spine/Spine21.cs +++ b/SpineViewer/Spine/Implementations/Spine/Spine21.cs @@ -337,7 +337,11 @@ namespace SpineViewer.Spine.Implementations.Spine states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); + vertexArray.Clear(); } states.BlendMode = blendMode; @@ -382,9 +386,12 @@ namespace SpineViewer.Spine.Implementations.Spine states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); //clipping.ClipEnd(); + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); + // 包围盒 if (IsDebug && IsSelected && DebugBounds) { diff --git a/SpineViewer/Spine/Implementations/Spine/Spine36.cs b/SpineViewer/Spine/Implementations/Spine/Spine36.cs index 8c4a210..ecacee7 100644 --- a/SpineViewer/Spine/Implementations/Spine/Spine36.cs +++ b/SpineViewer/Spine/Implementations/Spine/Spine36.cs @@ -294,7 +294,11 @@ namespace SpineViewer.Spine.Implementations.Spine states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); + vertexArray.Clear(); } states.BlendMode = blendMode; @@ -334,13 +338,16 @@ namespace SpineViewer.Spine.Implementations.Spine clipping.ClipEnd(slot); } + clipping.ClipEnd(); if (UsePremultipliedAlpha && (states.BlendMode == BlendModeSFML.Normal || states.BlendMode == BlendModeSFML.Additive)) states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); - clipping.ClipEnd(); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); // 包围盒 if (IsDebug && IsSelected && DebugBounds) diff --git a/SpineViewer/Spine/Implementations/Spine/Spine37.cs b/SpineViewer/Spine/Implementations/Spine/Spine37.cs index 52cfb0b..6dd9f7d 100644 --- a/SpineViewer/Spine/Implementations/Spine/Spine37.cs +++ b/SpineViewer/Spine/Implementations/Spine/Spine37.cs @@ -312,7 +312,11 @@ namespace SpineViewer.Spine.Implementations.Spine states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); + vertexArray.Clear(); } states.BlendMode = blendMode; @@ -352,13 +356,16 @@ namespace SpineViewer.Spine.Implementations.Spine clipping.ClipEnd(slot); } + clipping.ClipEnd(); if (UsePremultipliedAlpha && (states.BlendMode == BlendModeSFML.Normal || states.BlendMode == BlendModeSFML.Additive)) states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); - clipping.ClipEnd(); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); // 包围盒 if (IsDebug && IsSelected && DebugBounds) diff --git a/SpineViewer/Spine/Implementations/Spine/Spine38.cs b/SpineViewer/Spine/Implementations/Spine/Spine38.cs index 6a7ebfd..5052386 100644 --- a/SpineViewer/Spine/Implementations/Spine/Spine38.cs +++ b/SpineViewer/Spine/Implementations/Spine/Spine38.cs @@ -271,7 +271,11 @@ namespace SpineViewer.Spine.Implementations.Spine states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); + vertexArray.Clear(); } states.BlendMode = blendMode; @@ -311,15 +315,18 @@ namespace SpineViewer.Spine.Implementations.Spine clipping.ClipEnd(slot); } + clipping.ClipEnd(); if (UsePremultipliedAlpha && (states.BlendMode == BlendModeSFML.Normal || states.BlendMode == BlendModeSFML.Additive)) states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); - clipping.ClipEnd(); - // 包围盒 + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); + + // 调试包围盒 if (IsDebug && IsSelected && DebugBounds) { var bounds = Bounds; diff --git a/SpineViewer/Spine/Implementations/Spine/Spine40.cs b/SpineViewer/Spine/Implementations/Spine/Spine40.cs index 5ce7f34..de5d6f8 100644 --- a/SpineViewer/Spine/Implementations/Spine/Spine40.cs +++ b/SpineViewer/Spine/Implementations/Spine/Spine40.cs @@ -267,7 +267,11 @@ namespace SpineViewer.Spine.Implementations.Spine states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); + vertexArray.Clear(); } states.BlendMode = blendMode; @@ -307,13 +311,16 @@ namespace SpineViewer.Spine.Implementations.Spine clipping.ClipEnd(slot); } + clipping.ClipEnd(); if (UsePremultipliedAlpha && (states.BlendMode == BlendModeSFML.Normal || states.BlendMode == BlendModeSFML.Additive)) states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); - clipping.ClipEnd(); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); // 包围盒 if (IsDebug && IsSelected && DebugBounds) diff --git a/SpineViewer/Spine/Implementations/Spine/Spine41.cs b/SpineViewer/Spine/Implementations/Spine/Spine41.cs index 3bb62cc..408852a 100644 --- a/SpineViewer/Spine/Implementations/Spine/Spine41.cs +++ b/SpineViewer/Spine/Implementations/Spine/Spine41.cs @@ -267,7 +267,11 @@ namespace SpineViewer.Spine.Implementations.Spine states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); + vertexArray.Clear(); } states.BlendMode = blendMode; @@ -307,13 +311,16 @@ namespace SpineViewer.Spine.Implementations.Spine clipping.ClipEnd(slot); } + clipping.ClipEnd(); if (UsePremultipliedAlpha && (states.BlendMode == BlendModeSFML.Normal || states.BlendMode == BlendModeSFML.Additive)) states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); - clipping.ClipEnd(); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); // 包围盒 if (IsDebug && IsSelected && DebugBounds) diff --git a/SpineViewer/Spine/Implementations/Spine/Spine42.cs b/SpineViewer/Spine/Implementations/Spine/Spine42.cs index 1be060f..8a377ef 100644 --- a/SpineViewer/Spine/Implementations/Spine/Spine42.cs +++ b/SpineViewer/Spine/Implementations/Spine/Spine42.cs @@ -267,7 +267,11 @@ namespace SpineViewer.Spine.Implementations.Spine states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); + vertexArray.Clear(); } states.BlendMode = blendMode; @@ -307,13 +311,16 @@ namespace SpineViewer.Spine.Implementations.Spine clipping.ClipEnd(slot); } + clipping.ClipEnd(); if (UsePremultipliedAlpha && (states.BlendMode == BlendModeSFML.Normal || states.BlendMode == BlendModeSFML.Additive)) states.Shader = FragmentShader; else states.Shader = null; - target.Draw(vertexArray, states); - clipping.ClipEnd(); + + // 调试纹理 + if (!IsDebug || DebugTexture) + target.Draw(vertexArray, states); // 包围盒 if (IsDebug && IsSelected && DebugBounds)