summaryrefslogtreecommitdiff
path: root/src/renderer/renderpasses.h
blob: 4a689e62a527ce44f86acac171456b85701cdd83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/**
 * @file renderpasses.h
 * @author your name (you@domain.com)
 * @brief Built-in renderpasses to the engine
 * @version 0.1
 * @date 2024-04-28
 *
 * @copyright Copyright (c) 2024
 *
 */
#pragma once
#include "ral.h"
#include "render_types.h"

// Shadowmap pass
// Blinn-phong pass
// Unlit pass
// Debug visualisations pass

// Don't need to pass in *anything*.
gpu_renderpass* renderpass_blinn_phong_create();
void renderpass_blinn_phong_execute(gpu_renderpass* pass, render_entity* entities,
                                    size_t entity_count);

typedef struct ren_shadowmaps {
  u32 width;
  u32 height;
  gpu_renderpass* rpass;
  gpu_pipeline* static_pipeline;
} ren_shadowmaps;

void ren_shadowmaps_init(ren_shadowmaps* storage);

gpu_renderpass* shadowmaps_renderpass_create();
gpu_pipeline* shadowmaps_pipeline_create();

void renderpass_shadowmap_execute(gpu_renderpass* pass, render_entity* entities, size_t entity_count);