SameBoy | Accurate GB/GBC emulator |
| download: https://git.y1.nz/archives/sameboy.tar.gz | |
| README | Files | Log | Refs | LICENSE |
SDL/shader.h
1 #pragma once
2
3 #include "opengl_compat.h"
4 #include <stdbool.h>
5
6 typedef struct shader_s {
7 GLuint resolution_uniform;
8 GLuint origin_uniform;
9 GLuint texture_uniform;
10 GLuint previous_texture_uniform;
11 GLuint blending_mode_uniform;
12
13 GLuint position_attribute;
14 GLuint texture;
15 GLuint previous_texture;
16 GLuint program;
17 } shader_t;
18
19 typedef enum {
20 GB_FRAME_BLENDING_MODE_DISABLED,
21 GB_FRAME_BLENDING_MODE_SIMPLE,
22 GB_FRAME_BLENDING_MODE_ACCURATE,
23 GB_FRAME_BLENDING_MODE_ACCURATE_EVEN = GB_FRAME_BLENDING_MODE_ACCURATE,
24 GB_FRAME_BLENDING_MODE_ACCURATE_ODD,
25 } GB_frame_blending_mode_t;
26
27 bool init_shader_with_name(shader_t *shader, const char *name);
28 void render_bitmap_with_shader(shader_t *shader, void *bitmap, void *previous,
29 unsigned source_width, unsigned source_height,
30 unsigned x, unsigned y, unsigned w, unsigned h,
31 GB_frame_blending_mode_t blending_mode);
32 void free_shader(struct shader_s *shader);
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.