October 25, 2008
It was written in C, it tried to be very portable (reading through it now, I'd say almost to a fault -- kinda annoying ;). There were some nifty things about it:
- 256 color output with adaptive palette creation and management
- multiple light sources
- piecewise linear perspective corrected texture mapping
- Gouraud shading with color ramps that let you do fakePhong
- optional Z-buffering
- environment mapping
- object hierarchies
- frustum clipping
- cameras
- splines
- matrix functions
- primitive generation
- very basic translucency
The code itself wasn't too bad, some stuff that I had spent ages tweaking and getting to run smoothly would surely be reusable.
So in about 8 hours of work I transformed it into Plush2, which is similar to the above, except simplified in C++, renders to 32 bit per pixel output, integrates with our LICE compositing engine, and supports the following new features:
- 24 bit color output
- multiple COLORED light sources
- Texture mapping (piecewise linear perspective corrected) with optional BILINEAR filtering and support for any sized texture, support for texture transparency.
- Colored Gouraud shading
- Z-buffering
- True surface transparency support
- Multitexture support (one or both textures can be used as environment maps)
- Full control over how pixels are combined at render -- add, mulitply are supported replace, all with alpha control.
- No limits on number of light sources, triangles, etc.
Yes yes I know 3D stuff has all been done a ton, just thought it was interesting bringing things back from the dead to see what would be reusable. Now I'm going to go hug my 2.4ghz multicore processor.
This will be a part of the next WDL release, in case anybody cares, ha ha. It does compile down to pretty small (though not small enough to go making a 4k demo with it)
Posted by gio on Sun 26 Oct 2008 at 09:26 from 62.103.65.x
Posted by Xenakios on Sun 26 Oct 2008 at 20:53 from 91.155.43.x
Posted by argee on Tue 28 Oct 2008 at 07:52 from 154.20.105.x
Posted by Justin on Thu 30 Oct 2008 at 16:19 from 64.81.54.x
Posted by Justin on Thu 30 Oct 2008 at 19:21 from 64.81.54.x
Posted by gio on Fri 07 Nov 2008 at 13:42 from 62.103.65.x
Posted by Elliot on Thu 20 Nov 2008 at 07:41 from 24.9.158.x
Posted by yathosho on Thu 20 Nov 2008 at 10:25 from 84.114.227.x
Posted by elena on Mon 24 Nov 2008 at 10:27 from 62.11.253.x
Add comment: