30#include <banjo/linmath.h>
145#define BJ_SHADER_STANDARD_FLAGS (BJ_SHADER_INVERT_Y | BJ_SHADER_CLAMP_COLOR | BJ_SHADER_NORMALIZE_COORDS | BJ_SHADER_CENTER_COORDS)
General-purpose definitions for Banjo API.
Header file for Bitmap type.
struct bj_bitmap_t bj_bitmap
Typedef for the bj_bitmap struct.
Definition bitmap.h:40
bj_real_t bj_vec3[3]
Defines a 3D vector type.
Definition linmath.h:54
bj_real_t bj_vec2[2]
Defines a 2D vector type.
Definition linmath.h:43
bj_shader_flag_t
Shader input control flags.
Definition shader.h:55
void bj_bitmap_apply_shader(bj_bitmap *p_bitmap, bj_bitmap_shading_fn_t p_shader, void *p_data, uint8_t flags)
Applies a shader function to every pixel in a bitmap.
int(* bj_bitmap_shading_fn_t)(bj_vec3 out_color, const bj_vec2 pixel_coord, void *user_data)
Function type for a bitmap shading operation.
Definition shader.h:45
enum bj_shader_flag_t bj_shader_flag
Shader input control flags.
@ BJ_SHADER_CENTER_COORDS
Center pixel coordinates around the origin.
Definition shader.h:131
@ BJ_SHADER_CLAMP_COLOR
Clamp the output color to the range [0.0, 1.0].
Definition shader.h:96
@ BJ_SHADER_INVERT_Y
Invert the Y coordinate of the input pixel.
Definition shader.h:85
@ BJ_SHADER_NORMALIZE_COORDS
Normalize pixel coordinates to the [0.0, 1.0] range.
Definition shader.h:110
@ BJ_SHADER_INVERT_X
Invert the X coordinate of the input pixel.
Definition shader.h:70