PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pixelshader - wo Informationen?


ethrandil
2003-10-08, 22:34:36
Hallo,
ich dachte mir, sieh dir doch mal Rendermonkey an, Eth, da kannste ja mal mit rumspielen.
War natürlich nicht so, aber macht ja nix.
Da sind nun so schicke intrinsics in der Sprahe und die main-funktion hat unterschiedliche Aufrufparameter - Auch egal.
Was mich interessiert:

Wie kann man, durch welche Effekte und Vektorenkopplungen, welchen Effekt erzeugen??

Gibts da docs zu? (zu rendermonkey und den intrinsice möglichst auch ;) )

Eth

Aqualon
2003-10-08, 22:51:51
Zu RenderMonkey gibt es eigentlich alle wichtigen Infos direkt bei ATI:

http://www.ati.com/developer/sdk/radeonSDK/html/Tools/RenderMonkey.html

Die Sample Codes (http://www.ati.com/developer/sdk/RADEONSDK/Html/Samples/Samples.html) können dir vielleicht auch weiterhelfen.

Ein Tutorial gibt es unter folgender URL:

http://www.shaderx.com/direct3d.net/tutorials/RenderMonkey%20Movies/1Steps/RenderMonkey.htm

Aqua

ethrandil
2003-10-09, 00:13:47
Hmm, also ich finde da nicht, was ich (primär) siche ...
Meine Fragestellung ist total unabhängig von Rendermonkey, d3d, ogl, maya, 3dsmax ...
All diese Programme ^^ geben die Möglichkeit 'shader' zu programmieren. Ob das nun durch Assembler (d3d, ogl), c-ähnliches (rendermonkey), oder drag, drop and klick (maya, 3dsmax) geschieht ist mir auch völlig egal.

Ich möchte Infos, was man tun muss um bestimmte Dinge hervorzurufen. Beispieltweise, dass Blickvektor * Oberflächennormale * Rot + Materialfarbe den Effekt xyz ergibt.
Ein Wassereffekt hängt ja nun nicht davon ab, wie die Intrinsics bei RM heißen, sondern davon was man denn genau möchte.

hoffe ich hab das verständlich ausgedrückt ...

Eth

Demirug
2003-10-09, 07:48:51
Ein Physikbuch zum Thema optik ist ganz nützlich da es bei Shadern ja immer irgnedwie auch um Beleuchtungsmodele geht.

Zum suchen sind Phong Blinn und Lambert gute stichworte wenn es um Beleuchtungsmodele geht.

Für Prozedurale Texturen sollte man sich auf jeden Fall mal etwas zu Perlin Noise ansehen. Ansonsten ist die Renderman Szene auf diesem Gebiet recht aktiv.

Endorphine
2003-10-09, 09:47:19
Original geschrieben von Demirug
Zum suchen sind Phong Blinn und Lambert gute stichworte wenn es um Beleuchtungsmodele geht. Mal etwas off-topic - n00b-Frage:
Ich hab vor Jahren (~1996) irgendwo mal ein paar Beispiele für 3D-Licht-/Schatten Effekte gesehen, und da war der Phong-Shader der schönste =) Nur stand eben auch gleich unter dem Bild, dass der Rechenaufwand am grössten ist und dass es noch ein sehr weiter Weg ist bis 3D-Grafik Phong-Shading in Echtzeit mit annehmbarer Geschwindigkeit packt.

Ist aktuelle DX9-Hardware also schon in der Lage, Phong-Shading hinreichend schnell in Echtzeit auszuführen? Wann können wir Phong-Shading in Spielen bewundern? ;)

aths
2003-10-09, 10:14:43
Original geschrieben von Endorphine
Wann können wir Phong-Shading in Spielen bewundern? ;)"Echtes" Phong-Shading ist nicht ganz unaufwändig, "Dot3-Shading" (bzw. ~-Bumpmapping) wird es in Doom3 wohl durchgehend geben. Wenn mich nicht alles täuscht, kann man Dot3-Shading als Phong-Shading-Approximation betrachten.

Demirug
2003-10-09, 10:38:23
Doe Phong Formel ist:

Ix = AxKaDx + AttLx [KdDx(N dot L) + KsSx(R dot V)^n]

Ix = result color
Lx = light color
Ax = ambient color
Dx = diffuse color
Sx = specular color
Ka = ambient coefficient
Kd = diffuse coefficient
Ks = specular coefficient
Att = attenuation coefficient
n = usually referred to as "shine" or "roughness"
N = surface normal
L = light vector
R = reflection vector (2N (N dot L) - L)
V = view vector

Im Prinzip muss das alles pro Pixel berechnet werden. Einzelne Teile lassen sich aber unter bestimmten Vorraussetzungen auch vom Vertexshader oder der CPU berechnen oder können komplett entfallen.

Aus diesem Grund hat aths auch recht damit das Dot3 Bumpmapping eine Art von Phong Shading ist. Bei DOOM 3 wird im Prinzip auch mit dieser Grundformel gearbeitet und bestimmte Variablen haben Festwerte und so kann man die Formel etwas optimieren.

Beim ursprünglichen Phong gab es allerdings noch keine Bumpmaps und die normale wurde durch interpolieren der Vertexnormale ermittelt.

DrumDub
2003-10-09, 10:53:20
Original geschrieben von ethrandil
hoffe ich hab das verständlich ausgedrückt ...


hab das gstern durch zufall entdeckt. vielliecht hilfts ja:

http://www.gamedev.net/columns/hardcore/dxshader3/default.asp

Endorphine
2003-10-10, 10:07:51
Danke aths und Demi für die Infos zum Phong Shader http://www.forum-3dcenter.net/vbulletin/images/icons/icon7.gif

Quasar
2003-10-10, 10:53:49
Schau mal bei Humus vorbei, IIRC hat der schon eines oder zwei Phong-Demos gemacht.

aths
2003-10-10, 18:57:22
Afaik hat ATI mal damit geworben, dass PS.1.4 single pass phong shading ermöglichen würde.

DocEW
2003-10-16, 23:58:28
Original geschrieben von ethrandil
Ich möchte Infos, was man tun muss um bestimmte Dinge hervorzurufen. Beispieltweise, dass Blickvektor * Oberflächennormale * Rot + Materialfarbe den Effekt xyz ergibt.
Schau dir mal das hier an
http://www.ati.com/developer/ATI_EGDC_AdvancedShaders.pdf ,
da steht eine Menge drin und kommt glaube ich dem was du suchst ziemlich nah.

Gruß,

DocEW