GifTexture
Нативная библиотека для загрузки и воспроизведения GIF-файлов в виде текстур Direct3D 9. Декодирование реализовано на Rust, а Lua API — через LuaJIT FFI.
Поддерживает прозрачность, частичные кадры, disposal-методы 0–3, конечные и бесконечные циклы, управление воспроизведением и скоростью.
Пример:
Все операции с одним GIF должны выполняться в одном потоке рендера.
Для установки скопируйте папку
GitHub: nimbique/giftexture
Нативная библиотека для загрузки и воспроизведения GIF-файлов в виде текстур Direct3D 9. Декодирование реализовано на Rust, а Lua API — через LuaJIT FFI.
Поддерживает прозрачность, частичные кадры, disposal-методы 0–3, конечные и бесконечные циклы, управление воспроизведением и скоростью.
Пример:
Lua:
local giftexture = require('giftexture')
local gif = assert(giftexture.load(
getD3DDevicePtr(),
'animation.gif'
))
gif:play()
-- Each frame
gif:update(deltaTime)
local texture = gif:getTexture()
local width, height = gif:getSize()
-- When no longer needed
gif:destroy()
deltaTime — время между кадрами в секундах. Полученные текстура и размеры используются для дальнейшей отрисовки выбранным способом.Все операции с одним GIF должны выполняться в одном потоке рендера.
Для установки скопируйте папку
giftexture из архива в moonloader/lib.GitHub: nimbique/giftexture