This repository has been archived on 2022-05-21. You can view files and clone it, but cannot push or open issues or pull requests.
LEFTONE/core/loshader/set.h
falsycat 84c3a02b9a [RELEASE] u22-v03
This version is submitted to U22 breau.
2020-09-14 00:00:00 +00:00

104 lines
2.7 KiB
C

#pragma once
#include <stdint.h>
#include "util/gleasy/atlas.h"
#include "util/gleasy/framebuffer.h"
#include "util/math/vector.h"
#include "./backwall.h"
#include "./bullet.h"
#include "./character.h"
#include "./cinescope.h"
#include "./combat_ring.h"
#include "./event_line.h"
#include "./fog.h"
#include "./ground.h"
#include "./hud_bar.h"
#include "./hud_text.h"
#include "./menu_background.h"
#include "./menu_stance.h"
#include "./menu_text.h"
#include "./pixsort.h"
#include "./posteffect.h"
#include "./uniblock.h"
typedef struct {
gleasy_framebuffer_t framebuffer;
loshader_uniblock_t* uniblock;
struct {
gleasy_atlas_t* hud_text;
gleasy_atlas_t* menu_text;
gleasy_atlas_t* event_line;
} tex;
struct {
loshader_backwall_program_t backwall;
loshader_ground_program_t ground;
loshader_character_program_t character;
loshader_bullet_program_t bullet;
loshader_fog_program_t fog;
loshader_pixsort_program_t pixsort;
loshader_posteffect_program_t posteffect;
loshader_hud_bar_program_t hud_bar;
loshader_hud_text_program_t hud_text;
loshader_menu_background_program_t menu_background;
loshader_menu_text_program_t menu_text;
loshader_menu_stance_program_t menu_stance;
loshader_combat_ring_program_t combat_ring;
loshader_cinescope_program_t cinescope;
loshader_event_line_program_t event_line;
} program;
struct {
loshader_backwall_drawer_t* backwall;
loshader_ground_drawer_t* ground;
loshader_character_drawer_t* character;
loshader_bullet_drawer_t* bullet;
loshader_fog_drawer_t* fog;
loshader_pixsort_drawer_t* pixsort;
loshader_posteffect_drawer_t* posteffect;
loshader_hud_bar_drawer_t* hud_bar;
loshader_hud_text_drawer_t hud_text;
loshader_menu_background_drawer_t* menu_background;
loshader_menu_text_drawer_t menu_text;
loshader_menu_stance_drawer_t* menu_stance;
loshader_combat_ring_drawer_t* combat_ring;
loshader_cinescope_drawer_t* cinescope;
loshader_event_line_drawer_t event_line;
} drawer;
vec2_t resolution;
vec2_t dpi;
} loshader_set_t;
void
loshader_set_initialize(
loshader_set_t* set,
int32_t width,
int32_t height,
const vec2_t* dpi,
int32_t max_msaa
);
void
loshader_set_deinitialize(
loshader_set_t* set
);
void
loshader_set_clear_all(
loshader_set_t* set
);
void
loshader_set_draw_all(
const loshader_set_t* set
);
void
loshader_set_drop_cache(
loshader_set_t* set
);