made rendering work

This commit is contained in:
2026-02-05 11:10:40 +02:00
parent faae0bdcc7
commit 4bfbcaa4a6
22 changed files with 737 additions and 483 deletions

View File

@@ -3,6 +3,9 @@
#include "ld.h"
#include "target.h"
ADD_DEPENDENCY_BUILD_FILE(tier0, "../external/funnystdlib/tier0/build.cpp")
ADD_DEPENDENCY_BUILD_FILE(tier1, "../external/funnystdlib/tier1/build.cpp")
ADD_DEPENDENCY_BUILD_FILE(tier2, "../external/funnystdlib/tier2/build.cpp")
DECLARE_BUILD_STAGE(libshadercompiler)
{
CProject_t stProject;
@@ -13,6 +16,7 @@ DECLARE_BUILD_STAGE(libshadercompiler)
stProject.bFPIC = true;
stProject.includeDirectories = {
"../public",
"../external/funnystdlib/public",
"../external/slang/include",
"../external/Vulkan-Headers/include",
};
@@ -22,7 +26,11 @@ DECLARE_BUILD_STAGE(libshadercompiler)
};
stLinkProject = ccompiler->Compile(&stProject);
stLinkProject.linkType = ELINK_STATIC_LIBRARY;
stLinkProject.libraryObjects = {
GET_PROJECT_LIBRARY(tier0, "tier0"),
};
stLinkProject.objects.AppendTail({GET_PROJECT_LIBRARY(tier1, "tier1")});
stLinkProject.linkType = ELINK_DYNAMIC_LIBRARY;
szOutput = linker->Link(&stLinkProject);
ADD_OUTPUT_OBJECT("lib", szOutput);
@@ -36,42 +44,45 @@ DECLARE_BUILD_STAGE(shadercompiler)
CUtlString szOutput;
stProject.m_szName = "fsc";
stProject.m_target = Target_t::HostTarget();
stProject.includeDirectories = {"public"};
stProject.includeDirectories = {"../public", "../external/funnystdlib/public"};
stProject.files = {
"main.cpp",
"../materialsystem/compiledshader.cpp",
};
stLinkProject = ccompiler->Compile(&stProject);
stLinkProject.linkType = ELINK_EXECUTABLE;
stLinkProject.objects.AppendTail((Object_t){tier0_lib});
stLinkProject.objects.AppendTail((Object_t){tier1_lib});
stLinkProject.objects.AppendTail((Object_t){tier2_lib});
stLinkProject.objects.AppendTail((Object_t){shadercompiler_lib});
stLinkProject.libraryObjects = {
GET_PROJECT_LIBRARY(tier0, "tier0"),
};
stLinkProject.objects.AppendTail({GET_PROJECT_LIBRARY(tier1, "tier1")});
stLinkProject.objects.AppendTail({GET_PROJECT_LIBRARY(tier2, "tier2")});
stLinkProject.libraries = {"slang-compiler","slang-glslang-2025.24.2"};
stLinkProject.libraryDirectories = {"external/linux"};
stLinkProject.libraryDirectories = {"../external/linux"};
szOutput = linker->Link(&stLinkProject);
/*
filesystem2->MakeDirectory(CUtlString("%s/bin/tools", szOutputDir.GetString()));
filesystem2->CopyFile(CUtlString("%s/bin/tools", szOutputDir.GetString()), szOutput);
filesystem2->CopyFile(CUtlString("%s/bin/tools", szOutputDir.GetString()), "external/linux/libslang-compiler.so.0.2025.24.2");
filesystem2->CopyFile(CUtlString("%s/bin/tools", szOutputDir.GetString()), "external/linux/libslang-glslang-2025.24.2.so");
shadercompiler_exe = CUtlString("%s/bin/tools/fsc", szOutputDir.GetString());
*/
filesystem2->MakeDirectory(CUtlString("../build/tools"));
filesystem2->CopyFile(CUtlString("../build/tools"), szOutput);
filesystem2->CopyFile(CUtlString("../build/tools"), GET_PROJECT_LIBRARY(tier0, "tier0"));
filesystem2->CopyFile(CUtlString("../build/tools"), GET_PROJECT_LIBRARY(filesystem_std, "fs"));
filesystem2->CopyFile(CUtlString("../build/tools"), GET_PROJECT_LIBRARY(libshadercompiler, "lib"));
filesystem2->CopyFile(CUtlString("../build/tools"), "../external/linux/libslang-compiler.so.0.2025.24.2");
filesystem2->CopyFile(CUtlString("../build/tools"), "../external/linux/libslang-glslang-2025.24.2.so");
ADD_OUTPUT_OBJECT("compiler", szOutput);
return 1;
}
/*
DECLARE_BUILD_STAGE(compileshaders)
{
CUtlString szShaderCompiler = "../build/tools/fsc";
if (CommandLine()->CheckParam("-nofsc"))
return 0;
CUtlVector<CUtlString> args = {"-i", "funnyassets", "-o", "build/funnygame/assets"};
filesystem2->MakeDirectory(CUtlString("../build/funnygame/assets"));
CUtlVector<CUtlString> args = {"-i", "../funnyassets", "-o", "../build/funnygame/assets"};
runner->Run(shadercompiler_exe, args);
runner->Run(szShaderCompiler, args);
runner->Wait();
V_printf("Cool\n");
return 0;
};
*/