no engine anymore
This commit is contained in:
@@ -8,8 +8,8 @@
|
||||
|
||||
void build_shader( const char *szName )
|
||||
{
|
||||
IFileSystem2::MakeDirectory(CUtlString("build/funnygame/metal/gfx"));
|
||||
IFileSystem2::MakeDirectory(CUtlString("build/funnygame/vulkan/gfx"));
|
||||
filesystem2->MakeDirectory(CUtlString("build/funnygame/metal/gfx"));
|
||||
filesystem2->MakeDirectory(CUtlString("build/funnygame/vulkan/gfx"));
|
||||
|
||||
CUtlVector<CUtlString> slang_args = {
|
||||
CUtlString("funnyassets/gfx_shaders/%s.slang", szName),
|
||||
@@ -22,23 +22,25 @@ void build_shader( const char *szName )
|
||||
CUtlString("build/funnygame/vulkan/gfx/%s.shader", szName),
|
||||
};
|
||||
|
||||
IRunner::Run("slangc", slang_args);
|
||||
runner->Run("slangc", slang_args);
|
||||
slang_args[3] = "metal";
|
||||
slang_args[5] = "__METAL__=1";
|
||||
slang_args[7] = CUtlString("build/funnygame/metal/gfx/%s.shader", szName);
|
||||
IRunner::Run("slangc", slang_args);
|
||||
IRunner::Wait();
|
||||
runner->Run("slangc", slang_args);
|
||||
runner->Wait();
|
||||
};
|
||||
|
||||
int assets_build()
|
||||
DECLARE_BUILD_STAGE(assets)
|
||||
{
|
||||
IFileSystem2::CopyDirectory("build", "tools");
|
||||
if (CommandLine()->CheckParam("-noassets"))
|
||||
return 0;
|
||||
filesystem2->CopyDirectory("build", "tools");
|
||||
|
||||
IFileSystem2::CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/maps");
|
||||
IFileSystem2::CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/gfx");
|
||||
IFileSystem2::CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/fonts");
|
||||
IFileSystem2::CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/textures");
|
||||
IFileSystem2::CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/materials");
|
||||
filesystem2->CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/maps");
|
||||
filesystem2->CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/gfx");
|
||||
filesystem2->CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/fonts");
|
||||
filesystem2->CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/textures");
|
||||
filesystem2->CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/materials");
|
||||
build_shader("mesh_frag");
|
||||
build_shader("mesh_vert");
|
||||
build_shader("fgui_rect_frag");
|
||||
@@ -50,7 +52,7 @@ int assets_build()
|
||||
CUtlString("build/funnygame/assets"),
|
||||
bStaticBuild ? CUtlString("%s/bin/%s.pak", szOutputDir.GetString(), "rtt") : CUtlString("%s/funnygame/%s.pak", szOutputDir.GetString(), "rtt"),
|
||||
};
|
||||
IRunner::Run("python3", python_args);
|
||||
runner->Run("python3", python_args);
|
||||
if (Target_t::DefaultTarget().kernel == TARGET_KERNEL_IOS ||Target_t::DefaultTarget().kernel == TARGET_KERNEL_DARWIN)
|
||||
{
|
||||
python_args = {
|
||||
@@ -58,21 +60,20 @@ int assets_build()
|
||||
CUtlString("build/funnygame/metal"),
|
||||
bStaticBuild ? CUtlString("%s/bin/%s.pak", szOutputDir.GetString(), "metal") : CUtlString("%s/funnygame/%s.pak", szOutputDir.GetString(), "metal"),
|
||||
};
|
||||
IRunner::Run("python3", python_args);
|
||||
runner->Run("python3", python_args);
|
||||
} else {
|
||||
python_args = {
|
||||
"build/tools/makepak64.py",
|
||||
CUtlString("build/funnygame/vulkan"),
|
||||
bStaticBuild ? CUtlString("%s/bin/%s.pak", szOutputDir.GetString(), "vulkan") : CUtlString("%s/funnygame/%s.pak", szOutputDir.GetString(), "vulkan"),
|
||||
};
|
||||
IRunner::Run("python3", python_args);
|
||||
runner->Run("python3", python_args);
|
||||
}
|
||||
IRunner::Wait();
|
||||
runner->Wait();
|
||||
|
||||
if (bStaticBuild)
|
||||
IFileSystem2::CopyFile(CUtlString("%s/bin", szOutputDir.GetString()), "funnyassets/default.cfg");
|
||||
filesystem2->CopyFile(CUtlString("%s/bin", szOutputDir.GetString()), "funnyassets/default.cfg");
|
||||
else
|
||||
IFileSystem2::CopyFile(szOutputDir.GetString(), "funnyassets/default.cfg");
|
||||
filesystem2->CopyFile(szOutputDir.GetString(), "funnyassets/default.cfg");
|
||||
return 0;
|
||||
};
|
||||
DECLARE_BUILD_STAGE(assets, assets_build);
|
||||
|
||||
0
funnyassets/gfx_shaders/mesh_raytracer_hit.slang
Normal file
0
funnyassets/gfx_shaders/mesh_raytracer_hit.slang
Normal file
0
funnyassets/gfx_shaders/mesh_raytracer_miss.slang
Normal file
0
funnyassets/gfx_shaders/mesh_raytracer_miss.slang
Normal file
16
funnyassets/gfx_shaders/mesh_raytracer_raygen.slang
Normal file
16
funnyassets/gfx_shaders/mesh_raytracer_raygen.slang
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
#include "mesh_raytracer_shared.slang"
|
||||
|
||||
[shader("raygeneration")]
|
||||
void _main()
|
||||
{
|
||||
uint2 launchIndex = DispatchRaysIndex().xy;
|
||||
uint8_t edgemask = inputMask.Load(uint3(launchIndex, 0));
|
||||
uint8_t edgemask1 = inputMask.Load(uint3(launchIndex, 1));
|
||||
uint8_t edgemask2 = inputMask.Load(uint3(launchIndex, 2));
|
||||
uint8_t edgemask3 = inputMask.Load(uint3(launchIndex, 3));
|
||||
uint8_t nBits = (countbits(edgemask) + countbits(edgemask1) + countbits(edgemask2) + countbits(edgemask3));
|
||||
if ( nBits != 16 && nBits != 0 )
|
||||
outputTest[launchIndex] = float4(1,0,0,0);
|
||||
|
||||
}
|
||||
18
funnyassets/gfx_shaders/mesh_raytracer_shared.slang
Normal file
18
funnyassets/gfx_shaders/mesh_raytracer_shared.slang
Normal file
@@ -0,0 +1,18 @@
|
||||
struct RayPayload
|
||||
{
|
||||
bool bHit;
|
||||
float fDistance;
|
||||
};
|
||||
|
||||
#include "shader_base.slang"
|
||||
|
||||
DECLARE_CBUFFER(0)
|
||||
{
|
||||
float4x4 projection;
|
||||
}
|
||||
|
||||
DECLARE_DATA(1, Texture2DMS<float> inputDepth;);
|
||||
DECLARE_DATA(2, Texture2DMS<uint8_t> inputMask;);
|
||||
DECLARE_DATA(3, RWTexture2D<float4> outputTest;);
|
||||
|
||||
DECLARE_TEXTURES(29)
|
||||
25
funnyassets/gfx_shaders/shader_base.slang
Normal file
25
funnyassets/gfx_shaders/shader_base.slang
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef SHADER_BASE_SLANG
|
||||
#define SHADER_BASE_SLANG
|
||||
|
||||
/*
|
||||
* I hope you are not looking at these war crimes.
|
||||
* They are truly horrible crimes.
|
||||
* Don't even try to understand what the fuck is happening here.
|
||||
*/
|
||||
#define DECLARE_TEXTURES(n) \
|
||||
[[vk::binding(n)]] \
|
||||
Sampler2D g_textures[]; \
|
||||
float4 SampleTexture(uint32_t binding, float2 uv) { return g_textures[binding].Sample(uv); };
|
||||
|
||||
#define DECLARE_CBUFFER(b) [[vk::binding(b)]] cbuffer cbuffer_##b
|
||||
|
||||
|
||||
#define DECLARE_DATA(b, r) [[vk::binding(b)]] r
|
||||
|
||||
#define DECLARE_CONSTANTS [[vk::push_constant]] cbuffer cbuffer_constants
|
||||
|
||||
#define FIX_VERTEX_POSITION(x)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user