70 lines
1.6 KiB
Plaintext

Import('env')
src_files = Split("""
main.cpp
application.cpp
gui/button.cpp
gui/label.cpp
gui/ui_renderer.cpp
gui/widget.cpp
post_process/post_processor.cpp
scene/loader.cpp
scene/mesh.cpp
scene/scene.cpp
scene/scene_renderer.cpp
util/bitmap.cpp
util/font_map.cpp
util/mesh.cpp
util/texture_atlas.cpp
0_clear_swapchain/app.cpp
1_green_triangle/app.cpp
2_triangle_with_texcoords/app.cpp
3_textured_quad/app.cpp
4_textured_cube/app.cpp
5_input/app.cpp
6_ui/app.cpp
7_3d_scene/app.cpp
8_post_process/app.cpp
""")
shader_files = env.Glob("#assets/shaders/glsl/*.frag") \
+ env.Glob("#assets/shaders/glsl/*.vert") \
+ env.Glob("#assets/shaders/glsl/*.comp")
env.Append(CPPDEFINES = ['GLM_FORCE_DEPTH_ZERO_TO_ONE', 'GLM_FORCE_RADIANS', 'GLM_ENABLE_EXPERIMENTAL'])
prog_app = env.UnityProgram(
name = 'SDL GPU Test',
target = env['BIN_DIR'] + '/sdl_gpu_test',
source = src_files,
dependencies = {
'argparse': {},
'glm': {},
'mijin': {},
'SDL': {
'options': {
'ref': '76ce83801ade3ac922ad5ba6fddc49764c24206a'
}
},
'spdlog': {},
'stb': {},
'tinyobjloader': {},
'yaml-cpp': {}
}
)
env.Default(prog_app)
for shader_file in shader_files:
spv = env.SpirV(source = shader_file, target=f'{shader_file}.spv')
env.Default(spv)
pack = env.PackTextures(
target = '#assets/bitmaps/ui.png',
source = ['#assets/bitmaps/ui_elements.txt']
)
env.Default(pack)
Return('env')