mirror of
https://github.com/ScrelliCopter/NeHe-SDL_GPU.git
synced 2025-06-19 21:49:17 +10:00
c: Move runtime Shaders folder into Data
This commit is contained in:
@@ -29,7 +29,7 @@ function (add_lesson target)
|
|||||||
endif()
|
endif()
|
||||||
set_source_files_properties(${path} PROPERTIES
|
set_source_files_properties(${path} PROPERTIES
|
||||||
HEADER_FILE_ONLY ON
|
HEADER_FILE_ONLY ON
|
||||||
MACOSX_PACKAGE_LOCATION "Resources/Shaders")
|
MACOSX_PACKAGE_LOCATION "Resources/Data/Shaders")
|
||||||
target_sources(${target} PRIVATE "${path}")
|
target_sources(${target} PRIVATE "${path}")
|
||||||
endforeach()
|
endforeach()
|
||||||
foreach (resource IN LISTS arg_DATA)
|
foreach (resource IN LISTS arg_DATA)
|
||||||
|
|||||||
12
src/c/nehe.c
12
src/c/nehe.c
@@ -389,20 +389,22 @@ bool NeHe_LoadShaders(NeHeContext* restrict ctx,
|
|||||||
{
|
{
|
||||||
SDL_GPUShader *vtxShader = NULL, *frgShader = NULL;
|
SDL_GPUShader *vtxShader = NULL, *frgShader = NULL;
|
||||||
|
|
||||||
// Build path to shader: "{base}/Shaders/{name}.{ext}"
|
// Build path to shader: "{base}/Data/Shaders/{name}.{ext}"
|
||||||
const char* resources = SDL_GetBasePath(); // Resources directory
|
const char* resources = SDL_GetBasePath(); // Resources directory
|
||||||
const size_t resourcesLen = SDL_strlen(resources);
|
const size_t resourcesLen = SDL_strlen(resources);
|
||||||
const size_t nameLen = SDL_strlen(name);
|
const size_t nameLen = SDL_strlen(name);
|
||||||
const size_t basenameLen = resourcesLen + 8 + nameLen;
|
const size_t basenameLen = resourcesLen + 13 + nameLen;
|
||||||
char* path = SDL_malloc(basenameLen + 10);
|
char* path = SDL_malloc(basenameLen + 10);
|
||||||
if (!path)
|
if (!path)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
SDL_memcpy(path, resources, resourcesLen);
|
SDL_memcpy(path, resources, resourcesLen);
|
||||||
SDL_memcpy(&path[resourcesLen], "Shaders", 7);
|
SDL_memcpy(&path[resourcesLen], "Data", 4);
|
||||||
path[resourcesLen + 7] = resources[resourcesLen - 1]; // Copy path separator
|
path[resourcesLen + 4] = resources[resourcesLen - 1]; // Copy path separator
|
||||||
SDL_memcpy(&path[resourcesLen + 8], name, nameLen);
|
SDL_memcpy(&path[resourcesLen + 5], "Shaders", 7);
|
||||||
|
path[resourcesLen + 12] = resources[resourcesLen - 1]; // Copy path separator
|
||||||
|
SDL_memcpy(&path[resourcesLen + 13], name, nameLen);
|
||||||
|
|
||||||
const SDL_GPUShaderFormat availableFormats = SDL_GetGPUShaderFormats(ctx->device);
|
const SDL_GPUShaderFormat availableFormats = SDL_GetGPUShaderFormats(ctx->device);
|
||||||
if (availableFormats & (SDL_GPU_SHADERFORMAT_METALLIB | SDL_GPU_SHADERFORMAT_MSL))
|
if (availableFormats & (SDL_GPU_SHADERFORMAT_METALLIB | SDL_GPU_SHADERFORMAT_MSL))
|
||||||
|
|||||||
Reference in New Issue
Block a user