Archiv verlassen und diese Seite im Standarddesign anzeigen : Geforce 2 und TSNM
Die Geforce 2 GTS gilt ja allgemein als noch nicht programmierbar. Weiß jemand ob die damals echtes Tangent-Space Normalmapping festverdrahtet unterstützt hat? Ich war der Ansicht, daß vor den programmierbaren GPUs die Grafikchips in erster Linie verschiedene Bump Mapping Techniken (Dot3/EnvBM) aber kein "richtiges" Normal Mapping konnten? Konnten die das wirklich schon (festverdrahtet) oder gab es irgendwelche "Tricks" um TSNM auf einer GF2GTS zum Laufen zu bekommen (vielleicht nicht ganz so pervers wie auf der PS2)? :)
THNX!
robbitop
2007-03-25, 22:55:25
Fragen wir mal so: worin besteht der Unterschied zw R100 oder NV15 Combinern und DX8 Shaderunits? Was ist fuer dich fest verdrahtet? Wenn mans ganz genau nimmt, sind dort nur sehr geringe Unterschiede. Mit DX8 hat man lediglich eine Mindestvorraussetzung geschaffen, um alles darunter rauszukicken.
AFAIK waren beide Chips gar nicht soo weit von DX8 entfernt. Nicht genug moegliche Texturen pro Pass und ein bisschen kleinkram.
Die Combiner koennen AFAIK ADD/MUL/DP3 mit FX9 rechnen.
Die NV15 kann btw nur einfaches DP3 BM. EMBM ist nicht drin mangels dependant reads (R100, G400 und Serie3 konnten das schon).
Wenn du mit DX8-Shadern die erweiterten Combiner von nVIDIA meinst, dann stimm ich dir zu, aber R200 hatte schon eine ALU mit Programmspeicher usw.
Und ja, die GF2 konnte das indem man die Vektoren übers Dreieck interpoliert und per Cubemap pro Pixel normalisiert hat.
robbitop
2007-03-25, 23:25:21
Wenn du mit DX8-Shadern die erweiterten Combiner von nVIDIA meinst, dann stimm ich dir zu, aber R200 hatte schon eine ALU mit Programmspeicher usw.
Natuerlich meine ich PS 1.0
Dass R200 deutlich weiter war, ist klar.
Demirug
2007-03-25, 23:44:50
Und ja, die GF2 konnte das indem man die Vektoren übers Dreieck interpoliert und per Cubemap pro Pixel normalisiert hat.
Ich würde es jetzt nicht beschwören aber das normalisieren dürften sich die meisten aus Performancegründen gespart haben. Da hat man lieber die normal und decal map in einem pass gesampelt.
Was nun den Unterschied zwischen fixed function und shader Hardware angeht so war das bei den meisten Herstellern die Einführung des loops über die ALUs. Fixed Function Chips führen pro Pixel und ALU immer nur einen Befehl aus. Bei den Shader Chips kann die gleiche ALU für einen Pixel Nacheinader unterschiedliche Befehle ausführen. (Ausnahmen bestätigen natürlich die Regel)
Natuerlich meine ich PS 1.0
Rampage? ;)
@Demirug: War da wirklich nen Loop in den nV-Chips?
robbitop
2007-03-26, 00:03:24
Rampage? ;)
bingo ;)
micki
2007-03-26, 00:16:05
Weiß jemand ob die damals echtes Tangent-Space Normalmapping festverdrahtet unterstützt hat? fuer tangentspace normalmapping muss man entweder die lichtquelle in den tangentspace eines dreiecks drehen oder die normale aus dem tangentspace in den world bzw lightspace.
dafuer gab es meines wissens nach keine verdrahtung.
ollix
2007-03-26, 09:59:11
Hier (http://www.cc.gatech.edu/cpl/projects/skin/index.html) scheint das (TSNM auf GF2) gemacht worden zu sein.
micki
2007-03-26, 14:12:49
For each vertex…
compute unit-length L vector
transform into Texture Space
Specify the Texture Space L vector as a vertex parameter and allow it to be interpolated
Two ways:
Specify L as an RGB color
Colors clamped to [0,1] so must “range compress” the L vector (i.e. glColor3f( .5(Lx+1), .5(Ly+1), .5(Lz+1) ) )
Each R, G, B component interpolated independently
Renormalize using the register combiners
Specify L as (s,t,r) texture coordinates and use a “Normalization” Cube-Map to produce unit-length vectors
direkt von NV :)
deswegen ist tangentspace bumpmapping nicht generel moeglich ohne zumindestens Vertexshader oder VU(wie bei der ps2), weil die cpu den lightvector einrechnen muss in die meshes. es ist natuerlich moeglich das statisch zu machen, jedoch macht dann bumpmapping keinen wirklichen Sinn.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.