20 #include "../util/bmem.h"
23 #include <objc/objc-runtime.h>
37 #define GS_MAX_TEXTURES 8
195 static inline struct gs_vb_data *gs_vbdata_create(
void)
200 static inline void gs_vbdata_destroy(
struct gs_vb_data *data)
210 for (i = 0; i < data->
num_tex; i++)
242 struct gs_stage_surface;
243 struct gs_zstencil_buffer;
244 struct gs_vertex_buffer;
245 struct gs_index_buffer;
246 struct gs_sampler_state;
248 struct gs_swap_chain;
250 struct gs_shader_param;
427 #define GS_BUILD_MIPMAPS (1<<0)
428 #define GS_DYNAMIC (1<<1)
429 #define GS_RENDER_TARGET (1<<2)
430 #define GS_GL_DUMMYTEX (1<<3)
431 #define GS_DUP_BUFFER (1<<4)
438 #define GS_ERROR_FAIL -1
439 #define GS_ERROR_MODULE_NOT_FOUND -2
440 #define GS_ERROR_NOT_SUPPORTED -3
445 #elif defined(__APPLE__)
446 __unsafe_unretained
id view;
447 #elif defined(__linux__) || defined(__FreeBSD__)
463 #define GS_DEVICE_OPENGL 1
464 #define GS_DEVICE_DIRECT3D_11 2
469 bool (*callback)(
void *param,
const char *name,
uint32_t id),
513 char **error_string);
515 const char *filename,
char **error_string);
518 char **error_string);
520 char **error_string);
526 #define GS_FLIP_U (1<<0)
527 #define GS_FLIP_V (1<<1)
543 float left,
float right,
float top,
float bottom,
float znear);
559 const void *data,
uint32_t linesize,
bool invert);
597 const char *file,
char **error_string);
599 const char *file,
char **error_string);
604 void *indices,
size_t num,
uint32_t flags);
639 #define GS_CLEAR_COLOR (1<<0)
640 #define GS_CLEAR_DEPTH (1<<1)
641 #define GS_CLEAR_STENCIL (1<<2)
675 EXPORT void gs_ortho(
float left,
float right,
float top,
float bottom,
676 float znear,
float zfar);
678 float znear,
float zfar);
755 EXPORT bool gs_gdi_texture_available(
void);
756 EXPORT bool gs_shared_texture_available(
void);
758 struct gs_duplicator;
759 typedef struct gs_duplicator gs_duplicator_t;
765 EXPORT bool gs_get_duplicator_monitor_info(
int monitor_idx,
769 EXPORT gs_duplicator_t *gs_duplicator_create(
int monitor_idx);
770 EXPORT void gs_duplicator_destroy(gs_duplicator_t *duplicator);
772 EXPORT bool gs_duplicator_update_frame(gs_duplicator_t *duplicator);
790 case GS_A8:
return 8;
791 case GS_R8:
return 8;
813 static inline bool gs_is_compressed_format(
enum gs_color_format format)
820 uint32_t size = width > height ? width : height;
EXPORT void gs_texture_unmap(gs_texture_t *tex)
Definition: graphics.h:50
Definition: graphics.h:80
EXPORT gs_sparam_t * gs_shader_get_viewproj_matrix(const gs_shader_t *shader)
struct vec3 * points
Definition: graphics.h:186
Definition: graphics.h:60
EXPORT gs_shader_t * gs_pixelshader_create_from_file(const char *file, char **error_string)
Definition: graphics.h:111
EXPORT void gs_effect_set_vec4(gs_eparam_t *param, const struct vec4 *val)
EXPORT void gs_stagesurface_unmap(gs_stagesurf_t *stagesurf)
Definition: graphics.h:71
uint32_t cx
Definition: graphics.h:457
EXPORT void gs_frustum(float left, float right, float top, float bottom, float znear, float zfar)
EXPORT void gs_load_swapchain(gs_swapchain_t *swapchain)
gs_texture_type
Definition: graphics.h:165
EXPORT void gs_effect_set_texture(gs_eparam_t *param, gs_texture_t *val)
enum gs_address_mode address_w
Definition: graphics.h:220
Definition: graphics.h:283
Definition: graphics.h:67
Definition: graphics.h:167
EXPORT gs_sparam_t * gs_shader_get_param_by_idx(gs_shader_t *shader, uint32_t param)
EXPORT void gs_shader_set_matrix3(gs_sparam_t *param, const struct matrix3 *val)
EXPORT gs_vertbuffer_t * gs_vertexbuffer_create(struct gs_vb_data *data, uint32_t flags)
struct gs_tvertarray * tvarray
Definition: graphics.h:192
EXPORT void gs_shader_destroy(gs_shader_t *shader)
int cx
Definition: graphics.h:235
EXPORT void gs_blend_function(enum gs_blend_type src, enum gs_blend_type dest)
EXPORT void gs_set_viewport(int x, int y, int width, int height)
EXPORT void gs_blend_function_separate(enum gs_blend_type src_c, enum gs_blend_type dest_c, enum gs_blend_type src_a, enum gs_blend_type dest_a)
EXPORT void gs_enable_depth_test(bool enable)
Definition: graphics.h:216
EXPORT enum gs_texture_type gs_get_texture_type(const gs_texture_t *texture)
gs_sample_filter
Definition: graphics.h:145
Definition: graphics.h:291
int x
Definition: graphics.h:233
EXPORT void gs_vertexbuffer_flush(gs_vertbuffer_t *vertbuffer)
EXPORT void gs_leave_context(void)
EXPORT void gs_reset_viewport(void)
EXPORT void gs_enable_color(bool red, bool green, bool blue, bool alpha)
EXPORT void gs_shader_set_vec2(gs_sparam_t *param, const struct vec2 *val)
EXPORT gs_texture_t * gs_cubetexture_create(uint32_t size, enum gs_color_format color_format, uint32_t levels, const uint8_t **data, uint32_t flags)
enum gs_sample_filter filter
Definition: graphics.h:217
EXPORT void gs_matrix_rotaa4f(float x, float y, float z, float angle)
EXPORT enum gs_cull_mode gs_get_cull_mode(void)
EXPORT void gs_projection_pop(void)
EXPORT void gs_normal3f(float x, float y, float z)
struct gs_shader gs_shader_t
Definition: graphics.h:266
unsigned uint32_t
Definition: vc_stdint.h:31
int cy
Definition: graphics.h:236
EXPORT void gs_samplerstate_destroy(gs_samplerstate_t *samplerstate)
size_t width
Definition: graphics.h:180
EXPORT void gs_zstencil_destroy(gs_zstencil_t *zstencil)
Definition: graphics.h:140
EXPORT gs_eparam_t * gs_effect_get_param_by_idx(const gs_effect_t *effect, size_t param)
Definition: graphics.h:58
EXPORT void gs_end_scene(void)
EXPORT void gs_set_render_target(gs_texture_t *tex, gs_zstencil_t *zstencil)
enum gs_color_format format
Definition: graphics.h:459
EXPORT gs_zstencil_t * gs_zstencil_create(uint32_t width, uint32_t height, enum gs_zstencil_format format)
struct gs_vertex_buffer gs_vertbuffer_t
Definition: graphics.h:261
EXPORT void gs_present(void)
Definition: graphics.h:148
Definition: graphics.h:72
const char * name
Definition: graphics.h:297
struct gs_stage_surface gs_stagesurf_t
Definition: graphics.h:259
EXPORT uint32_t gs_get_height(void)
struct gs_window window
Definition: graphics.h:456
EXPORT void gs_technique_end_pass(gs_technique_t *technique)
struct gs_device gs_device_t
Definition: graphics.h:271
long y
Definition: graphics.h:174
uint32_t freq
Definition: graphics.h:229
uint32_t border_color
Definition: graphics.h:222
uint32_t height
Definition: graphics.h:227
int max_anisotropy
Definition: graphics.h:221
EXPORT void gs_stencil_function(enum gs_stencil_side side, enum gs_depth_test test)
Definition: graphics.h:280
EXPORT void * gs_indexbuffer_get_data(const gs_indexbuffer_t *indexbuffer)
EXPORT void gs_resize(uint32_t x, uint32_t y)
EXPORT void gs_draw(enum gs_draw_mode draw_mode, uint32_t start_vert, uint32_t num_verts)
EXPORT void gs_matrix_rotquat(const struct quat *rot)
Definition: graphics.h:455
EXPORT void gs_shader_get_param_info(const gs_sparam_t *param, struct gs_shader_param_info *info)
EXPORT void gs_texrender_end(gs_texrender_t *texrender)
gs_stencil_side
Definition: graphics.h:121
Definition: graphics.h:287
Definition: graphics.h:279
EXPORT const char * gs_get_device_name(void)
EXPORT bool gs_texrender_begin(gs_texrender_t *texrender, uint32_t cx, uint32_t cy)
Definition: graphics.h:141
EXPORT void gs_load_default_samplerstate(bool b_3d, int unit)
EXPORT void gs_set_3d_mode(double fovy, double znear, double zvar)
Definition: graphics.h:443
struct gs_shader_param gs_sparam_t
Definition: graphics.h:267
EXPORT void gs_viewport_push(void)
gs_color_format
Definition: graphics.h:56
EXPORT void gs_load_samplerstate(gs_samplerstate_t *samplerstate, int unit)
unsigned char uint8_t
Definition: vc_stdint.h:27
const char * name
Definition: graphics.h:347
Definition: graphics.h:65
struct vec3 * tangents
Definition: graphics.h:188
Definition: graphics.h:149
Definition: graphics.h:73
EXPORT gs_shader_t * gs_vertexshader_create_from_file(const char *file, char **error_string)
EXPORT void gs_texcoord(float x, float y, int unit)
Definition: graphics.h:70
Definition: graphics.h:150
EXPORT gs_effect_t * gs_get_effect(void)
EXPORT enum gs_color_format gs_voltexture_get_color_format(const gs_texture_t *voltex)
Definition: graphics.h:116
EXPORT void gs_projection_push(void)
EXPORT void gs_voltexture_destroy(gs_texture_t *voltex)
EXPORT void gs_draw_sprite_subregion(gs_texture_t *tex, uint32_t flip, uint32_t x, uint32_t y, uint32_t cx, uint32_t cy)
Definition: graphics.h:138
Definition: graphics.h:159
EXPORT uint32_t gs_get_width(void)
Definition: graphics.h:91
EXPORT enum gs_color_format gs_texture_get_color_format(const gs_texture_t *tex)
EXPORT void gs_color4v(const struct vec4 *v)
Definition: graphics.h:290
EXPORT void gs_render_start(bool b_new)
EXPORT bool gs_technique_begin_pass_by_name(gs_technique_t *technique, const char *name)
Definition: graphics.h:63
EXPORT void gs_matrix_transpose(void)
EXPORT gs_texture_t * gs_get_render_target(void)
EXPORT void gs_indexbuffer_flush(gs_indexbuffer_t *indexbuffer)
Definition: graphics.h:79
EXPORT void gs_indexbuffer_destroy(gs_indexbuffer_t *indexbuffer)
EXPORT void gs_vertex3v(const struct vec3 *v)
EXPORT void gs_viewport_pop(void)
uint32_t bits
Definition: graphics.h:228
EXPORT void gs_stagesurface_destroy(gs_stagesurf_t *stagesurf)
EXPORT void gs_shader_set_vec4(gs_sparam_t *param, const struct vec4 *val)
EXPORT bool gs_texture_map(gs_texture_t *tex, uint8_t **ptr, uint32_t *linesize)
EXPORT struct gs_vb_data * gs_vertexbuffer_get_data(const gs_vertbuffer_t *vertbuffer)
EXPORT uint32_t gs_cubetexture_get_size(const gs_texture_t *cubetex)
EXPORT void gs_shader_set_bool(gs_sparam_t *param, bool val)
Definition: graphics.h:302
enum gs_zstencil_format zsformat
Definition: graphics.h:460
Definition: graphics.h:281
gs_stencil_op_type
Definition: graphics.h:127
EXPORT void gs_matrix_scale3f(float x, float y, float z)
gs_index_type
Definition: graphics.h:85
EXPORT enum gs_color_format gs_cubetexture_get_color_format(const gs_texture_t *cubetex)
Definition: graphics.h:129
EXPORT void gs_shader_set_vec3(gs_sparam_t *param, const struct vec3 *val)
EXPORT void gs_enable_stencil_test(bool enable)
EXPORT void gs_matrix_mul(const struct matrix4 *matrix)
#define EXPORT
Definition: c99defs.h:49
EXPORT void gs_set_cull_mode(enum gs_cull_mode mode)
Definition: graphics.h:74
Definition: graphics.h:86
EXPORT bool gs_stagesurface_map(gs_stagesurf_t *stagesurf, uint8_t **data, uint32_t *linesize)
Definition: graphics.h:288
Definition: graphics.h:130
EXPORT void gs_indexbuffer_flush_direct(gs_indexbuffer_t *indexbuffer, const void *data)
EXPORT void * gs_texture_get_obj(gs_texture_t *tex)
EXPORT void gs_matrix_translate3f(float x, float y, float z)
EXPORT uint32_t gs_texture_get_height(const gs_texture_t *tex)
Definition: graphics.h:153
Definition: graphics-internal.h:275
Definition: graphics.h:160
gs_cull_mode
Definition: graphics.h:90
EXPORT gs_sparam_t * gs_shader_get_param_by_name(gs_shader_t *shader, const char *name)
EXPORT gs_texture_t * gs_voltexture_create(uint32_t width, uint32_t height, uint32_t depth, enum gs_color_format color_format, uint32_t levels, const uint8_t **data, uint32_t flags)
EXPORT void gs_stencil_op(enum gs_stencil_side side, enum gs_stencil_op_type fail, enum gs_stencil_op_type zfail, enum gs_stencil_op_type zpass)
EXPORT bool gs_texture_is_rect(const gs_texture_t *tex)
Definition: graphics.h:113
enum gs_address_mode address_v
Definition: graphics.h:219
EXPORT void gs_vertexbuffer_flush_direct(gs_vertbuffer_t *vertbuffer, const struct gs_vb_data *data)
Definition: graphics.h:128
Definition: graphics.h:104
EXPORT void gs_set_cube_render_target(gs_texture_t *cubetex, int side, gs_zstencil_t *zstencil)
EXPORT void gs_shader_set_texture(gs_sparam_t *param, gs_texture_t *val)
EXPORT void gs_texture_set_image(gs_texture_t *tex, const uint8_t *data, uint32_t linesize, bool invert)
Definition: graphics.h:142
EXPORT void gs_blend_state_push(void)
EXPORT void gs_get_viewport(struct gs_rect *rect)
gs_shader_param_type
Definition: graphics.h:278
EXPORT void gs_enter_context(graphics_t *graphics)
EXPORT gs_shader_t * gs_get_pixel_shader(void)
EXPORT void gs_shader_set_val(gs_sparam_t *param, const void *val, size_t size)
Definition: graphics.h:131
Definition: graphics.h:51
EXPORT bool gs_effect_loop(gs_effect_t *effect, const char *name)
Definition: graphics.h:146
Definition: graphics.h:282
EXPORT void gs_begin_scene(void)
EXPORT uint32_t gs_stagesurface_get_height(const gs_stagesurf_t *stagesurf)
Definition: graphics.h:112
EXPORT size_t gs_indexbuffer_get_num_indices(const gs_indexbuffer_t *indexbuffer)
EXPORT void gs_matrix_pop(void)
Definition: graphics.h:103
Definition: graphics.h:123
EXPORT void gs_shader_set_next_sampler(gs_sparam_t *param, gs_samplerstate_t *sampler)
EXPORT gs_texture_t * gs_texture_create(uint32_t width, uint32_t height, enum gs_color_format color_format, uint32_t levels, const uint8_t **data, uint32_t flags)
Definition: graphics.h:225
EXPORT size_t gs_effect_get_num_params(const gs_effect_t *effect)
struct gs_index_buffer gs_indexbuffer_t
Definition: graphics.h:262
EXPORT gs_eparam_t * gs_effect_get_param_by_name(const gs_effect_t *effect, const char *name)
EXPORT void gs_swapchain_destroy(gs_swapchain_t *swapchain)
Definition: graphics.h:114
Definition: graphics.h:139
struct gs_texture gs_texture_t
Definition: graphics.h:258
EXPORT gs_samplerstate_t * gs_samplerstate_create(const struct gs_sampler_info *info)
EXPORT void gs_copy_texture_region(gs_texture_t *dst, uint32_t dst_x, uint32_t dst_y, gs_texture_t *src, uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h)
EXPORT void gs_vertex2v(const struct vec2 *v)
EXPORT void gs_effect_destroy(gs_effect_t *effect)
EXPORT void gs_shader_set_default(gs_sparam_t *param)
Definition: graphics.h:99
struct gs_zstencil_buffer gs_zstencil_t
Definition: graphics.h:260
EXPORT uint32_t gs_texture_get_width(const gs_texture_t *tex)
uint32_t width
Definition: graphics.h:226
EXPORT void gs_matrix_push(void)
EXPORT gs_shader_t * gs_vertexshader_create(const char *shader, const char *file, char **error_string)
EXPORT void gs_effect_set_next_sampler(gs_eparam_t *param, gs_samplerstate_t *sampler)
EXPORT gs_shader_t * gs_pixelshader_create(const char *shader, const char *file, char **error_string)
EXPORT gs_texrender_t * gs_texrender_create(enum gs_color_format format, enum gs_zstencil_format zsformat)
Definition: graphics.h:105
size_t num_tex
Definition: graphics.h:191
EXPORT void gs_effect_set_float(gs_eparam_t *param, float val)
EXPORT bool gs_technique_begin_pass(gs_technique_t *technique, size_t pass)
int y
Definition: graphics.h:234
EXPORT int gs_shader_get_num_params(const gs_shader_t *shader)
EXPORT size_t gs_technique_begin(gs_technique_t *technique)
int rotation_degrees
Definition: graphics.h:172
EXPORT enum gs_color_format gs_stagesurface_get_color_format(const gs_stagesurf_t *stagesurf)
EXPORT gs_sparam_t * gs_shader_get_world_matrix(const gs_shader_t *shader)
Definition: graphics.h:66
EXPORT void gs_ortho(float left, float right, float top, float bottom, float znear, float zfar)
Definition: graphics.h:52
long x
Definition: graphics.h:173
Definition: graphics.h:171
Definition: graphics.h:161
EXPORT void gs_set_scissor_rect(const struct gs_rect *rect)
EXPORT void gs_shader_set_float(gs_sparam_t *param, float val)
uint32_t num_backbuffers
Definition: graphics.h:458
EXPORT gs_effect_t * gs_effect_create_from_file(const char *file, char **error_string)
EXPORT void gs_effect_set_int(gs_eparam_t *param, int val)
EXPORT input_t * gs_get_input(void)
gs_shader_type
Definition: graphics.h:300
Definition: graphics.h:152
EXPORT void gs_normal3v(const struct vec3 *v)
Definition: graphics.h:158
EXPORT uint32_t gs_stagesurface_get_width(const gs_stagesurf_t *stagesurf)
EXPORT void gs_effect_set_vec3(gs_eparam_t *param, const struct vec3 *val)
struct gs_sampler_state gs_samplerstate_t
Definition: graphics.h:263
void * array
Definition: graphics.h:181
gs_draw_mode
Definition: graphics.h:48
EXPORT int gs_get_device_type(void)
Definition: graphics.h:295
EXPORT void gs_cubetexture_destroy(gs_texture_t *cubetex)
EXPORT gs_texture_t * gs_texrender_get_texture(const gs_texrender_t *texrender)
EXPORT void gs_matrix_get(struct matrix4 *dst)
Definition: graphics.h:87
EXPORT void gs_flush(void)
EXPORT void gs_effect_set_matrix4(gs_eparam_t *param, const struct matrix4 *val)
Definition: graphics.h:284
EXPORT void gs_copy_texture(gs_texture_t *dst, gs_texture_t *src)
EXPORT enum gs_index_type gs_indexbuffer_get_type(const gs_indexbuffer_t *indexbuffer)
EXPORT uint32_t gs_voltexture_get_width(const gs_texture_t *voltex)
EXPORT void gs_effect_set_default(gs_eparam_t *param)
EXPORT uint32_t gs_voltexture_get_depth(const gs_texture_t *voltex)
EXPORT void gs_load_indexbuffer(gs_indexbuffer_t *indexbuffer)
Definition: graphics.h:98
EXPORT void gs_texture_destroy(gs_texture_t *tex)
struct vec3 * normals
Definition: graphics.h:187
Definition: graphics.h:122
Definition: graphics.h:102
Definition: graphics.h:106
Definition: graphics.h:232
enum gs_address_mode address_u
Definition: graphics.h:218
EXPORT void gs_set_2d_mode(void)
Definition: graphics.h:286
EXPORT void gs_vertex2f(float x, float y)
EXPORT gs_swapchain_t * gs_swapchain_create(const struct gs_init_data *data)
EXPORT void gs_effect_set_vec2(gs_eparam_t *param, const struct vec2 *val)
Definition: graphics.h:92
Definition: graphics.h:118
EXPORT void gs_clear(uint32_t clear_flags, const struct vec4 *color, float depth, uint8_t stencil)
uint32_t adapter
Definition: graphics.h:461
Definition: graphics.h:61
Definition: graphics.h:301
Definition: graphics.h:285
EXPORT void gs_color(uint32_t color)
uint32_t * colors
Definition: graphics.h:189
Definition: graphics.h:117
EXPORT void gs_effect_get_param_info(const gs_eparam_t *param, struct gs_effect_param_info *info)
enum gs_shader_param_type type
Definition: graphics.h:348
Definition: graphics.h:289
EXPORT void gs_blend_state_pop(void)
EXPORT gs_shader_t * gs_get_vertex_shader(void)
EXPORT void gs_technique_end(gs_technique_t *technique)
EXPORT void gs_cubetexture_set_image(gs_texture_t *cubetex, uint32_t side, const void *data, uint32_t linesize, bool invert)
EXPORT gs_eparam_t * gs_effect_get_viewproj_matrix(const gs_effect_t *effect)
EXPORT void gs_depth_function(enum gs_depth_test test)
EXPORT void gs_texcoord2v(const struct vec2 *v, int unit)
EXPORT void gs_destroy(graphics_t *graphics)
EXPORT uint8_t * gs_create_texture_file_data(const char *file, enum gs_color_format *format, uint32_t *cx, uint32_t *cy)
EXPORT gs_technique_t * gs_effect_get_current_technique(const gs_effect_t *effect)
gs_cube_sides
Definition: graphics.h:136
EXPORT gs_texture_t * gs_texture_create_from_file(const char *file)
Definition: graphics.h:93
gs_zstencil_format
Definition: graphics.h:77
EXPORT void gs_shader_set_matrix4(gs_sparam_t *param, const struct matrix4 *val)
EXPORT graphics_t * gs_get_context(void)
gs_blend_type
Definition: graphics.h:96
Definition: graphics.h:53
EXPORT void gs_effect_update_params(gs_effect_t *effect)
EXPORT gs_zstencil_t * gs_get_zstencil_target(void)
gs_address_mode
Definition: graphics.h:157
EXPORT void gs_stage_texture(gs_stagesurf_t *dst, gs_texture_t *src)
EXPORT void gs_texrender_destroy(gs_texrender_t *texrender)
EXPORT gs_vertbuffer_t * gs_render_save(void)
Definition: graphics.h:62
EXPORT void gs_effect_set_color(gs_eparam_t *param, uint32_t argb)
Definition: graphics.h:179
Definition: graphics.h:97
Definition: graphics.h:101
Definition: graphics.h:184
EXPORT void gs_load_pixelshader(gs_shader_t *pixelshader)
Definition: graphics.h:124
Definition: graphics.h:78
EXPORT int gs_create(graphics_t **graphics, const char *module, uint32_t adapter)
EXPORT void gs_get_size(uint32_t *x, uint32_t *y)
Definition: graphics.h:49
Definition: graphics.h:151
EXPORT void gs_draw_cube_backdrop(gs_texture_t *cubetex, const struct quat *rot, float left, float right, float top, float bottom, float znear)
EXPORT void gs_enable_stencil_write(bool enable)
Definition: graphics.h:166
Definition: graphics.h:82
Definition: graphics.h:147
EXPORT void gs_load_texture(gs_texture_t *tex, int unit)
Definition: graphics.h:107
EXPORT void gs_matrix_identity(void)
EXPORT void bfree(void *ptr)
EXPORT uint32_t gs_voltexture_get_height(const gs_texture_t *voltex)
EXPORT void gs_effect_set_val(gs_eparam_t *param, const void *val, size_t size)
Definition: graphics.h:57
size_t num
Definition: graphics.h:185
Definition: graphics.h:68
enum gs_shader_param_type type
Definition: graphics.h:296
EXPORT void gs_load_vertexshader(gs_shader_t *vertshader)
EXPORT gs_indexbuffer_t * gs_indexbuffer_create(enum gs_index_type type, void *indices, size_t num, uint32_t flags)
EXPORT void gs_matrix_set(const struct matrix4 *matrix)
Definition: graphics.h:81
Definition: graphics.h:132
Definition: graphics.h:162
EXPORT gs_stagesurf_t * gs_stagesurface_create(uint32_t width, uint32_t height, enum gs_color_format color_format)
gs_depth_test
Definition: graphics.h:110
Definition: graphics.h:69
EXPORT void gs_matrix_scale(const struct vec3 *scale)
Definition: graphics.h:115
EXPORT void gs_vertex3f(float x, float y, float z)
EXPORT gs_technique_t * gs_effect_get_technique(const gs_effect_t *effect, const char *name)
Definition: graphics.h:64
EXPORT void gs_texrender_reset(gs_texrender_t *texrender)
EXPORT gs_effect_t * gs_effect_create(const char *effect_string, const char *filename, char **error_string)
struct gs_texture_render gs_texrender_t
Definition: graphics.h:265
EXPORT void gs_enum_adapters(bool(*callback)(void *param, const char *name, uint32_t id), void *param)
EXPORT void gs_shader_set_int(gs_sparam_t *param, int val)
Definition: graphics.h:59
EXPORT void gs_vertexbuffer_destroy(gs_vertbuffer_t *vertbuffer)
EXPORT void gs_load_vertexbuffer(gs_vertbuffer_t *vertbuffer)
EXPORT void gs_enable_blending(bool enable)
Definition: graphics.h:100
EXPORT void gs_reset_blend_state(void)
uint32_t cy
Definition: graphics.h:457
EXPORT void gs_matrix_rotaa(const struct axisang *rot)
EXPORT void gs_effect_set_bool(gs_eparam_t *param, bool val)
Definition: graphics.h:154
struct gs_swap_chain gs_swapchain_t
Definition: graphics.h:264
Definition: graphics.h:168
EXPORT void gs_draw_sprite(gs_texture_t *tex, uint32_t flip, uint32_t width, uint32_t height)
EXPORT void gs_render_stop(enum gs_draw_mode mode)
Definition: graphics.h:133
long cx
Definition: graphics.h:175
EXPORT gs_eparam_t * gs_effect_get_world_matrix(const gs_effect_t *effect)
EXPORT void gs_matrix_translate(const struct vec3 *pos)
long cy
Definition: graphics.h:176
Definition: graphics.h:137
Definition: graphics.h:346
EXPORT void gs_perspective(float fovy, float aspect, float znear, float zfar)