Archived

This topic is now archived and is closed to further replies.

Halo Vortex

Register Combiners

Recommended Posts

Halo Vortex    134
I''ve realised bump mapping with register combiners on GeForce2 Ti and it runs quite slow(around 30fps with 200 polys and fillrate of about 1.5x 800x600 (No perfect occlusion culling)). So I have a question, will it run faster on GeForce3,4. And will it happen because of chip''s higher frequency and pixel shading pipelines won''t be utilised to perfrom DOT3 operation, or will they be activated as well, resulting in a significant boost? To sum up, are register combiners significantly faster on higher GeForces or it''s no match for pixel shaders with the same operations involved.

Share this post


Link to post
Share on other sites
MindCode    122
I would think that register combiners would run better on geforce cards because it''s accessing the hardware direcly. Other methods like dot3 bump-mapping probably use the combiners internally on geforce cards, but hide it from the user. And (I''m just speculating here) that register combiners are also the base for nvidias pixel shader implementation. If gf3 or gf4 can do realtime pixel shading then they will most likely have better performance of register combiners as well.

Share this post


Link to post
Share on other sites
zedzeek    529
>>So I have a question, will it run faster on GeForce3,4. And will it happen because of chip''s higher frequency and pixel shading pipelines won''t be utilised to perfrom DOT3 operation, or will they be activated as well, resulting in a significant boost?<<

it most likely will be quicker on a gf3/4.
doing the same effect with a pixelshader will likely NOT run amy quicker (perhaps slower)

FWIW 30fps does seem slow for not that many pixels, have u disabled all unessecary things/operations eg using 1rc is quicker than using 2, disable lighting etc

http://uk.geocities.com/sloppyturds/kea/kea.html
http://uk.geocities.com/sloppyturds/gotterdammerung.html

Share this post


Link to post
Share on other sites
Halo Vortex    134
Right now, my nVidia drivers are messed up(I had Windows crash and when I reinstalled everything, my 3d demos'' FPSes dropped 3 times, 3D Mark 2001 showed 700 points insted of 3000). Hmmm, something is wrong. I''ll have to get new drivers.
So it IS going to be faster. The only other problem that troubles me is a lot of state changes I have to make for a bump-mapped surface). They''re probably slowing everything down significantly:
(Vertex progam, register combiner''s setup is done before any bump-mapped rendering, so it''s done once)

For each object
-Setup 2 textures(bumped, cubemap), enable them (1 or 2 for this test)

Switch to bump-map vertex shader
run N passes for N lights
{
-If light is attenuating, then
-Setup two other textures(Attenuation 2D, 1D maps),
switch off cubemap for second texture
Switch to a different vertex program
-Render the array
Switch back (The same number of actions)
}

For colour pass
Switch to colour vertex shader
Disable REGISTER_COMBINERS
Setup colourtexture for first texture,
Switch off second texture
Render
Switch on REGISTER_COMBINERS

Which is quite a lot of state changes per object, but it seems they are unavoidable.

P.S. zedzeek, how did you do volumetric fog on your Vanta back then in your gotterdammerung? Mind sharing the technique?

Share this post


Link to post
Share on other sites
zedzeek    529
>>how did you do volumetric fog on your Vanta back then in your gotterdammerung? Mind sharing the technique?<<

2 methods
A/draw (blenmded by verte4x depending on fog depth + distance) polygons over all polygon surfaces in the fog
B/projecting textures

>>And how did you do that heat, infra-vision in your kea screenshots?<<

an easy method is to draw the scene first in greyscale (depending on heat) + map the scale to a colorpallette

http://uk.geocities.com/sloppyturds/kea/kea.html
http://uk.geocities.com/sloppyturds/gotterdammerung.html

Share this post


Link to post
Share on other sites
JD    208
Try coding a pixel shader. I''m also on gf2 and it''s slow with like 6 passes per diff.spec. light that I do. You can throw out the normalization cubemap to save a pass but then it looks pretty bad. Four texture units would help. I use generic arb tex. env. combine though. Haven''t had time to setup reg.combiners. I also use z-fail stencil shadows and the fillrate from all this is killing me. I think the state changes are ok but fillrate and multipass are bad. Though there is a hope in all this: gl is 2-3x faster than my d3d. I think the user pointer drawing is what might be slowing things down. Waiting on nv35 to handle the fillrate then I''ll move the stuff to vertex/pixel shaders I hope.

Share this post


Link to post
Share on other sites
Halo Vortex    134
I just installed normal drivers. State changes isn''t the problem - I have 85 fps(VSync on) in a small window, so it''s fillrate and dot3. FPS is 35 now in 1024x768, plus I get my character drawn, so it''s quite okay for second GeForce to have a nearly-fully bump-mapped world running at 35 FPS.

Thanks for info.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
Forget about display lists for state changes, as soon as you have vp/fp, they make things 10x slower, checked that out myself

Share this post


Link to post
Share on other sites