This is a response to @singmajesty regarding my thoughts about how Lime is to use without OpenFL.
It’s a great question! Lime is a excellent tool, but it takes a low-level approach, and is not documented, making it difficult to jump into.
First I should say: the reason I’m using it instead of OpenFL is because my Flash games were primarily rendered with BitmapData operations, which seem to be slow and blurry on web canvas and OpenFL. So I’m making myself a GL engine that will get better performance with that sort of thing as I port my old projects to Haxe.
In direct response to sing’s questions, here are a few nitpicks that come to mind that I think would improve my workflow in Lime:
- Lime has a glyph rendering function, but it seems OpenFL handles the rest. Something a bit more unified for text rendering would be amazing! I could be missing something about it though.
- Converting from
GL.readPixels()to an Image seems harder than it should be:
Bytes -> Uint8Array -> ImageBuffer -> Image. A dedicated function on Image might be more convenient for this. Basically,
Image.fromBytes()expects the Bytes to be in a specific image format (like PNG), instead of raw Image Buffer data. At least, I couldn’t find an easy way to edit the Image’s buffer without just creating a new Image. The relation between
image.bufferisn’t quite clear to me.
- I don’t think I would have been able to figure out that I had to enable the depth buffer manually without jgranick’s help. I wonder why this isn’t on by default?
GL.texImage2D()(at least) should be able to accept a null DataPointer parameter in HTML5, so I think it should be an optional parameter.
So really my biggest wish has been for some documentation, but I totally get why it’s not the focus right now haha.
Of course, once I figured out how to set up what I needed, Lime has been really powerful and useful. Plus, I enjoy using it. I think it does what it claims to do very well and conveniently. I mean I very rarely have to do compile conditionals for my targets, thanks to Lime!
I’m more than happy to discuss more! I’ve only been using it on and off for the past year though.