Software renderer 1.1 Applet

I thought I would post the latest build of the software renderer I’m writing for use in 1.1 applets. I created the requesite spinning cube test of course, but I’m on to greater things now. I created this little ‘flying’ applet to tune my texture mapper and clipper:

http://www.freestandingentertainment.com/chance/test1/index.html

Controls are set up like a typical no-clip/flying fps camera. Drag your mouse to change your view and use the arrow keys to strafe and move forward/backward.

Let me know what you think. I’m maintaining 20+ fps all the time on my P3-800. It’s only a 256x256 demo right now, but i’d like to try for double that. :confused:

The framerate seems to be limited to a max of 20, is this correct? I would like to see it running at full framerate to see if i should start to worry… ;D
Anyway, i’m a big fan of anything software rendered and especially in JAVA. Keep on working on it and give it its own webpage with some additional information.

I have the framerate limited to 50, but I’m using System.currentTimeMillis() and that is highly innaccurate and OS dependent as I’m sure you know. On Win2K it only measures in 10s. :frowning: I’ll just remove the limiter for now. Timing in Java is, well, less than ideal. I’ll look into that timer hack posted in the shared code.

Do you start upside down? Cos when you go right it goes left, hehe

Btw its looking good

Yes you’re right, I had it in a flight mode. I just updated it so it has the standard fps feel. I also fixed the timing issue so it displays a more accurate fps in the corner. Oh, and you can press ‘f’ to enable bilinear filtering, however it roughly halves the framerate right now on my machine. Looks nice though. :stuck_out_tongue:

Hi,

I have a about 26 FPS (1 GHz, 512MB, Mobile3). Is this a raycaster?

No, it’s true 3D. It’s just an uninteresting world based on an ASCII map. I’ll load in a more complicated level later. I already have a MD2 loader, but I’m going to write a 3DS loader as well so I can import from Studio Max.

I got 35 to 40 fps with a P4 1.6Ghz, it’s fun

Uh, I’m not sure I’m looking at the same demo as everyone else is…

Is this an attempt to emulate that Excel 97 easteregg? the one with the maze that you can walk around in?

ducks

-Chris

I just noticed that the applet is a quite lot slower when run under Java 1.4 (at least on my machine (Athlon XP 2000+ running Win2K)). Using the MS-VM, i’m getting around 70 fps and using the 1.4 Java-plugin, i only get around 53 fps.
BTW.: How about adding some backface culling?

I turned off backface culling for this demo because you can fly anywhere around the level. I’m not sure about the 1.4 thing. Maybe because I’ve optimized this for 1.1. I use a 1.3 applet viewer and get the same framerates as in the browser (about 35fps on my 800Mhz P3 or around 18 with filtering). Haha, maybe I’ll have to put a “Best viewed under 1.3 or less” disclaimer on the site.

Also, I tested some scanline division for perspective texture mapping, but I really didn’t much of an increase. The divisions aren’t that bad any more. The type conversions are what’s really killing me, but I am having trouble converting the texture mapping routines to fixed point while maintaining sufficient accuracy.

I finally solved the problems I was having and got some real speed increases. I posted a new version that is double the size.