Page 2 of 2

Re: Self-hosting Löve2d Environment for Educational Purposes

Posted: Wed Aug 02, 2023 5:59 pm
by nagydani
zorg wrote: Wed Aug 02, 2023 5:05 am (for audio: wav/mp3/ogg/all formats modplugtracker supports loading/importing)
(for images: jpg,png,bmp,tga,hdr/pic,exr plus compressed(-on-gpu) formats i.e. dxt/bc/etc/eac/pvr/astc variants)
Thank you!

Given that löve2d is resolution-independent, I would have expected some vector-graphic format to be supported as well. Or is vector graphics always programmed as a sequence of löve2d drawing functions?

As for audio, is midi not supported somehow? I have found some midi extension for löve2d, but it seems to only communicated with connected midi devices, but cannot play midi files on the host computer.

Re: Self-hosting Löve2d Environment for Educational Purposes

Posted: Thu Aug 03, 2023 3:24 am
by zorg
nagydani wrote: Wed Aug 02, 2023 5:59 pm
zorg wrote: Wed Aug 02, 2023 5:05 am (for audio: wav/mp3/ogg/all formats modplugtracker supports loading/importing)
(for images: jpg,png,bmp,tga,hdr/pic,exr plus compressed(-on-gpu) formats i.e. dxt/bc/etc/eac/pvr/astc variants)
Thank you!

Given that löve2d is resolution-independent, I would have expected some vector-graphic format to be supported as well. Or is vector graphics always programmed as a sequence of löve2d drawing functions?

As for audio, is midi not supported somehow? I have found some midi extension for löve2d, but it seems to only communicated with connected midi devices, but cannot play midi files on the host computer.
There is a library for the first one, if i recall correctly (TOVE), but there might be other solutions for it too, like using shaders to implement SDF-s; the usual solution, however, is either just have one internal resolution and scale that, or you can have your assets have a postfix of "@Nx" where N is an integer >=2 which would be a pixel density scale factor... whatever that means, i haven't really used it so i don't exactly know how it works... and yes, you can also use the primitive drawing functions as well, if you want to; those don't have uv (texture) coordinates though, so they can't be textured; if you would want that, you can use a custom mesh.

Edit: Löve's not resolution independent, last i checked... it allows you to specify a resolution, but that's not what that means. The graphics backend (OpenGL now, Vulkan/Metal later) also needs to rasterize the shapes one uses in the end.

Midi file playback is only supported through the fact that libmodplug supports loading it... but due to that, and the fact that most people don't have timidity (which libmodplug needs), it will not find its configuration file, hence it will use sine waves for all instruments in the file, melodic or drumkits, which will sound like absolute ass. I've been trying to make a midi parser and a simple replayer library in lua myself to overcome this, but the format's a bit complicated for me, so i haven't been able to fix all the issues with it yet.