diff options
author | omniscient <17525998+omnisci3nce@users.noreply.github.com> | 2024-06-22 15:12:44 +1000 |
---|---|---|
committer | omniscient <17525998+omnisci3nce@users.noreply.github.com> | 2024-06-22 15:12:44 +1000 |
commit | 51d0535a8d49b72ab1e47acf30f654403a94c423 (patch) | |
tree | c8e8124c7a35c2fcfa7afa857b50ce0cdb15ba7c /src/renderer/renderpasses.c | |
parent | 6fccac3372170153b59e829d11c6c0b0a5c2bc77 (diff) |
wip: porting shadowmaps to RAL
Diffstat (limited to 'src/renderer/renderpasses.c')
-rw-r--r-- | src/renderer/renderpasses.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/renderer/renderpasses.c b/src/renderer/renderpasses.c new file mode 100644 index 0000000..85b86ed --- /dev/null +++ b/src/renderer/renderpasses.c @@ -0,0 +1,49 @@ +/** + * @file renderpasses.c + * @author your name (you@domain.com) + * @brief + * @version 0.1 + * @date 2024-06-22 + * + * @copyright Copyright (c) 2024 + * + */ + +#include "renderpasses.h" +#include "maths_types.h" +#include "ral.h" +#include "ral_types.h" + +#define SHADOW_WIDTH 1000 +#define SHADOW_HEIGHT 1000 + + +gpu_renderpass* shadowmaps_renderpass_create() { + // Create depthmap texture + u32x2 extents = u32x2(SHADOW_WIDTH, SHADOW_HEIGHT); + texture_desc depthmap_desc = { + .extents = extents, + .format = CEL_TEXTURE_FORMAT_DEPTH_DEFAULT, + .tex_type = CEL_TEXTURE_TYPE_2D + }; + texture_handle depthmap = gpu_texture_create(depthmap_desc, false, NULL); + + gpu_renderpass_desc shadows_desc = { + .default_framebuffer = false, + .has_color_target = false, + .has_depth_stencil = true, + .depth_stencil = depthmap + }; + return gpu_renderpass_create(&shadows_desc); +} + +gpu_pipeline* shadowmaps_pipeline_create() { + struct graphics_pipeline_desc desc = { + . + }; + gpu_graphics_pipeline_create(struct graphics_pipeline_desc description) +} + +void renderpass_shadowmap_execute(gpu_renderpass* pass, render_entity* entities, size_t entity_count) { + +}
\ No newline at end of file |