Took me some effort, but I managed to implement Z-Buffering on my toy OpenGL ES 1.0 Common Lite implementation. The depth interpolation was a bit of a pain, but surprisingly, computing the normalized Z values for each vertex was the real chore here!

Also worth reminding that this is GL ES 1.0 CL, which is fixed-point exclusive (hence the imprecision overwall).

I also haven't implemented perspective correction yet.

edit: spelling

#screenshotsaturday #opengl

With a bit more work, extended the same computation to also handle the colour interpolation

...which won't obey `glDisableClientState(GL_COLOR_ARRAY);` for now :)

@montyontherun Just to clarify, this is a software renderer? Super impressive 👌

@floe Yep, based on my previous work (https://bitbang.social/@montyontherun/112938143172176814), but now improved and following as much as possible the GL ES 1.0 CL specification.

Currently, the only other software implementation I'm aware of is the Mesa3D, but theirs convert from fixed-point to float internally.

(Let me be clear that I have the uttermost respect and admiration for their work - and I help there from time to time)

edit: spelling

MontyOnTheRun (@[email protected])

Attached: 1 image Published a WIP demo of Tragrady of the Uncanny as a HTML5 playable game on itch.io. This is a temporary version, since it is being developed with the #gba and #msdos in mind. #retrodev #emscripten #screenshotsaturday #rpg #dungeoncrawler #indiegame #homebrew #PlayOnBSD #feedbackquest #gba Please provide feedback! https://montyontherun.itch.io/sub-mare-imperium-equivalence as part of the https://itch.io/jam/feedback-quest-7-indiegames-x-indie-streamers Jam

Mastodon