PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FarCry DX7-Wasser


Gast
2004-03-02, 15:31:04
Ist das Wasser das in FarCry mit DX7-Karten dargestellt wird wirklich das techn. Maximum was mit einer DX7 Karte geht?( außerdem sieht es irgendwie sehr "wellig" aus Warum???) oder hatten die einfach keine Lust das besser zu machen, weil es vielleicht eh zu langsam wäre? könnte man die Spiegelungen des Wassers nicht auch mit CubeMaps machen oder dem StencilBuffer? die Vorschläge sind vielleicht etwas dumm, aber ich hab nicht wirklich viel Ahnung von sowas.

Doomtrain
2004-03-02, 18:43:01
Ich finde das Wasser entäuschend, da es halt keine echte Spiegelungen sind.... Eine DX7 Karte sollte jedoch mit derartigen Darstellungen ans Limit geraten, von der Kapazität her als auch von der Speed....

Warum haben sie nix besseres gemacht? Abwärtskompatibilität? Zu kompliziert? PCs nicht schnelle genug?

Such dir was aus*eg*

Thomas

FeuerHoden
2004-03-02, 22:38:43
1.) Entwickler optimieren generell nicht auf alles was es gibt, sonder auf eine möglichst häufig verbreitete Hardwarepalette.

2.) Es wäre wohl doch zu aufwändig für die DX Karten. Kann mir auch vorstellen dass zuviel von der CPU berechnet werden müsste.



BTW: Amerikanische Autos verbrauchen viel Sprit damit amerikanische Mineralölkonzerne mehr Sprit verkaufen können bzw. Grafikkartenhersteller pushen die Spieleentwicklung um mehr Absatz zu machen. Ist kein Fakt, nur ne Vermutung von mir.

Mr. Lolman
2004-03-02, 22:45:33
Man kann die 'echten' Spiegelungen doch aktivieren...

betasilie
2004-03-02, 22:47:43
Original geschrieben von Doomtrain
Ich finde das Wasser entäuschend, da es halt keine echte Spiegelungen sind....
Nicht rummeckern, wenn man keine Ahnung hat. ;)

Das FarCry-Wasser ist echtes environmental-mapping, also echte Refelektionen. Man kann aussuchen welche Objekte reflektiert werden und welche nicht. Per default wird halt "nur" das Terrain reflektiert, aber natürlich kann man das auch anders einstellen:
http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&postid=1611849#post1611849
Auf diesen Bildern wird alles reflektiert, inkl. Modells, Fahrzeuge und auch Fauna.

betasilie
2004-03-02, 22:49:39
Original geschrieben von FeuerHoden
Kann mir auch vorstellen dass zuviel von der CPU berechnet werden müsste.

EMM ist eine Sache der Grafikkarte und nicht der CPU.

DrumDub
2004-03-03, 12:23:09
Original geschrieben von betareverse
Nicht rummeckern, wenn man keine Ahnung hat. ;)



hallo? er sprach von dem wasser auf dx7-karten. ich weiß zwar nicht, wie das wasser auf denen aussieht, aber es ist natürlich klar, dass mit woclhen karten keine echten spiegelungen dargestellt werden können.

das es mit der dx9-karte geht, haben du und ich ja schon sehen können. ;)

ow
2004-03-03, 12:36:18
.

Demirug
2004-03-03, 12:43:08
Original geschrieben von ow
Seit wann denn das?
AFAIK können mit DX7 Karten echte Spiegelungen berechnet werden.

Nicht wirklich. Enviroment-Bumpmapping bei DX7 Karten ist optional und auch nicht mit dem von DX8 Karten vergleichbar.

ow
2004-03-03, 13:58:46
.

Demirug
2004-03-03, 14:02:41
Original geschrieben von ow
Optional OK, aber worin liegt der Unterschied zu DX8 Karten?
Ich bilde mir jedenfalls ein schon Spiegelungen auf DX7 Karten gesehen zu haben, so zB. in NFSHP2 oder einer älteren CMR Version (CMR 2?).

Die DX7 Variante erlaubt nur das Verechnen von 2D Koordinaten. Bei DX8 funktioniert es dann auch mit echten 3D Koordinaten.

ow
2004-03-03, 14:04:57
.

zeckensack
2004-03-03, 15:03:47
Original geschrieben von ow
Ach so, d.h. es wird also 'korrekter' gespiegelt. Mit "DX7" kann man auch 'korrekt' spiegeln, aber eben nur für einfache Oberflächen.
Einen richtigen Badezimmer-Spiegel mit völlig planer Oberfläche und mehr oder weniger konstanten Reflexionseigenschaften kriegt man auch mit "DX7" sehr gut hin.
Um die Spiegelung aufgrund lokaler Schwankungen der Oberflächeneigenschaften (hier: Wellen) zu verzerren, braucht man dann schon "DX8".
Wenn man dann noch einen Fresnel-Effekt* will, sollte man es mit "DX9" versuchen.

Prinzipiell geht das alles auch mit "DX7", aber nur mit extremen Polycounts. Man kann trivial jeden Pixel Shader in einen (auf der CPU emulierbaren) Vertex Shader verwandeln, indem man ein Dreieck pro Pixel rendert. Sinnvoll ist das für Echtzeitanwendungen natürlich nicht.

*dh dass die Oberfläche in Abhängigkeit vom Betrachtungswinkel (und dadurch auch des Abstands zum Betrachter) stufenlos zwischen "reflektiert" und "ist transparent" wechseln kann. Das wäre das physikalisch korrekte Verhalten für Wasser.

@Topic,
Es ist sinnloss und müssig, immer Wege und Argumente zu suchen, damit man nachher irgendwie behaupten kann "Spiel XY ist DX7!". Das hatten wir schon bei UT2k3. Das läuft auch auf "DX6-Karten", aber es nutzt mehr Features, wenn diese vorhanden sind. Was ist verkehrt daran, wenn Entwickler auch die kleinen Karten noch unterstützen?

betasilie
2004-03-03, 15:42:35
Original geschrieben von DrumDub
hallo? er sprach von dem wasser auf dx7-karten. ich weiß zwar nicht, wie das wasser auf denen aussieht, aber es ist natürlich klar, dass mit woclhen karten keine echten spiegelungen dargestellt werden können.
Achso, mein Fehler. Ich bin bei dem Thema etwas leicht reizbar, weil mir ein paar Vögel hier im Forum vor ein paar Wochen erzählen wollten, dass das Wasser in FC genrell ein Form von Cubemapping ist. Der Sky wird ja auch via CM realisiert, aber der Rest ist halt kein CM. ... Ich habe daher nur 1 Sekunde gelesen und dann erstmal meine Antwort geschrieben. :kratz2:

Zeckensack und Demirug haben ja jetzt schön erklärt, welche Teclevel welche Art von Reflexionen gut darstellen kann.

@Zeckensack
Was ist ein Fresneleffekt? Ist das die Lichtbrechung beim Durchgang durch das medium oder die Halbtransparenz ander Oberfläche?

zeckensack
2004-03-03, 16:01:54
Wenn du "flach" auf eine Wasserfläche schaust, siehst du eine Spiegelung des Himmels (oder was auch immer).
Wenn du "steil" auf Wasser schaust, kannst du durch die Oberfläche glatt hindurchsehen.

Fresnel liefert ein Modell für die Halbtransparenz, das diesen Umstand berücksichtigt. Der Anteil der Spiegelung ist AFAIR sin(phi), oder zumindest etwas ziemlich ähnliches.

edit:
http://physics.nad.ru/Physics/English/rays_txt.htm
http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Fresnel.html

marco42
2004-03-04, 02:44:13
Original geschrieben von zeckensack
Wenn du "flach" auf eine Wasserfläche schaust, siehst du eine Spiegelung des Himmels (oder was auch immer).
Wenn du "steil" auf Wasser schaust, kannst du durch die Oberfläche glatt hindurchsehen.

Fresnel liefert ein Modell für die Halbtransparenz, das diesen Umstand berücksichtigt. Der Anteil der Spiegelung ist AFAIR sin(phi), oder zumindest etwas ziemlich ähnliches.
http://physics.nad.ru/Physics/English/rays_txt.htm
http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Fresnel.html

Wasser ist ein schoenes Beispiel, wo man es aber auch sehr gut sieht ist Papier. Nimm ein gutes Blatt Papier und halte es in Richtung einer Lichtquelle. Jetzt schau auf das Papier und bringe ins immer mehr zwischen dich und die Lichtquelle. Es sollte dabei parallel zu der Linie zwischen dir und dem Licht sein. Um so kleiner der Winkel wird um so mehr nimmt die Reflexion zu. Irgendwann kommt es zur Totalreflexion.

betasilie
2004-03-04, 02:48:58
Original geschrieben von zeckensack
Wenn du "flach" auf eine Wasserfläche schaust, siehst du eine Spiegelung des Himmels (oder was auch immer).
Wenn du "steil" auf Wasser schaust, kannst du durch die Oberfläche glatt hindurchsehen.

Fresnel liefert ein Modell für die Halbtransparenz, das diesen Umstand berücksichtigt. Der Anteil der Spiegelung ist AFAIR sin(phi), oder zumindest etwas ziemlich ähnliches.

edit:
http://physics.nad.ru/Physics/English/rays_txt.htm
http://www-gap.dcs.st-and.ac.uk/~history/Mathematicians/Fresnel.html
Danke für die Erklärung und die Links. Insbesondere der erste ist super. :up: