use baked filesystem for shaders

This commit is contained in:
Jill 2023-06-02 12:35:26 +03:00
parent 5000e08dd6
commit 5bb39f1238
Signed by: oat
GPG Key ID: 33489AA58A955108
7 changed files with 23 additions and 5 deletions

View File

@ -1,5 +1,9 @@
version: 2.0
shards:
baked_file_system:
git: https://github.com/schovi/baked_file_system.git
version: 0.10.0
crystgl:
git: https://github.com/calebuharrison/crystgl.git
version: 0.1.0+git.commit.c39912c8723873ea50b628940d79ce725b6cd37f

View File

@ -18,6 +18,9 @@ dependencies:
github: calebuharrison/CrystImage
sdl:
github: ysbaddaden/sdl.cr
baked_file_system:
github: schovi/baked_file_system
version: 0.10.0
targets:
funfriend:

View File

@ -11,7 +11,7 @@ class Funfriend::ChatterContext < Funfriend::WindowContext
PADDING = 10
def initialize(text : String, position : Vec2, duration : Float64 = DEFAULT_DURATION, parent : WindowContext? = nil)
sheet = FontMan.parse_bm(File.read "assets/fonts/SpaceMono.fnt")
sheet = FontMan.parse_bm(FileStorage.get("assets/fonts/SpaceMono.fnt").gets_to_end)
position_data = FontMan.position_text(text, sheet)

10
src/file_storage.cr Normal file
View File

@ -0,0 +1,10 @@
require "baked_file_system"
module Funfriend
class FileStorage
extend BakedFileSystem
bake_folder "../assets"
bake_folder "./glsl"
end
end

View File

@ -7,6 +7,7 @@ require "./log.cr"
require "./ease.cr"
require "./vec2.cr"
require "./gl.cr"
require "./file_storage.cr"
require "./configman.cr"
require "./textureman.cr"
require "./fontman.cr"

View File

@ -76,8 +76,8 @@ class Funfriend::FunfriendRenderer
end
def init_shaders
vertex_shader_source = File.read "src/glsl/nop.vert"
fragment_shader_source = File.read "src/glsl/funfriend.frag"
vertex_shader_source = FileStorage.get("nop.vert").gets_to_end
fragment_shader_source = FileStorage.get("funfriend.frag").gets_to_end
vertex_shader = VertexShader.create(vertex_shader_source)
fragment_shader = FragmentShader.create(fragment_shader_source)

View File

@ -35,8 +35,8 @@ class Funfriend::TextRenderer
end
def init_shaders
vertex_shader_source = File.read "src/glsl/nop.vert"
fragment_shader_source = File.read "src/glsl/bake_alpha.frag"
vertex_shader_source = FileStorage.get("nop.vert").gets_to_end
fragment_shader_source = FileStorage.get("bake_alpha.frag").gets_to_end
vertex_shader = VertexShader.create(vertex_shader_source)
fragment_shader = FragmentShader.create(fragment_shader_source)