Suchergebnisse
Suchergebnisse 1-5 von insgesamt 5.
Hallo Spieleprogrammierer, Ich habe mich die letzten Jahre für die Technik hinter Spielen interessiert. Einige Techniken habe ich separat voneinander implementiert. Ein paar davon habe ich jetzt in einer TechDemo zusammengeworfen, um das Zusammenspiel und ihre Einsatzfähigkeit zu testen. Herausgekommen ist ein kleiner Spaceshooter in 3D. Diesen möchte ich euch hiermit zum Download zur Verfügung stellen. Die Demo verwendet DirectX und OpenAL. Systemanforderungen: - Windows mit DirectX 9 - Grafikk...
Das Problem ist, dass du bei der Funktion CVertexBuffer::Lock einen Zeiger übergibst. Beim Aufruf von Lock wird eine Kopie des Zeigers LockedArea erstellt und innerhalb von Lock auf den Speicherbereich des VertexBuffers gesetzt und die Kopie dann zerstört. Da du LockedArea mit 0 initialisiert hast, rufst du memcpy mit der Zieladresse 0 auf. Lock muss ein void** übergeben werden, also: CVertexBuffer::Lock(void** ppLockedArea) und Verwendung VertexBuffer.Lock(&LockedArea); Gruss Gameco
Zitat von »"BlazeX"« Hast du schonmal testweise den Radius der Atmosphäre vergrößert? Wenn ich den Radius der Atmosphäre im Verhältnis zum Planetenradius vergrössere, müsste ich die Werte für die "optische Tiefe" (optical depth) in alle Richtungen von verschiedenen Höhen neu berechnen. Ich könnte also nicht mehr die scale-Funktion dafür verwenden. Was ich schon gemacht habe, ist für den Planetenradius verschiedene Werte zu verwenden. Darunter auch 10.0 wie O'Neil. Aber da hat sich nichts am Pro...
Hallo, Ich versuche mich momentan an einer Implementierung von Sean O'Neils Scattering (Artikel , Quellcode). Er hat es mittels OpenGL und GLSL/Cg geschrieben. Ich benutze DirectX und HLSL. Ich beschränke mich dabei auf das Zeichnen eines Planeten aus dem Weltall, also Planetenoberfläche + Atmosphäre. Das Zeichnen der Planetenoberfläche (GroundFromSpace) funktioniert. Aber das Darstellen der Atmosphäre (SkyFromSpace) leider nicht. Im nachfolgenden Bild habe ich die Planetenoberfläche schwarz gez...
Die untransformierte Vertexposition muss mit der Weltmatrix des Objektes multipliziert werden, zu der der Vertex gehört. Damit wird er in den Worldspace gebracht. Danach muss er mit der Sicht- und Projektionsmatrix des Lichts transformiert werden. Nach einer Division der daraus resultierenden xy-Koordinaten durch die w-Koordinate kannst du die Formeln anwenden, die in den letzten beiden Zeilen deines Quelltextes stehen.