Age | Commit message (Collapse) | Author |
|
Just a fun little swarm based loosely on 80s-era boids
It would be interesting to make stuff like the # of particles
and the weights runtime configurable, or exposed as knobs.
Using a Z-buffer for occlusions and perhaps shading by depth might
make a significant improvement on the visual quality. It might also
be interesting to draw the particles as lines connecting their current
position with their previous, instead as pixels. Or fat pixels like
stars...
|
|
plato implements very simple software-rendered 3D models of
the five convex regular polyhedra / Platonic solids
Some TODO items:
- procedurally generate vertices at runtime
- add hidden surface removal setting (Z-buffer?)
- add flat shaded rendering setting
- add gouraud shading, maybe phong too?
- show dual polyhedra
This was more about slapping together a minimal 3D wireframe
software renderer than anything to do with polyhedra, convex
regular polyhedra just seemed like an excellent substrate since
they're so simple to model.
|
|
|
|
|
|
|
|
|
|
This maps a different Z-slice through the noise field to each color
channel. The slices are moved up and down through the field over
time, and the size of the area each color samples is tweaked a bit
to make them less coherent with the noise field cells.
It could be improved, but I think the output is already neat enough
to be worth sharing.
|
|
|
|
|
|
|
|
|
|
|
|
This module displays realtime battle for domination simulated
as 2D cellular automata.
This is just a test of the backend piece for a work-in-progress
multiplayer game idea. The visuals were kind of interesting to
watch so I figured may as well merge it as a module to share.
Enjoy!
PS: the results can vary a lot by tweaking the defines in submit.c
|
|
This is unoptimized, with a palette slapped together in vim, but still
pretty neat!
|
|
|
|
|
|
|
|
|
|
|
|
This is a retro-style demo hack, demonstrating libdrm dummy buffer use for
achieving "oldskool" demo-style graphics programming on modern linux.
It's a quick and nasty hack, some effort was put into optimizing the renderer,
but the libdrm setup code is prototype quality at best, it's a spaghetti of
crap cobbled together while scrutinizing the libdrm headers until something
showed on-screen.
The amazing thing is, it actually works, and quite well at that, on my machine
anyways.
|