Einzelnen Beitrag anzeigen
Alt 08.10.2008, 09:36   #1009 (permalink)
flickflack
His Awesomeness!
10 Jahre hx3
5000 Beiträge
 
Benutzerbild von flickflack
 
Registriert seit: 25.07.2006
Ort: Regnum Borussiae
Beiträge: 9.282
Standard

Jap, man bräuchte es nur erweitern und zwar wieder an meiner Lieblingsstelle, den Shadern, die ja für Transform/Lighting/Texturing/Mapping verantwortlich sind. Und dann bräuchte man nur Zustände auswerten und entsprechend Mappen. Dass wäre in HLSL-Shadern einfach steuerbar über ne Technique, die man ausserhalb der Shader im Programmcode (Displayloop) zündet...Aus die Maus:

[C++]

// m_pEffect Instanz eines Shaderobjekts
switch (optics) {

case 1 /* FLIR */:
m_pEffect-> SetTechnique(“FLIRVISION");
break;

case 2 /* RESTLICHT */:
m_pEffect-> SetTechnique(“NVISION");
break;

case 3 /* RÖNTGEN */:
m_pEffect-> SetTechnique(“RGVISION");
break;

default:
m_pEffect-> SetTechnique(“NORMALVISION");
break;
}

[/C++]

Im Shader würde man jeder Technique jetzt ne andere Renderfunktion zuweisen, in der die Lichtformeln angepasst sind. So kann man Lichtquellen ein- oder eben ausschliessen. Bei FLIR/WBG bräuchte es bspw kein diffuses Lighting der Punktlichter im Raum, weil die "Leuchtkraft" des Pixels/Texels durch den Wärmekoeffizienten und die Polarisation der Optik besimmt wird, also wird der diffuse Faktor der Umgebungsbeleuchtung (Hemisphärenlicht, Sonne etc.) in der Lichtgleichung einfach missachtet und die endgültige Farbe des Pixels ohne diesen Faktor berechnet. usw. usf.

Richtige Photonen durch die Gegend zu ballern oder alles Raytracing zu unterziehen ist atm nicht wirklich in RT-möglich. Zumindest nicht bei der Szenengröße und Fülle.
flickflack ist offline