Wie kann ich in OpenGL einen "Nachthimmel" -Effekt erstellen?

10

Ich erstelle ein Spiel mit OpenGL und möchte den Effekt eines Nachthimmels mit ein paar Sternen rendern.

Ich möchte einen glänzenden schwarzen Effekt am Himmel haben, damit er gut aussieht. Könnte jemand helfen, wie man es durchführt, oder einen Link zu einem guten Tutorial geben?

nickte
quelle

Antworten:

11

Typische Ansätze sind Skyboxes oder Skydomes . Bei beiden Techniken wird eine einfache Geometrie erstellt, die immer an einer festen Position relativ zur Ansicht gerendert wird, und eine Textur darauf angewendet. Die Qualität des resultierenden Effekts kann stark von der Qualität des Textur-Artworks abhängen. Wenn Sie also nicht über hervorragende künstlerische Fähigkeiten verfügen, sollten Sie sich für etwas anderes entscheiden. Werkzeuge wie Terragen können jedoch dazu beitragen, anständige Kunst zu produzieren, und diese Frage enthält eine Reihe von Links zu anderen Werkzeugen ähnlicher Art.

Ein weniger offensichtlich kunstabhängiger Ansatz besteht darin, das Ganze prozedural zu machen. Sie können einen auf Scheitelpunkten basierenden Skydome erstellen ( Links und Informationen hier ), mit dem Sie die Farben gemäß einigen empirischen (oder anderen) Modellen für die Himmelsfärbung anpassen können. Das Modell von Preetham und Shirley ist besonders schön , wenn ich mich richtig erinnere.

Sie können dann eine prozedurale Sternfeldgenerierung anwenden , die Sie in der Nähe der Himmelskuppel rendern (möglicherweise als festes Partikelsystem oder durch Textur-Splatting oder was auch immer).

Gemeinschaft
quelle