Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

26.05.2014, 12:01

Zitat

Man kann einfach ein Fullscreen-Quad zeichnen und via Pixelposition, Betrachterorientierung und Kameraeinstellungen zurückrechnen


Oha! Die arme GPU :( Am besten dann noch schön für jedes Fragment mit Trigonometriefunktionen, Wurzeln und Brüchen rumhantieren :P

Für sowas ist und bleibt die Interpolation und damit der SkyDome unabdingbar ;)


@Topic: Was passiert denn, wenn du dich in die Mitte des Domes stellst (also näher an die "schlechten Pixel" ran)? Oder stehst du sogar schon in der Mitte?
Ich kenne viele AAA Titel, die kein SkyEllipsoid (oder wie auch immer man es machen und benennen möchte) um die ganze Welt machen, sondern einfach um die Kamera und diese darin zentrieren und fixieren. Da spart man sich dann die Mühe um irgendwelche Artefakte bei unterschiedlichen Positionen.
EnvisionGame(); EnableGame(); AchieveGame(); - Visionen kann man viele haben. Sie umzusetzen und auf das Ergebnis stolz zu sein ist die eigentliche Kunst.

12

26.05.2014, 12:06

Such mal nach „performance gap between cpu and memory“ ;) Pixel Shader sind fast nie ALU-Bound. Polarkoordinaten aus einem Full-Screen-Quad habe ich schon 2005 gemacht, und schon da war es schnell genug. Bei der vorberechneten Version würden die Shader-Einheiten viel mehr Daten zu verarbeiten haben und dabei bloß die ganze Zeit leerlaufen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Krishty« (26.05.2014, 12:24)


DaiFei

Frischling

  • »DaiFei« ist der Autor dieses Themas

Beiträge: 28

Wohnort: München

  • Private Nachricht senden

13

26.05.2014, 12:53

Erst mal vielen Dank für die Antworten und Anregungen!

@unbird:
Ich bastle diese SkyDome (noch) ohne konkreten Verwendungszweck und sie ist einfach Teil meiner Engine. Daher kann auch nicht gesagt werden, wohin man normalerweise schaut. Letztlich vermute ich aber, dass es der Horizont ist, welcher dem Spieler/Benutzer zumeist sein Antlitz entgegen wirft. Danke auch für den Link! Werde mir den zwecks möglicher Optimierungsmöglichkeiten einmal naher ansehen.

@iSmokiieZz
Ich habe normalerweise eine komplette Halbkugel (mit Radius zwischen 1 und 2), deren Mitte sich immerzu mit der Kamera mit bewegt, jedoch nicht mit dreht. Die seltsame Ansicht auf den Screenshots resultiert aus der deaktivierten "Verfolgung" der Kamera, um den Sachverhalt einmal deutlicher darzustellen.
Die schwarzen Pixel sind (natürlich mit Ausnahme ihres von DirectX generierten Zoomwertes) immerzu gleich. Eigentlich ist es ein "schönes Bild", bei dem nichts flackert oder sonst wie verwischt/verschwommen aussieht. Eine Bewegung ändert nichts am Gesamtbild.

Es ist nun so, dass ich bereits vor längerer Zeit SkyBoxes sowie SkyDomes mit rechteckigen Texturen implementiert habe und auch alles prima funktioniert. Als ich jedoch neulich auf solche „spherical maps“ gestoßen bin, wollte ich einfach mal versuchen, einen SkyDome mit einer solchen aufzuziehen. Das ist so ziemlich mein erster Versuch und die ganze Angelegenheit kommt daher auch ohne Shader, MipMaps oder ähnlichem daher (auch wenn vielleicht genau das, das Problem ausmacht).

Werbeanzeige