[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - surf8.s asm - taking out the lightmap smoothing

surf8.s asm - taking out the lightmap smoothing

Discuss programming topics for the various GPL'd game engine sources.

Moderator: InsideQC Admins

surf8.s asm - taking out the lightmap smoothing

Postby leileilol » Tue Sep 18, 2012 4:55 am

I'd like to try this but i'm having trouble understanding this Abrashy stuff. How would I just apply an unblended single lightmap texel across a surfmipblock, making lighting rather blocky and reminiscent of CyClones, skipping all the delta blending math?

This would in theory, bring a huge benefit to low-end performance, followed by changing the fade calculation on the dynamic light painting.
Last edited by leileilol on Tue Sep 18, 2012 9:46 pm, edited 1 time in total.
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: d_surf asm - taking out the lightmap smoothing

Postby andrewj » Tue Sep 18, 2012 6:24 am

andrewj
 
Posts: 133
Joined: Mon Aug 30, 2010 3:29 pm
Location: Australia

Re: d_surf asm - taking out the lightmap smoothing

Postby leileilol » Tue Sep 18, 2012 12:10 pm

leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: d_surf asm - taking out the lightmap smoothing

Postby ceriux » Tue Sep 18, 2012 4:37 pm

leilei i love how the stuff you work on always looks so retro. my opinon... games should have stayed this way.
User avatar
ceriux
 
Posts: 2230
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Re: d_surf asm - taking out the lightmap smoothing

Postby mankrip » Tue Sep 18, 2012 6:41 pm

I don't think so. But it's nice to see the lighting become more similar to the Saturn version of Quake.

Being able to simulate to some degree the visuals and other features of GLQuake, Quake 64 and Saturn Quake was one of my goals with Makaqu. I even figured out how to load several of Saturn Quake's loading screens. Eventually I wanted to add an option to switch between those styles, WinQuake's style and Makaqu's default settings.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
/ /
User avatar
mankrip
 
Posts: 915
Joined: Fri Jul 04, 2008 3:02 am

Re: surf8.s asm - taking out the lightmap smoothing

Postby leileilol » Tue Sep 18, 2012 10:48 pm

I don't know how well this kind of no-math hack would work in C for the Dreamcast.


A 486 to test a result is operational right now. I was able to put this alternate method into a cvar. Since I know jack squat of ASM (I barely pushed vga bios registers on my own to color the startup screen) i'm going to have to comment out one line at a time of the highest surfmipblock loop hoping nothing breaks in a test and repeat. Once I achieve this, I'll do a release build and get testing (no, not a release. The dynamic lights and low detail are still bugged (waterwarp is sometimes screwed, and low detail doesn't work in Mode13h))
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: surf8.s asm - taking out the lightmap smoothing

Postby leileilol » Wed Sep 19, 2012 4:57 am

Took more math out as much as I could without screwing it up and did a 486 timedemo demo1 benchmark.

Old: 10.2fps
New: 11.5fps

I should really test these in a vanilla quake engine rather than my bloated stuff.

There's also the idea of just using one pixel per 16 texel block for both drawspans and surfmipblock.
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: surf8.s asm - taking out the lightmap smoothing

Postby ceriux » Wed Sep 19, 2012 12:11 pm

i think it would be cool to have a engine that had both extremely high visual options and extreamely low ones.
User avatar
ceriux
 
Posts: 2230
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Re: surf8.s asm - taking out the lightmap smoothing

Postby qbism » Thu Sep 20, 2012 2:32 am

User avatar
qbism
 
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am

Re: surf8.s asm - taking out the lightmap smoothing

Postby leileilol » Thu Sep 27, 2012 6:29 am

q1source + djgpp makefile + timedemo demo1 results

13.6fps = lightmap smoothing
14.0fps = no lightmap smoothing


ALRIGHT!!! 0.4FPS INCREASE
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: surf8.s asm - taking out the lightmap smoothing

Postby taniwha » Thu Sep 27, 2012 9:25 am

2.9%. Not bad, actually.
Leave others their otherness.
http://quakeforge.net/
taniwha
 
Posts: 399
Joined: Thu Jan 14, 2010 7:11 am

Re: surf8.s asm - taking out the lightmap smoothing

Postby Spirit » Thu Sep 27, 2012 3:36 pm

Dammit leilei, you should totally write a detailed blog series "optimising Quake for a 486" or something. Would be super interesting and give you hacker_cred++
Improve Quaddicted, send me a pull request: https://github.com/SpiritQuaddicted/Quaddicted-reviews
Spirit
 
Posts: 1037
Joined: Sat Nov 20, 2004 9:00 pm

Re: surf8.s asm - taking out the lightmap smoothing

Postby mh » Thu Sep 27, 2012 3:42 pm

2 milliseconds which is actually quite significant. OK, on this kind of scale 2 milliseconds is a fairly small proportion of total, but even being able to get that from software Quake on a 486 is semi-heroic.
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Re: surf8.s asm - taking out the lightmap smoothing

Postby qbism » Thu Sep 27, 2012 4:45 pm

User avatar
qbism
 
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am

Re: surf8.s asm - taking out the lightmap smoothing

Postby leileilol » Fri Sep 28, 2012 3:02 am

leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Next

Return to Engine Programming

Who is online

Users browsing this forum: No registered users and 1 guest