diff options
author | omnisci3nce <omniscient.oce@gmail.com> | 2024-07-17 23:12:42 +1000 |
---|---|---|
committer | omnisci3nce <omniscient.oce@gmail.com> | 2024-07-17 23:12:42 +1000 |
commit | c3737fff1be704e14a2bada69bbf8a6709c5f670 (patch) | |
tree | aa2225901f26598b07855a65a944354fbedc40b1 /src/new_render/pbr.h | |
parent | f8641a5cc4c8baf1f0a7be3685afc219d90143d9 (diff) |
wip shader layouts for common stuff
Diffstat (limited to 'src/new_render/pbr.h')
-rw-r--r-- | src/new_render/pbr.h | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/new_render/pbr.h b/src/new_render/pbr.h index 7573563..4ee6810 100644 --- a/src/new_render/pbr.h +++ b/src/new_render/pbr.h @@ -4,16 +4,23 @@ */ #pragma once +#include "backend_opengl.h" #include "defines.h" #include "camera.h" #include "maths_types.h" -#include "ral/ral.h" -#include "ral/ral_common.h" - -// PBR; +#include "ral_types.h" +#include "render_types.h" // --- Public API -typedef struct PBR_Storage PBR_Storage; // Stores all necessary data and handles +typedef struct PBR_Storage { + GPU_Renderpass* pbr_pass; + GPU_Pipeline* pbr_pipeline; + +} PBR_Storage; // Stores all necessary data and handles + +typedef struct PBRMaterialUniforms { + Material mat; +} PBRMaterialUniforms; PUB void PBR_Init(PBR_Storage* storage); @@ -45,7 +52,6 @@ typedef struct PBR_Textures { // --- Internal typedef struct MaterialMap MaterialMap; -typedef struct RenderEnt RenderEnt; GPU_Renderpass* PBR_RPassCreate(); GPU_Pipeline* PBR_PipelineCreate(GPU_Renderpass* rpass); @@ -59,4 +65,4 @@ void PBR_Execute( ); -// Internally this will need to update material parameters +ShaderDataLayout PBRMaterial_GetLayout(void* data);
\ No newline at end of file |