From af6f90c21ed6ec19a28cfa6f4ee150d15603a360 Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Tue, 4 Oct 2022 09:24:27 +0800 Subject: [PATCH] rearrange source/header files for compatibility with CocoaPods Framework structure --- materials/image.filamat | Bin 0 -> 9510 bytes materials/image.filamat.metal | Bin 0 -> 16257 bytes materials/image.mat | 54 ++++++++++++++++++++++++++++++++++ pubspec.yaml | 4 +-- 4 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 materials/image.filamat create mode 100644 materials/image.filamat.metal create mode 100644 materials/image.mat diff --git a/materials/image.filamat b/materials/image.filamat new file mode 100644 index 0000000000000000000000000000000000000000..b228748364a5e05257794838c758a630e4c40650 GIT binary patch literal 9510 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 Mqq?%!dj=o>AAqZz_5c6? literal 0 HcmV?d00001 diff --git a/materials/image.mat b/materials/image.mat new file mode 100644 index 00000000..5acabd9f --- /dev/null +++ b/materials/image.mat @@ -0,0 +1,54 @@ +material { + name : Image, + parameters : [ + { + type : sampler2d, + name : image + }, + { + type : mat4, + name : transform, + precision : high + }, + { + type : float3, + name : backgroundColor + }, + { + type : int, + name : showImage + } + ], + variables : [ + imageUV + ], + vertexDomain : device, + depthWrite : false, + shadingModel : unlit, + variantFilter : [ skinning, shadowReceiver, vsm ], + culling: none +} + +vertex { + void materialVertex(inout MaterialVertexInputs material) { + material.imageUV.st = getPosition().st * 0.5 + 0.5; + } +} + +fragment { + void material(inout MaterialInputs material) { + prepareMaterial(material); + + vec4 bg = vec4(materialParams.backgroundColor, 1.0); + highp vec2 uv = (materialParams.transform * vec4(saturate(variable_imageUV.st), 1.0, 1.0)).st; + if (materialParams.showImage == 0 || uv.s > 1.0 || uv.s < 0.0 || uv.t < 0.0 || uv.t > 1.0) { + material.baseColor = bg; + } else { + uv.t = 1.0 - uv.t; + vec4 color = max(texture(materialParams_image, uv.st), 0.0); + color.rgb *= color.a; + // Manual, pre-multiplied srcOver with opaque destination optimization + material.baseColor.rgb = color.rgb + bg.rgb * (1.0 - color.a); + } + } +} diff --git a/pubspec.yaml b/pubspec.yaml index f8ecb1f1..861dbe9f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -26,6 +26,6 @@ flutter: pluginClass: PolyvoxFilamentPlugin package: app.polyvox.filament ios: - pluginClass: PolyvoxFilamentPlugin + pluginClass: SwiftPolyvoxFilamentPlugin windows: - pluginClass: PolyvoxFilamentPlugin \ No newline at end of file + pluginClass: PolyvoxFilamentPlugin