Guest CRiZ Posted April 30, 2001 Sorry if we digress a bit but this "20 passes" business sounds outrageous. Does 20 passes mean 20 cycles as in 20 Hz from the CPU/GPU? Like adding to the scene piece by piece where 20 pieces are required to display the final frame? When I think passes I think of the multiple passes I've read about that are required for texturing. Like 3 passes for applying 3 textures to a brush. So what the hell can these passes be? Where did this number come from anyway or is this just someone's estimate? I can think of up to 3 passes for overlapping base textures and one more pass for bumpmaps. Maybe 2 more, max, if the material is some sort of shiny metal that could use some addition texturing effects. And then again.... maybe I don't have a damn clue. 0 Share this post Link to post
Zaldron Posted May 1, 2001 Let´s see... we have a nice chunk of passess reserved for the shaders. 5, 6 layers are usual stuff in the many shaders found on the latests Q3A powered games. We have the lighting, of course. This one´s really expensive, you have to be careful or you´ll loose a lot of precision. The bumpmaps are really complex, and I don´t think a GeForce3 is able to perform one bumpmap layer per pass. I´m sure Carmack could compress this loop into a smaller one, but the precision lose would be tremendous. I have seen screenshots of the Xnfinite engine (a cheesy name) working in tutorials, and they start looking crap real soon. Then there´s the gamma/intensity/bright&contr settings. Q3A hacked the pallete to archieve gamma, resulting in a precision lose. id can´t do that anymmore, so I guess they´re adding another one to get things straight. 0 Share this post Link to post
Lüt Posted May 1, 2001 Basically, it works like this: $m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval And what that all comes down to is simply $_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=( 0 Share this post Link to post
Zaldron Posted May 1, 2001 HAHAHAHAHAH :D You should go and teach Carmack how to do the stuff. 0 Share this post Link to post
deadnail Posted May 1, 2001 Lüt said:Basically, it works like this: $m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval And what that all comes down to is simply $_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=( HOLY CHRIST ON ICE I FINALLY UNDERSTAND! 0 Share this post Link to post
Guest CRiZ Posted May 2, 2001 Lüt said:Basically, it works like this: $m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval And what that all comes down to is simply $_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=( You're a right witty bastard, ain't ya? 8 ) 0 Share this post Link to post
Guest CRiZ Posted May 2, 2001 Zaldron said:Let´s see... we have a nice chunk of passess reserved for the shaders. 5, 6 layers are usual stuff in the many shaders found on the latests Q3A powered games. We have the lighting, of course. This one´s really expensive, you have to be careful or you´ll loose a lot of precision. The bumpmaps are really complex, and I don´t think a GeForce3 is able to perform one bumpmap layer per pass. I´m sure Carmack could compress this loop into a smaller one, but the precision lose would be tremendous. I have seen screenshots of the Xnfinite engine (a cheesy name) working in tutorials, and they start looking crap real soon. Then there´s the gamma/intensity/bright&contr settings. Q3A hacked the pallete to archieve gamma, resulting in a precision lose. id can´t do that anymmore, so I guess they´re adding another one to get things straight. Hm... interesting. Thanks Zaldron, you never fail to impress me. 0 Share this post Link to post
Recommended Posts