New Version of My Software Renderer

Some of you might remember the 1.1 renderer I was working on. Here is the latest incarnation, which includes lightmaps and all of the goodies that go with them:
http://www.freestandingentertainment.com/chance/test3/

Enjoy the oldschool goodness,
Abs

Runs fine using the MS-VM, but it does almost nothing using Java 1.4.2 (tried it with IE and Mozilla). It stops after printing “reading model” (or similar) to the console. No exception, no nothing…???

Hmm, I’ll look into it. Obviously an input stream problem.

I just tried it in both MVM and the 1.4.2 plugin and it is working for me. I recompiled it and uploaded it. It might have been the obfuscator options I used…

UPDATE: I added some quick and dirty collision detection so you stay inside the walls now. :slight_smile: No gravity though.

Hmm, this seems popular. :slight_smile: Anyway, there is a newer version up now at the same address:

http://www.freestandingentertainment.com/chance/test3/

It’s a larger and faster version (no zbuffer) with better controls.

And, if that doesn’t interest you, you can check out my first attempt at a java game here. Man, that was a long time ago:

http://qlink.queensu.ca/~6dcb/asteroid/index.html

Abs

My first try gave me an exception in one of SUN’s classes (ImageFetcher, if i remember correctly…i missed to copy the exception from the console).
Anyway, it worked fine after reloading the page. What are you using instead of the zBuffer? A S- or C-Buffer or just simple polygon sorting?
Maybe you should add a little “loading”-bar, because it takes ages to load the model and some people may close the page earlier because they think that nothing happens anymore.

both work good for me - how long does something like that take (the 3d applet)?

Ya, I’m using a s-buffer of my own design. Those things are a pain to implement. I think it is actually better than polygon sorting since my inner drawing loop is only called once per pixel now. The performane increase isn’t as noticeable in this demo since the overdraw isn’t that bad. I think if I put a BSP behind it I could speed it up even more.

If you’re on dial-up like myself it can take a few minutes to load (models, textures, lightmaps). I’ll throw in some loading messages for now.

Nice. Reminds me of what I was doing 4 years ago :slight_smile:

If you render your world front to back, you can use the s-buffer to determine when the screen is filled. This can cull away a lot of hidden polygons 8) But you would need a bsp tree or something to do the sorting.

:slight_smile: Heh don’t get me wrong, I’m not stuck in the past. I think it’s an interesting challenge doing this in 1.1. Plus, it’s educational. I do a lot of GL programming as well.

Anyway, that’s what I have planned. Right now the spans have to be z-sorted and split where they intersect. A BSP would avoid both of those.