This is the beginning of the graphics engine I'm working on... It's going to be a voxel type engine, but instead of cubes things are made of spheres. It is meant to look more like a painting than typical 3D graphics.
Here is a screen shot showing global illumination and shadowing between a few spheres... the green light shows the indirect lighting. Red is the direct lighting.
The lighting is all done in a vertex shader. It requires way too much to run in a pixel shader at acceptable speeds.
The lighting accuracy and density of rendered objects is highly scalable.
In this shot there are 3 lights, but there can be a maximum of 4096 lights, performance permitting.
There is one light to the upper left, one to the left front, and one to the right.
I've been working on this because I have always liked voxels, or maybe just volume graphics.
I hope to have the graphics library done within a few months.
Check the video tab to see the lighting running real time... the video kinda stutters for some reason... probably because I uploaded it uncompressed, but it was running at ~500fps before recording. It's only a few sphere,s of which I need many, but I should be able to handle a fair amount of sphere's and lights with a decent lod system.
Click here to view the iotd
Graphics Engine Preview
Added a new screen. it's of the lowest geometrical lod, and about 20% lighting lod. Also added a shot of the highest geometrical lod and 100% lighting lod.
Gonna need a pretty beastly system to use the highest lod.
Gonna need a pretty beastly system to use the highest lod.
Made a software version of the shader... it's about half as fast but produces the same results... Would be good for people that have a faster CPU than GPU.
How can this be used to represent models? Do spheres merge when they touch? If so, it would be nice to see how it looks.
Blog | MayaFPS: First Person Controls in Maya | Curver - Fastest Line-art Tool Ever! | RefreshBrowser: Notepad++ plug-in for webdevs
I was thinking of making 'em into like metaball type things, but wasn't set on that. I don't know, maybe I will.
Right now, balls can be linked together and a string of balls will be generated at runtime between them, and lerp between their colors.
Right now, balls can be linked together and a string of balls will be generated at runtime between them, and lerp between their colors.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement