src/ascension/texture.h

changeset 125
0a8747b02df8
parent 117
d1267f656a97
equal deleted inserted replaced
124:03204dc67216 125:0a8747b02df8
65 enum asc_texture_scale_mode { 65 enum asc_texture_scale_mode {
66 ASC_TEXTURE_SCALE_FIT, 66 ASC_TEXTURE_SCALE_FIT,
67 ASC_TEXTURE_SCALE_REPEAT 67 ASC_TEXTURE_SCALE_REPEAT
68 }; 68 };
69 69
70 __attribute__((__nonnull__))
71 void asc_texture_init( 70 void asc_texture_init(
72 AscTexture *tex, 71 AscTexture *tex,
73 unsigned count, 72 unsigned count,
74 enum asc_texture_target target, 73 enum asc_texture_target target,
75 enum asc_texture_min_filter min_filter, 74 enum asc_texture_min_filter min_filter,
76 enum asc_texture_mag_filter mag_filter 75 enum asc_texture_mag_filter mag_filter
77 ); 76 );
78 77
79 __attribute__((__nonnull__))
80 void asc_texture_destroy(AscTexture *tex, unsigned count); 78 void asc_texture_destroy(AscTexture *tex, unsigned count);
81 79
82 #define asc_texture_init_rectangle(tex, count) \ 80 #define asc_texture_init_rectangle(tex, count) \
83 asc_texture_init(tex, count, ASC_TEXTURE_RECTANGLE, \ 81 asc_texture_init(tex, count, ASC_TEXTURE_RECTANGLE, \
84 ASC_TEXTURE_MIN_FILTER_NEAREST, ASC_TEXTURE_MAG_FILTER_NEAREST) 82 ASC_TEXTURE_MIN_FILTER_NEAREST, ASC_TEXTURE_MAG_FILTER_NEAREST)
85 83
86 #define asc_texture_init_2d(tex, count) \ 84 #define asc_texture_init_2d(tex, count) \
87 asc_texture_init(tex, count, ASC_TEXTURE_2D, \ 85 asc_texture_init(tex, count, ASC_TEXTURE_2D, \
88 ASC_TEXTURE_MIN_FILTER_LINEAR, ASC_TEXTURE_MAG_FILTER_LINEAR) 86 ASC_TEXTURE_MIN_FILTER_LINEAR, ASC_TEXTURE_MAG_FILTER_LINEAR)
89 87
90 __attribute__((__nonnull__))
91 void asc_texture_bind(AscTexture const *tex, int uniform_location, int unit); 88 void asc_texture_bind(AscTexture const *tex, int uniform_location, int unit);
92 89
93 __attribute__((__nonnull__))
94 void asc_texture_from_surface(AscTexture *tex, SDL_Surface const *surface); 90 void asc_texture_from_surface(AscTexture *tex, SDL_Surface const *surface);
95 91
96 __attribute__((__nonnull__))
97 void asc_texture_from_file(AscTexture *tex, const char *name); 92 void asc_texture_from_file(AscTexture *tex, const char *name);
98 93
99 94
100 /** 95 /**
101 * Calculates UV scaling factors depending on texture and surface dimensions. 96 * Calculates UV scaling factors depending on texture and surface dimensions.

mercurial