|
Atari demoscene BBS
Re: Doom floor texturing |
Posted by: dml
|
Jan,23.2013-13:00
|
Yep thankfully this time I don't have any Atari related 'work commitments' so it can be purely for fun :)
The old Quake port was really just an excuse to play around with my Afterburner040 which I got while working on Apex @ BSS. It started out as the Quake C source as-is with a reworked c2p (which I think originally came from Johan Klockars for BM, and I messed around with). The framerate was terrible.
I studied the x86 asm version for a while and at some point around that time had picked up on the in-flight divide trick and I guessed the 040 would work the same way. So I wrote a new version of the texture mapping which used the same idea - have the FPU and the dependent tex address step out of phase by one span - and tried to optimise it far enough to get the framerate tolerable. I don't remember if I replaced the edge production code as well - I think that was also x86 asm in the final Quake. Would need to look again - probably just the filling routine.
The DSP version of the texture mapper was actually a bunch of different experiments but they all worked much like the 040 version - do perspective correction every 16 (or whatever) pixels and feed back the du/dv for the next span. So there is some host port activity every 16 pixels and the FPU is removed from the picture but the texture addressing is still CPU-side. Most of the experiments involved different ways to get optimal span lengths for a given line (most of which worked but didn't look nice).
I think any other changes to Quake were related to cache control flags and fastram. It was built natively on the Falcon with gcc 2.7 or 2.9 or thereabouts (it often crashed in the compile step).
So if there's a Quake in need of a texture mapper it might be worth grafting bits together but I expect these days it can be redone again and faster. I'll post a link to the original code soon.
BTW I'm surprised you noticed that port at all because almost nobody had an 040 at the time and CT60 swept them aside later on :-)
Will need to look at ClickBoom at some point, sounds interesting. I assume it still needs a FPU for the rest of the code or was somebody mad enough to go and convert all the code to fixed or funny point math :-)
|
[All messages in this thread] [Start new thread]
Topic
|
Posted by
|
Date
|
Doom floor texturing
|
dml
|
Jan,21.2013-18:47
|
Re: Doom floor texturing
|
dml
|
Jan,21.2013-18:48
|
Re: Doom floor texturing
|
dml
|
Jan,21.2013-21:33
|
Re: Doom floor texturing
|
Defjam
|
Jan,21.2013-21:44
|
Re: Doom floor texturing
|
dml
|
Jan,21.2013-22:38
|
Re: Doom floor texturing
|
dml
|
Jan,22.2013-10:48
|
Re: Doom floor texturing
|
mikro
|
Jan,22.2013-11:03
|
Re: Doom floor texturing
|
dml
|
Jan,22.2013-11:43
|
Re: Doom floor texturing
|
mikro
|
Jan,22.2013-13:30
|
Re: Doom floor texturing
|
mikro
|
Jan,22.2013-13:36
|
Re: Doom floor texturing
|
mikro
|
Jan,22.2013-13:37
|
Re: Doom floor texturing
|
dml
|
Jan,22.2013-15:18
|
Re: Doom floor texturing
|
mikro
|
Jan,22.2013-16:22
|
Re: Doom floor texturing
|
dml
|
Jan,23.2013-00:55
|
Re: Doom floor texturing
|
mikro
|
Jan,23.2013-10:12
|
Re: Doom floor texturing
|
dml
|
Jan,23.2013-13:00
|
Re: Doom floor texturing
|
Calimero
|
Jan,24.2013-03:14
|
Re: Doom floor texturing
|
ggn
|
Jan,22.2013-16:41
|
Re: Doom floor texturing
|
ggn
|
Jan,22.2013-16:42
|
Re: Doom floor texturing
|
dml
|
Jan,23.2013-01:07
|
Re: Doom floor texturing
|
dml
|
Feb,03.2013-20:23
|
Re: Doom floor texturing
|
mikro
|
Feb,03.2013-22:07
|
Re: Doom floor texturing
|
dml
|
Jan,23.2013-18:01
|
Re: Doom floor texturing
|
mikro
|
Jan,23.2013-23:39
|
What's the anti-troll code? That's your personal code to be able to add comments and messages on the dhs.nu site.
Don't have a code or forgot it? Fix it here.
|