rswinkle / PortableGL

An implementation of OpenGL 3.x-ish in clean C
MIT License
1.04k stars 49 forks source link

Looking to include PortableGL in LVGL - roadmap for v1.0? #12

Closed 0x0203 closed 1 year ago

0x0203 commented 1 year ago

I'm looking to include PortableGL as a widget in the embedded graphics/UI library LVGL. I'm not a maintainer there; will just make a pull request once I get it properly implemented. My initial proof-of-concept tests are looking pretty promising and I really appreciate how easy it's been using PortableGL for this.

I noticed that the version number being used for PGL is 0.96. Are there any additional features you are looking to implement in order to call it 1.0? If it's embedded in a toolkit such at LVGL, it might be nice to use a "feature complete" version as it will likely get updated less frequently than your source tree. Thanks again for your efforts on this project; it's been a lot of fun to play with.

rswinkle commented 1 year ago

Thanks for the compliment, always nice to hear about people using or even thinking about using PortableGL.

Yeah, I haven't been super diligent or strict with my numbering scheme. My initial goals for 1.0 included the things in the TODO list of the README:

Render to texture More texture formats (specifically 1, 2, and 3 channel images) More exhaustive regression tests, ongoing Logo etc.

I don't think there's anything there that is really critical or that you need to be used in LVGL. The bigger issue for most LVGL applications is probably memory use. 32 bit RGBA color buffer + a float z buffer adds up even for tiny screens. However it's written in such a way that it wouldn't be too much effort to convert it to use a smaller pixel format.

As far as waiting for a "feature complete" PGL, I don't think there's any need. If I continue at the rate I'm going or even a little faster in the new year, I still probably won't be creating new official releases faster than LVGL's release schedule. Best case scenario I reach 1.0 sometime next summer.

0x0203 commented 1 year ago

Excellent, thanks. I'll keep picking away at it as I have time. As for memory use, no, I don't expect many will end up using PGL in the embedded space. However, I'm using it in an environment where memory isn't a concern, so it will be pretty handy.