aboutsummaryrefslogtreecommitdiff
path: root/src/renderer/renderer_impl.h
blob: fc14dcb647e8a6175f0e4e7ce0b2546892fd77a3 (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
#pragma once

#include <gfx/renderer.h>

#include <stdbool.h>

typedef struct IBL           IBL;
typedef struct ShaderProgram ShaderProgram;
typedef struct Texture       Texture;

typedef struct Renderer {
  GfxCore* gfxcore;
  IBL*     ibl;
  Texture* brdf_integration_map;
  struct {
    ShaderProgram* debug;
    ShaderProgram* normals;
    ShaderProgram* normal_mapped_normals;
    ShaderProgram* tangents;
  } shaders;
} Renderer;

/// Create a new renderer.
bool renderer_make(Renderer*, GfxCore*);

/// Destroy the renderer.
void renderer_destroy(Renderer*);