mirror of
https://github.com/Toastconcern/FrameStudio.git
synced 2026-10-29 04:02:56 +01:00
Frame Studio now builds for Windows (x64, x86, ARM64), Linux (x64, x86, ARM64)
and macOS (Apple Silicon, Intel):
- studio/platform.h with Win32 and POSIX implementations (dialogs through
tinyfiledialogs on Linux/macOS), a GLFW window beside the Win32 one, and a
platform-neutral frame pacer
- MoltenVK support in the renderer (portability enumeration) and bundled in
the macOS app
- 32-bit builds: large-address-aware, LZMA packing within a 32-bit address space
- unaligned file reads in the loaders go through loadUnaligned (no UB)
- scripts/build-studio.sh, studio/build_windows.bat [x64|x86|arm64],
cmake/llvm-mingw.cmake, and a GitHub Actions workflow building every target
Frame Home installs without Studio: frame/install-frame-home.{sh,ps1} and
"Install Frame Home.bat" (packaged as FrameHome-installer.zip).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
63 lines
4.8 KiB
C++
63 lines
4.8 KiB
C++
#pragma once
|
|
// GENERATED by tools/gen_clay_shader.py --selection: the selection-highlight overlay shaders. Do not edit by hand.
|
|
// vert: in vec3 position @0, vec2 uv @1; set0 b0 uniform { mat4 mvp } frag: set0 b1 sampler2D tex -> rgb, a=1
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
|
|
static const uint32_t kSelectionVertSpirv[] = {
|
|
0x07230203,0x00010000,0x00000000,0x00000022,0x00000000,0x00020011,0x00000001,0x0003000e,
|
|
0x00000000,0x00000001,0x0009000f,0x00000000,0x00000001,0x6e69616d,0x00000000,0x00000014,
|
|
0x00000015,0x00000016,0x00000017,0x00040005,0x00000001,0x6e69616d,0x00000000,0x00050005,
|
|
0x00000013,0x656c6573,0x6f697463,0x0000006e,0x00050005,0x00000014,0x69736f70,0x6e6f6974,
|
|
0x00000000,0x00030005,0x00000015,0x00007675,0x00030005,0x00000016,0x00565576,0x00040006,
|
|
0x0000000a,0x00000000,0x0070766d,0x00040047,0x00000014,0x0000001e,0x00000000,0x00040047,
|
|
0x00000015,0x0000001e,0x00000001,0x00040047,0x00000016,0x0000001e,0x00000000,0x00040047,
|
|
0x00000017,0x0000000b,0x00000000,0x00050048,0x0000000a,0x00000000,0x00000023,0x00000000,
|
|
0x00040048,0x0000000a,0x00000000,0x00000005,0x00050048,0x0000000a,0x00000000,0x00000007,
|
|
0x00000010,0x00030047,0x0000000a,0x00000002,0x00040047,0x00000013,0x00000022,0x00000000,
|
|
0x00040047,0x00000013,0x00000021,0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,
|
|
0x00000002,0x00030016,0x00000004,0x00000020,0x00040015,0x00000005,0x00000020,0x00000001,
|
|
0x00040017,0x00000006,0x00000004,0x00000002,0x00040017,0x00000007,0x00000004,0x00000003,
|
|
0x00040017,0x00000008,0x00000004,0x00000004,0x00040018,0x00000009,0x00000008,0x00000004,
|
|
0x0003001e,0x0000000a,0x00000009,0x00040020,0x0000000b,0x00000002,0x0000000a,0x00040020,
|
|
0x0000000c,0x00000002,0x00000009,0x00040020,0x0000000d,0x00000001,0x00000007,0x00040020,
|
|
0x0000000e,0x00000001,0x00000006,0x00040020,0x0000000f,0x00000003,0x00000006,0x00040020,
|
|
0x00000010,0x00000003,0x00000008,0x0004002b,0x00000004,0x00000011,0x3f800000,0x0004002b,
|
|
0x00000005,0x00000012,0x00000000,0x0004003b,0x0000000b,0x00000013,0x00000002,0x0004003b,
|
|
0x0000000d,0x00000014,0x00000001,0x0004003b,0x0000000e,0x00000015,0x00000001,0x0004003b,
|
|
0x0000000f,0x00000016,0x00000003,0x0004003b,0x00000010,0x00000017,0x00000003,0x00050036,
|
|
0x00000002,0x00000001,0x00000000,0x00000003,0x000200f8,0x00000018,0x00050041,0x0000000c,
|
|
0x00000019,0x00000013,0x00000012,0x0004003d,0x00000009,0x0000001a,0x00000019,0x0004003d,
|
|
0x00000007,0x0000001b,0x00000014,0x00050051,0x00000004,0x0000001c,0x0000001b,0x00000000,
|
|
0x00050051,0x00000004,0x0000001d,0x0000001b,0x00000001,0x00050051,0x00000004,0x0000001e,
|
|
0x0000001b,0x00000002,0x00070050,0x00000008,0x0000001f,0x0000001c,0x0000001d,0x0000001e,
|
|
0x00000011,0x00050091,0x00000008,0x00000020,0x0000001a,0x0000001f,0x0003003e,0x00000017,
|
|
0x00000020,0x0004003d,0x00000006,0x00000021,0x00000015,0x0003003e,0x00000016,0x00000021,
|
|
0x000100fd,0x00010038,
|
|
};
|
|
static const size_t kSelectionVertSize = sizeof(kSelectionVertSpirv);
|
|
|
|
static const uint32_t kSelectionFragSpirv[] = {
|
|
0x07230203,0x00010000,0x00000000,0x00000018,0x00000000,0x00020011,0x00000001,0x0003000e,
|
|
0x00000000,0x00000001,0x0007000f,0x00000004,0x00000001,0x6e69616d,0x00000000,0x0000000d,
|
|
0x0000000e,0x00030010,0x00000001,0x00000007,0x00040005,0x00000001,0x6e69616d,0x00000000,
|
|
0x00030005,0x0000000c,0x00786574,0x00030005,0x0000000d,0x00565576,0x00050005,0x0000000e,
|
|
0x4374756f,0x726f6c6f,0x00000000,0x00040047,0x0000000d,0x0000001e,0x00000000,0x00040047,
|
|
0x0000000e,0x0000001e,0x00000000,0x00040047,0x0000000c,0x00000022,0x00000000,0x00040047,
|
|
0x0000000c,0x00000021,0x00000001,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
|
|
0x00030016,0x00000004,0x00000020,0x00040017,0x00000005,0x00000004,0x00000002,0x00040017,
|
|
0x00000006,0x00000004,0x00000004,0x00090019,0x00000007,0x00000004,0x00000001,0x00000000,
|
|
0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x00000008,0x00000007,0x00040020,
|
|
0x00000009,0x00000000,0x00000008,0x00040020,0x0000000a,0x00000001,0x00000005,0x00040020,
|
|
0x0000000b,0x00000003,0x00000006,0x0004002b,0x00000004,0x0000000f,0x3f800000,0x0004003b,
|
|
0x00000009,0x0000000c,0x00000000,0x0004003b,0x0000000a,0x0000000d,0x00000001,0x0004003b,
|
|
0x0000000b,0x0000000e,0x00000003,0x00050036,0x00000002,0x00000001,0x00000000,0x00000003,
|
|
0x000200f8,0x00000010,0x0004003d,0x00000008,0x00000011,0x0000000c,0x0004003d,0x00000005,
|
|
0x00000012,0x0000000d,0x00050057,0x00000006,0x00000013,0x00000011,0x00000012,0x00050051,
|
|
0x00000004,0x00000014,0x00000013,0x00000000,0x00050051,0x00000004,0x00000015,0x00000013,
|
|
0x00000001,0x00050051,0x00000004,0x00000016,0x00000013,0x00000002,0x00070050,0x00000006,
|
|
0x00000017,0x00000014,0x00000015,0x00000016,0x0000000f,0x0003003e,0x0000000e,0x00000017,
|
|
0x000100fd,0x00010038,
|
|
};
|
|
static const size_t kSelectionFragSize = sizeof(kSelectionFragSpirv);
|