forked from joejulian/gio
cea8e21f97b90787679fb2e565bd15cf6584288a
The default renderer tracks opaque rectangle draw operations and render them front-to-back with a z-buffer to omit overdraw. However, - Overlapping opaque rectangles are rare in a GUI, and the most common instance, a solid window background, is already optimized to a glClear. - A z-buffer is memory heavy. - We conservatively assume a 16-bit depth buffer, which limits the number of drawing operations to 64k (#127). - Depth buffer support makes GPU ports more complex, especially for upcoming ports (Metal, Vulkan). - The compute renderer doesn't use z-buffers. This change removes the optimization; a follow-up removes GPU backend support. Fixes gio#127 Signed-off-by: Elias Naur <mail@eliasnaur.com>
Gio - https://gioui.org
Immediate mode GUI programs in Go for Android, iOS, macOS, Linux, FreeBSD, OpenBSD, Windows, and WebAssembly (experimental).
Installation, examples, documentation
Go to gioui.org.
Issues
File bugs and TODOs through the issue tracker or send an email to ~eliasnaur/gio@todo.sr.ht. For general discussion, use the mailing list: ~eliasnaur/gio@lists.sr.ht.
Contributing
Post discussion to the mailing list and patches to gio-patches. No Sourcehut account is required and you can post without being subscribed.
See the contribution guide for more details.
An official GitHub mirror is available.
Description
Languages
Go
89.6%
C
7%
Java
1.7%
Objective-C
1.6%