mirror of
https://github.com/BlackMATov/unity-flash-tools.git
synced 2025-12-16 22:19:31 +07:00
remove dummy alpha and erase blend modes
This commit is contained in:
@@ -23,14 +23,6 @@ inline fixed4 swf_invert(fixed4 ca, fixed4 cb) {
|
||||
return r;
|
||||
}
|
||||
|
||||
inline fixed4 swf_alpha(fixed4 ca, fixed4 cb) {
|
||||
return cb;
|
||||
}
|
||||
|
||||
inline fixed4 swf_erase(fixed4 ca, fixed4 cb) {
|
||||
return cb;
|
||||
}
|
||||
|
||||
inline fixed4 swf_overlay(fixed4 ca, fixed4 cb) {
|
||||
fixed4 r = ca > 0.5 ? 1.0 - 2.0 * (1.0 - ca) * (1.0 - cb) : 2.0 * ca * cb;
|
||||
r.a = cb.a;
|
||||
@@ -56,10 +48,6 @@ inline fixed4 grab_blend(sampler2D grab_tex, float4 screenpos, fixed4 c) {
|
||||
c = swf_difference(grab_c, c);
|
||||
#elif SWF_INVERT_BLEND
|
||||
c = swf_invert(grab_c, c);
|
||||
#elif SWF_ALPHA_BLEND
|
||||
c = swf_alpha(grab_c, c);
|
||||
#elif SWF_ERASE_BLEND
|
||||
c = swf_erase(grab_c, c);
|
||||
#elif SWF_OVERLAY_BLEND
|
||||
c = swf_overlay(grab_c, c);
|
||||
#elif SWF_HARDLIGHT_BLEND
|
||||
|
||||
@@ -39,7 +39,7 @@ Shader "FlashTools/SwfMaskedGrab" {
|
||||
sampler2D _MainTex;
|
||||
sampler2D _GrabTexture;
|
||||
|
||||
#pragma multi_compile SWF_DARKEN_BLEND SWF_DIFFERENCE_BLEND SWF_INVERT_BLEND SWF_ALPHA_BLEND SWF_ERASE_BLEND SWF_OVERLAY_BLEND SWF_HARDLIGHT_BLEND
|
||||
#pragma multi_compile SWF_DARKEN_BLEND SWF_DIFFERENCE_BLEND SWF_INVERT_BLEND SWF_OVERLAY_BLEND SWF_HARDLIGHT_BLEND
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "SwfBaseCG.cginc"
|
||||
|
||||
@@ -34,7 +34,7 @@ Shader "FlashTools/SwfSimpleGrab" {
|
||||
sampler2D _MainTex;
|
||||
sampler2D _GrabTexture;
|
||||
|
||||
#pragma multi_compile SWF_DARKEN_BLEND SWF_DIFFERENCE_BLEND SWF_INVERT_BLEND SWF_ALPHA_BLEND SWF_ERASE_BLEND SWF_OVERLAY_BLEND SWF_HARDLIGHT_BLEND
|
||||
#pragma multi_compile SWF_DARKEN_BLEND SWF_DIFFERENCE_BLEND SWF_INVERT_BLEND SWF_OVERLAY_BLEND SWF_HARDLIGHT_BLEND
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
#include "SwfBaseCG.cginc"
|
||||
|
||||
@@ -102,7 +102,6 @@ namespace FlashTools.Internal {
|
||||
0,
|
||||
0,
|
||||
null,
|
||||
false,
|
||||
frame);
|
||||
}
|
||||
|
||||
@@ -115,7 +114,6 @@ namespace FlashTools.Internal {
|
||||
ushort parent_masked,
|
||||
ushort parent_mask,
|
||||
List<SwfInstanceData> parent_masks,
|
||||
bool erasable,
|
||||
SwfFrameData frame)
|
||||
{
|
||||
var self_masks = new List<SwfInstanceData>();
|
||||
@@ -124,7 +122,6 @@ namespace FlashTools.Internal {
|
||||
var child_matrix = parent_matrix * inst.Matrix .ToUMatrix();
|
||||
var child_blend_mode = parent_blend_mode * inst.BlendMode .ToBlendModeData();
|
||||
var child_color_transform = parent_color_transform * inst.ColorTransform.ToColorTransData();
|
||||
var child_erasable = (erasable || inst.BlendMode.Value != SwfBlendMode.Mode.Normal);
|
||||
switch ( inst.Type ) {
|
||||
case SwfDisplayInstanceType.Shape:
|
||||
AddShapeInstanceToFrame(
|
||||
@@ -137,7 +134,6 @@ namespace FlashTools.Internal {
|
||||
parent_mask,
|
||||
parent_masks,
|
||||
self_masks,
|
||||
child_erasable,
|
||||
frame);
|
||||
break;
|
||||
case SwfDisplayInstanceType.Sprite:
|
||||
@@ -151,7 +147,6 @@ namespace FlashTools.Internal {
|
||||
parent_mask,
|
||||
parent_masks,
|
||||
self_masks,
|
||||
child_erasable,
|
||||
frame);
|
||||
break;
|
||||
default:
|
||||
@@ -173,7 +168,6 @@ namespace FlashTools.Internal {
|
||||
ushort parent_mask,
|
||||
List<SwfInstanceData> parent_masks,
|
||||
List<SwfInstanceData> self_masks,
|
||||
bool erasable,
|
||||
SwfFrameData frame)
|
||||
{
|
||||
var shape_def = library.FindDefine<SwfLibraryShapeDefine>(inst.Id);
|
||||
@@ -223,7 +217,6 @@ namespace FlashTools.Internal {
|
||||
ushort parent_mask,
|
||||
List<SwfInstanceData> parent_masks,
|
||||
List<SwfInstanceData> self_masks,
|
||||
bool erasable,
|
||||
SwfFrameData frame)
|
||||
{
|
||||
var sprite_def = library.FindDefine<SwfLibrarySpriteDefine>(inst.Id);
|
||||
@@ -245,7 +238,6 @@ namespace FlashTools.Internal {
|
||||
: (inst.ClipDepth > 0
|
||||
? self_masks
|
||||
: null),
|
||||
erasable,
|
||||
frame);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,10 +61,6 @@ namespace FlashTools.Internal.SwfTools.SwfTypes {
|
||||
return new SwfBlendModeData(SwfBlendModeData.Types.Subtract);
|
||||
case Mode.Invert:
|
||||
return new SwfBlendModeData(SwfBlendModeData.Types.Invert);
|
||||
case Mode.Alpha:
|
||||
return new SwfBlendModeData(SwfBlendModeData.Types.Alpha);
|
||||
case Mode.Erase:
|
||||
return new SwfBlendModeData(SwfBlendModeData.Types.Erase);
|
||||
case Mode.Hardlight:
|
||||
return new SwfBlendModeData(SwfBlendModeData.Types.Hardlight);
|
||||
default:
|
||||
|
||||
@@ -172,8 +172,6 @@ namespace FlashTools.Internal {
|
||||
case SwfBlendModeData.Types.Darken:
|
||||
case SwfBlendModeData.Types.Difference:
|
||||
case SwfBlendModeData.Types.Invert:
|
||||
case SwfBlendModeData.Types.Alpha:
|
||||
case SwfBlendModeData.Types.Erase:
|
||||
case SwfBlendModeData.Types.Overlay:
|
||||
case SwfBlendModeData.Types.Hardlight:
|
||||
return CheckAndGetShader(masked ? MaskedGrabShader : SimpleGrabShader);
|
||||
@@ -270,18 +268,6 @@ namespace FlashTools.Internal {
|
||||
material.SetInt("_DstBlend", (int)BlendMode.OneMinusSrcAlpha);
|
||||
material.EnableKeyword("SWF_INVERT_BLEND");
|
||||
break;
|
||||
case SwfBlendModeData.Types.Alpha:
|
||||
material.SetInt("_BlendOp" , (int)BlendOp.Add);
|
||||
material.SetInt("_SrcBlend", (int)BlendMode.One);
|
||||
material.SetInt("_DstBlend", (int)BlendMode.OneMinusSrcAlpha);
|
||||
material.EnableKeyword("SWF_ALPHA_BLEND");
|
||||
break;
|
||||
case SwfBlendModeData.Types.Erase:
|
||||
material.SetInt("_BlendOp" , (int)BlendOp.Add);
|
||||
material.SetInt("_SrcBlend", (int)BlendMode.One);
|
||||
material.SetInt("_DstBlend", (int)BlendMode.OneMinusSrcAlpha);
|
||||
material.EnableKeyword("SWF_ERASE_BLEND");
|
||||
break;
|
||||
case SwfBlendModeData.Types.Overlay:
|
||||
material.SetInt("_BlendOp" , (int)BlendOp.Add);
|
||||
material.SetInt("_SrcBlend", (int)BlendMode.One);
|
||||
|
||||
@@ -138,8 +138,6 @@ namespace FlashTools {
|
||||
Add,
|
||||
Subtract,
|
||||
Invert, // GrabPass
|
||||
Alpha, // GrabPass
|
||||
Erase, // GrabPass
|
||||
Overlay, // GrabPass
|
||||
Hardlight // GrabPass
|
||||
}
|
||||
@@ -159,9 +157,6 @@ namespace FlashTools {
|
||||
public static SwfBlendModeData operator*(
|
||||
SwfBlendModeData a, SwfBlendModeData b)
|
||||
{
|
||||
if ( b.type == Types.Alpha || b.type == Types.Erase ) {
|
||||
return b;
|
||||
}
|
||||
return (a.type == Types.Normal || a.type == Types.Layer) ? b : a;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user