[iOS] merge shader header and disable cpp-interp in example project (#2808)

* [iOS] disable objc-interp in example project & reuse struct header inside shader

* [iOS] support sharing Shader Header on both cocoapods and SPM
This commit is contained in:
Byeong Gwan 2025-04-10 18:27:24 +09:00 committed by GitHub
parent e10a9f04c5
commit 88230582c2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 13 additions and 24 deletions

View File

@ -18,7 +18,8 @@ Spine runtimes for iOS.
s.platform = :ios, '13.0'
s.xcconfig = {
'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/SpineCppLite/spine-cpp/spine-cpp/include" "$(PODS_ROOT)/SpineCppLite/spine-cpp/spine-cpp-lite"'
'HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/SpineCppLite/spine-cpp/spine-cpp/include" "$(PODS_ROOT)/SpineCppLite/spine-cpp/spine-cpp-lite"',
'MTL_HEADER_SEARCH_PATHS' => '"$(PODS_ROOT)/SpineShadersStructs"'
}
s.resource_bundles = {

View File

@ -462,7 +462,7 @@
SUPPORTS_MACCATALYST = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "Spine iOS Example/Spine iOS Example-Bridging-Header.h";
SWIFT_OBJC_INTEROP_MODE = objcxx;
SWIFT_OBJC_INTEROP_MODE = objc;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
@ -506,7 +506,7 @@
SUPPORTS_MACCATALYST = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OBJC_BRIDGING_HEADER = "Spine iOS Example/Spine iOS Example-Bridging-Header.h";
SWIFT_OBJC_INTEROP_MODE = objcxx;
SWIFT_OBJC_INTEROP_MODE = objc;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};

View File

@ -2,27 +2,15 @@
#include <simd/simd.h>
using namespace metal;
typedef enum SpineVertexInputIndex {
SpineVertexInputIndexVertices = 0,
SpineVertexInputIndexTransform = 1,
SpineVertexInputIndexViewportSize = 2,
} SpineVertexInputIndex;
typedef enum SpineTextureIndex {
SpineTextureIndexBaseColor = 0,
} SpineTextureIndex;
typedef struct {
simd_float2 position;
simd_float4 color;
simd_float2 uv;
} SpineVertex;
typedef struct {
simd_float2 translation;
simd_float2 scale;
simd_float2 offset;
} SpineTransform;
#if __has_include("spine-ios/Sources/SpineShadersStructs/SpineShadersStructs.h")
// Cocoapods Target
#include "spine-ios/Sources/SpineShadersStructs/SpineShadersStructs.h"
#elif __has_include("../../SpineShadersStructs/SpineShadersStructs.h")
// Swift Package target
#include "../../SpineShadersStructs/SpineShadersStructs.h"
#else
#error "Header not found. Please correct Header search path"
#endif
struct RasterizerData {
simd_float4 position [[position]];