gl_atlas.glsl (610B)
1 uniform sampler2D u_atlas_tex; 2 uniform ivec4 u_atlas_info; 3 4 #define GLYPHY_TEXTURE1D_EXTRA_DECLS , sampler2D _tex, ivec4 _atlas_info, ivec2 _atlas_pos 5 #define GLYPHY_TEXTURE1D_EXTRA_ARGS , _tex, _atlas_info, _atlas_pos 6 #define GLYPHY_DEMO_EXTRA_ARGS , u_atlas_tex, u_atlas_info, gi.atlas_pos 7 8 vec4 9 glyphy_texture1D_func (int offset GLYPHY_TEXTURE1D_EXTRA_DECLS) 10 { 11 ivec2 item_geom = _atlas_info.zw; 12 vec2 pos = (vec2 (_atlas_pos.xy * item_geom + 13 ivec2 (mod (float (offset), float (item_geom.x)), offset / item_geom.x)) + 14 + vec2 (.5, .5)) / vec2(_atlas_info.xy); 15 return texture2D (_tex, pos); 16 }