summaryrefslogtreecommitdiff
path: root/micro/tex.h
blob: 3e58817ac43fc7f204ceaf2ccb55b655c8449bfc (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
#ifndef __MICRO_TEX_H__
#define __MICRO_TEX_H__

#include "common.h"

struct renderer;

struct texture {
        u32 handle;
        int width;
        int height;
};

struct render_texture {
        u32 handle;
        struct texture color;
        struct texture depth;
        // struct texture stencil; TODO

        int width;
        int height;
};

struct texture load_texture(const char *file_path);
struct texture load_texture_from_mem(u8 *data, int width, int height);
void free_texture(struct texture tex);

bool is_texture_init(struct texture tex);

struct render_texture create_render_texture(
        int width,
        int height,
        bool add_depth
);
void free_render_texture(struct render_texture rtex);

#endif // __MICRO_TEX_H__