
The library only uses pure LuaJit, No external libraries. And it's as fast as Photoshop at loading files.
Library, Sample code and documentation is available on Github with MIT licence.
https://github.com/EvineDev/Artal
All of these libraries can be used independently.
- artal.lua is the core psd loading library.
- psdShader.lua is a small shader generator/ rendering library to render blendmodes/clipping layers.
- writetable.lua is a library to write tables. For debugging convenience.
psdShader.lua is very much incomplete. So you'll probably quickly run into problems rendering images accurately if you use a lot of blendmodes / clipping layers and folders in combination. This is just a very complex problem and I don't think I'll ever work on making a perfect system, as having a ton of complex layers will hurt performance anyway. But if anyone interested in contributing code I'd appreciate pull requests.
I'd advise only to use blendmodes outside of folders. Clipping layers with/without blendmodes should be baked into the texture it's clipped to.
Paint Tool Sai
LÖVE