STEEL
3D

Well, this is IT. The fruit of about a year's work, since I first got into 3d. I started writing this particular engine in July, 97. It's a testbed for everything I learn as I go along. I set out some goals for myself right at the beginning, and they're just about outlined in the feature list. I barely added anything I haven't planned for, or left out anything. It's a demo style engine, inspired by some of the demos I've seen along the way, so it's not intended for a game like quake. The reason I made it this way is that it allows for more geometric freedom and variety, and lets me practice all kinds of rendering techniques that are otherwise useless for quake-like stuff. On the other hand I can't use the current techniques used in those kinds of engines... Oh well, maybe next time... The more serious reason I didn't wanna make a game with big walls filling the whole screen is that my poly fillers are way too slow ;). But I have to accept the engine for what it is, and I have to admit, it does everything I wished for, and more.

And what is it then, exactly? Well, I call it a really-slow-time near-photoreallistic engine :-). The second part is just an excuse for the first :-). Although it does look good compared to other engines... And you have to remember that this is still a very immature version, I've only done very essential and obvious optimizations, so it might get faster. Also, the demo's still buggy. If it works for you - good, if not - well, not... I didn't try to make this an awesome release, just so it's there if anybody's curious. On the other hand I won't put the code up, cause it's in even worse shape than this demo. Although you can extrapolate from the rest of my page that I will put it up as soon as it's ready, just like everything else I make :-). I'm gonna base more tutorials on this code too. But right now it would be almost useless. Still, if you need anything specific, feel free to ask me. [Well, the code's on, but not cleaned up as I hoped...]

The "demo" basically consists of a gouraud textured 'terrain' (just a 3d function for now), a simple textured box over it, which is orbited by a gouraud textured sphere with spikes. In front of you is a blob. The light source can be moved around. Looks really good in 24bit color and higher. (disregard the bugs ;)
Sowness: .8-9fps on my 486 :-) (in starting position). The highest speed I heard of on p2/300 in 32bit color vith univbe is 14fps! If only intel could catch up with me... ;)

So if you still wanna risk it, you can download it right here. Last updated on Feb 28, 98.
Source Code



Screen Shots




Steel3D Features
Note: bold = implemented, rest = to do, "*" = later additions

Well, it looks like just about everything's finished (so I added those extra features :-). In reality the engine's still not quite complete. But I'm definately getting closer...


News

May 4

Steel3D is dead. Long live Steel3D...


Well, it took long enough... I actually abandoned that engine a good while ago but never got around to updating this page. Now I'm into windows (yeah, oh joy!). Anyways, gotta go with the flow... I also had to get away from software rendering cause it was rendering my engine useless :-) All that fancy (and fancier) poly filling's done almost free in hardware. So now I started on a new engine in MSVC that's supposed to support conditional compiles for OpenGL and Direct3D with no additional effort. (If you wanna learn a little about em, check out my here it is.

Feb. 24
Another version of the demo. The blob's jiggling around now, and I've also added better controls. You can have more game-like movement, move the light source and the blob around. Read readme.txt for the controls. I'll add more interactivity later.

Feb. 24
New demo with a blob and a little demonstration of hierarchical transformation (the spiked sphere) included. No realtime morphing on the blob though yet... Soon...

Feb. 22
I haven't done any work on my pages for a long time. I didn't wanna waste time with anything other than coding my engine. I haven't done as much as I'd like, but I'm going along steadily.

- Added the option to change resolutions
- I got hierachical objects and transformations working well
- Fixed up frustrum clipping a bit, but it's still buggy :-)
- Got some 3ds loader going, but it's buggy
- I just implemented implicit surface polygonization in the last week. I'm using an lut based marching cubes algo, but modified it to shared structures. Hopefully I can get it to go faster than this. I'm planning on surface tracking to ignore irrelevant cubes, and maybe adaptive subdivision.
- Hopefully a new demo's coming up soon... Nothing glamorous as usual, just to illustrate the new features.
- Still not putting on the finishing touches as I hoped before :-)

Jan. 18
Converted bounding volume from rectangle to sphere. Got hierarchical objects working. Still have work to do on object support in general. The only other things left to do is completing all the different poly types, and optimizing video. Then it's time for general optimization.

Dec. 29
I've been workin on my engine a lot in the break. Finished hicolor rendering. Got a simple demo going. Frustrum clipping's still buggy.

Dec. 3:
Hehe. Damn... I finished frustrum clipping a few weeks ago and haven't done anything since. School bogged me down...



Back to Steel's Programming Resources


Last updated on 05/04/98 CLICK HERE TO VISIT THE TOP 1000!