Trickery! Always and only cheatingcalimero wrote: I am not sure how you manage to get same speed as mono lighting but this screen shot are more than amazing!!

Moderators: Zorro 2, Moderator Team
Trickery! Always and only cheatingcalimero wrote: I am not sure how you manage to get same speed as mono lighting but this screen shot are more than amazing!!
Anytime something comes up that someone doesn't understand in ourdml wrote:Trickery! Always and only cheatingcalimero wrote: I am not sure how you manage to get same speed as mono lighting but this screen shot are more than amazing!!But in a good, realtime way.
Witchcrafting!dml wrote:Trickery! Always and only cheatingcalimero wrote: I am not sure how you manage to get same speed as mono lighting but this screen shot are more than amazing!!But in a good, realtime way.
Looks great. It's amazing what a difference the coloured lighting makes - really recognisable as Q2 now. Or maybe that's just because I spent too long playing it with the OpenGL renderingdml wrote:These screenies were taken from the Falcon build using colour lighting. This demonstrates the most significant difference between Q1 and Q2 map formats, since Q1 maps only encoded mono lighting data.
AnthonyJ wrote: Looks great. It's amazing what a difference the coloured lighting makes - really recognisable as Q2 now. Or maybe that's just because I spent too long playing it with the OpenGL rendering
With the Mercurial version of Hatari you can use TT-ram with Falcon emulation & TOS v4. I.e. memory optimizations could be left for later.dml wrote:(While the minimum spec for Q2 was indeed 16MB of ram - not far from the Falcon's 14MB - it obscures an important hidden detail - that on a Windows platform this refers to *physical* memory - there's an abundance of virtual memory behind that, which we don't have under TOS)
Hi!Eero Tamminen wrote: With the Mercurial version of Hatari you can use TT-ram with Falcon emulation & TOS v4. I.e. memory optimizations could be left for later.
Like current PC games do for shadows?dml wrote: - hmm. easiest hacks are to de-rez the wall while it is being lit, and/or skip lighting updates on odd frames.
Couldn't range finding be automated? E.g. have your code track the ranges for different values/passes and output them at suitable intervals. Then just play few potentially problematic levels.dml wrote:- each fixedpoint stage must maximize the utilization of fixedpoint bits at each step, especially when stored in memory structures or transferred to DSP, since those transfers effectively truncate the available range. while maximizing use of those bits, they must also not get clipped at the upper limit - this has already caused one texture bug (in one map!) which needed diagnosed. finding the ranges at all these stages is quite laborious. it's certainly ok as it is, but needs to be made better before more optimization is done.
I suppose so - it's an old trick but it does work better if your fps is high to begin withEero Tamminen wrote: Like current PC games do for shadows?![]()
This is probably a better way to do it via Hatari. I did automate it partly by having the code track abs max bounds in one structure and I checked it with a few levels. Still there are several other places it needs done and it's dull workEero Tamminen wrote: Couldn't range finding be automated? E.g. have your code track the ranges for different values/passes and output them at suitable intervals. Then just play few potentially problematic levels.
If you can plug in rest of the Quake code, you could just record some demos and let playback automatically find you the ranges (similarly how BM scripting automatically finds and profiles slowest frames with Hatari).
Awesome, can't wait to see the results - keep up the great workdml wrote:Yesterday evening made some changes which split the drawing into 3 phases now. Originally they were all done in one piece of code.
- per-face texture plane setup
- per-face surface cache updates
- per-face drawing
None of these stages yet fit in the 68030 cache but two of them are getting close (face setup under 500 bytes, drawing under 350 bytes). One of them - surface cache - still involves a bunch of C code and not really close to fitting yet. Will need separate work.
With some effort though two stages should fit fully inside the CPU, and the surface cache should at least have the outerloop in the cache, and intermittent updates with the inner loops inside the cache. With additional splitting (separate event discovery from event execution, use separate event list for each dedicated mip size/routine) it might be possible to get everything inside the CPU.
Once all of that is done, we'll be a lot closer to knowing how well the Falcon can cope with this kind of engineBut there is still quite a lot to do between now and that endpoint.
Mindthreat wrote: Awesome, can't wait to see the results - keep up the great work
That would be this one: http://www.atari-forum.com/viewtopic.php?f=16&t=25798dml wrote:(There is a thread for the PCS6 vid somewhere here too and that same test binary is linked towards the end).