Dienstag 22.08.2017 15:03 Uhr
 Neuigkeiten
 Artikel
 Downloadbereich
 Bildergalerie
 Forum
 PowerVR FAQ
 Suchmachine
 Mitarbeiter
 Impressum
 SGX544MP angekündig...
 Der aktuelle Stand
 zweiter SGX Artikel ...
 Die Videofähigkeite...
 neue Treiber für Po...
 neuer Treiber mit Ha...
 SGX - Aufbau, Techn...
 neuer Serie5XT Grafi...
 Apple und Intel inve...
 Mehrere weitere Lize...
 SGX - PowerVRs Shade...
 Interview mit ImgTec...
 Quack - das andere D...
 Hercules4500 AGP4x-M...
 Optionen des KYRO Tr...
 FSAA auf KYRO
 Nummer 5 lebt!
 Startpartition von W...
 MBX - Mobile Grafik
 Die Grafikfähigkeit...
 Vivid! - PowerVR Gra...
 Videologic Neon 250
 Geforce 6800 - the n...
 Beyond3d
 BluesNews
 Chrome-Center
 Hartware
 Imagination T.
 ParaKnowYa
 Planet 3dNow!
 PowerVR
 PowerVR-Ext.
 PVR Generations
 Tom's Hardware
 Videologic
 VoodooExtreme

3D Center


PowerVR

Imagination Technologies

SGX - PowerVRs Shader-Grafik

Hier kommen jetzt die infinite planes ins Spiel!
Aus dem Dreieck werden für die weiteren Untersuchungen vier Ebene gebildet, eine Ebene bildet die Ebene, in der das Dreieck selbst liegt, die drei anderen Ebenen enthalten die Kanten des Dreiecks und stehen senkrecht auf der Bildschirmebene, der x-y-Ebene.

Mit den Punkten A(xa,ya,za), B(xb,yb,zb) und C(xc,yc,zc) ergeben sich für die Kantenebenen folgende Gleichungen:
  • Ebene AB: (yb-ya)*X + (xa-xb)*Y + (xb*ya-yb*xa)=0
  • Ebene BC: (yc-yb)*X + (xb-xc)*Y + (xc*yb-yc*xb)=0
  • Ebene CA: (ya-yc)*X + (xc-xa)*Y + (xa*yc-ya*xc)=0
Es ist auf jeden Fall zu beachten, dass die Drehrichtung beibehalten wird,
also wie hier im Beispiel Kante(AB), Kante(BC) und Kante(CA).
Die Ebene des Dreiecks läßt sich leicht aus z.B. Kante(AB) und Kante(AC) bestimmen, wir erhalten:

Ebene ABC: nx*X + ny*Y + nz*Z = (nx*xa+ny*ya+nz*za) , wobei

nx = (yb-ya)*(zc-za) – (zb-za)*(yc-ya)
ny = (zb-za)*(xc-xa) – (xb-xa)*(zc-za)
nz = (xb-xa)*(yc-yb) – (yb-ya)*(xc-xa)

Da diese Ebenengleichung nur für die Berechnung der Tiefenwerte (z-Werte) gebraucht wird, stellen wir sie gleich weiter um.

Z = ((nx*xa+ny*ya+nz*za) - (nx*X + ny*Y))/nz

oder

Z = (-nx/nz)*X + (-ny/nz)*Y + (nx*xa+ny*ya+nz*za)/nz

Die Gleichungen für die Ebenen werden genau einmal aufgestellt.
Die Ebenengleichungen für die Kanten haben alle die Form D*X + E*Y + F = 0,
die Ebene des Dreiecks hat die Form G*X + H*Y + J = Z.
Die Werte X und Y sind hier Pixel-Koordinaten (x,y) in der jeweiligen Tile, also z.B. (15,3) entspricht dem 16 Pixel in der 4 Zeile bei einer Zählung beginnend mit (0,0). Alle neuen Konstanten D,E,F,G,H,J werden einmal je Dreieck berechnet.

Seite 1 2 3 4 5 6 7 8 9 10 11 12 13
 SGX - PowerVRs Shader-Grafik
 13 Seiten
 verfasst von loewe
 Sonntag - 04.01.2009 - 18:53 Uhr
[1]  Einleitung
[2]  Die SGX Grafikkerne
[3]  Aufbau des Grafikkerns Teil 1
[4]  Aufbau des Grafikkerns Teil 2
[5]  PowerVR – Die Technologie
[6]  PowerVR - Das HSR Teil 1
[7]  PowerVR - Das HSR Teil 2
[8]  PowerVR - Das HSR Teil 3
[9]  zurück zum SGX
[10]  Intel SCH – SGX535 Teil 1
[11]  Intel SCH – SGX535 Teil 2
[12]  Intel SCH – SGX535 Teil 3
[13]  Fazit