lygia
/animation
/spriteLoop
)sample a frame on a sprite sheet
Dependencies:
Use:
<SPRITELOOP_TYPE> SpriteLOOP(<SAMPLER_TYPE >tex, <vec2> st, <vec2> grid, <float> frame)
#ifndef FNC_SPRITELOOP
#define FNC_SPRITELOOP
SAMPLESPRITE_TYPE spriteLoop(SAMPLER_TYPE tex, vec2 st, vec2 grid, float start_index, float end_index, float time) {
float frame = mod(time, end_index-start_index);
return sampleSprite(tex, st, grid, start_index + frame);
}
#endif
Dependencies:
Use:
<SPRITELOOP_TYPE> SpriteLOOP(<SAMPLER_TYPE >tex, <float2> st, <float2> grid, <float> frame)
#ifndef FNC_SPRITELOOP
#define FNC_SPRITELOOP
SAMPLESPRITE_TYPE spriteLoop(SAMPLER_TYPE tex, float2 st, float2 grid, float start_index, float end_index, float time) {
float frame = mod(time, end_index-start_index);
return sampleSprite(tex, st, grid, start_index + frame);
}
#endif
Dependencies:
Use:
<SPRITELOOP_TYPE> SpriteLOOP(<texture_2d<f32>>tex, <sampler> samp, <vec2f> st, <vec2f> grid, vec2f, <f32> start_index, <f32> end_index, <f32> time)
fn spriteLoop(tex: texture_2d<f32>, samp: sampler, st: vec2f, grid: vec2f, start_index: f32, end_index: f32, time: f32) -> vec4f {
let frame = time % (end_index - start_index);
return sampleSprite(tex, samp, st, grid, start_index + frame);
}
LYGIA is dual-licensed under the Prosperity License and the Patron License for sponsors and contributors.
Sponsors and contributors are automatically added to the Patron License and they can ignore the any non-commercial rule of the Prosperity Licensed software (please take a look to the exception).
It's also possible to get a permanent comercial license hook to a single and specific version of LYGIA.
Sign up for the news letter bellow, joing the LYGIA's channel on Discord or follow the Github repository