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

1

17.10.2003, 15:17

Terrain rendern - Bsp.: tbDirect3D

Hallo Leute,

Hab ein Problem beim Rendern des Terrains:

Ich möchte gern ein Terrain erstellen wie es in Davids Beispiel 03-01 tbDirect3D gemacht wird.
(Hab den Quellcode kopiert und wie folgt implementiert:)
http://daclan.strikenet.at/Aurenvar/Terrain.cpp
http://daclan.strikenet.at/Aurenvar/Terrain.h

Wenn ich mein Programm läuft seh ich gar nix. hab ich die Renderstates falsch gesetzt?
Die Vertex- und Indexdaten hab ich in eine Datei geschrieben und kontrolliert. Die müssten passen!!!
BeginScene()
und
EndScene()
werden in anderen Klassen aufgerufen (Schachtelung)

Bin für jeden Rat dankbar. :roll: :roll:
mfG
da_oAsch

2

17.10.2003, 15:19

hier noch die Buffer Protokolldatei:

http://daclan.strikenet.at/Aurenvar/Buffers.txt

Das Terrain hat eine Auflösung von 256x256 (aus heightmap)

die Höhendaten werden noch nicht verwendet (y=-0.5f)

3

17.10.2003, 15:21

und noch eine kleine Nachtragsfrage:

Wie erstellt ihr eigentlich euer Terrain und eure Maps?

Und:

Wie plaziert ihr eure Objekte darauf?
(Gibts da Programme?)

4

17.10.2003, 20:11

aHHHHHHHH ich spring gleich ???
ich spring ich spring ich spring !!!!!!!!

Ich weiß absolut nicht mehr weiter.
Bei David gehts, und bei mir nicht!????
WAAAARUUUUUMMMMM??????

Könnte mir wer bitte seinen Code zum Terraingenerieren (mit Heightmaps) geben?

Sonst bekomm ich heute noch graue Haare

BIIIIIITTTTEEEEE !!!! *heuuuuul* ARGHHHHHH

euer verzweifelter oasch

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

17.10.2003, 21:26

"Ich sehe nix!" ist ein sehr häufiges Problem... leere mal den Back-Buffer mit roter Farbe oder so. Vielleicht sieht man dann die Landschaft (falls sie schwarz sein sollte, auf Grund fehlender Beleuchtung etc.). Oder schalte mal das Culling aus. Und ist die Kamera auch richtig eingestellt? Guckt sie möglicherweise irgendwohin, wo das Terrain garnicht ist?

6

17.10.2003, 22:56

Ich hatte zu Anfang immer das Problem daß das Terrain zu hoch war und ich so nischt sehen konnte. Las auch mal das Indizieren weg. Ich hab im Moment z.B. das Problem das ich mit Indizierten Vertice nischt sehe, aber ohne geht alles Wunderbar.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

7

18.10.2003, 11:36

@David

wie leere ich den Back-Buffer und gib ihm ne rote Farbe?
-Cullmode ist auf Cullnone
-Die Camera ist steuerbar (habs ja schon mit einem tbModel an der selben stelle zum zeichnen probiert und habs auch gesehn!)

@DragonMaster
laut Testdatei passt die Höhe des Terrains
das mit der Indizierung muss ich noch ausprobieren....
(ist schon ein wenig kompliziert umzuschreiben oder?)

@beide:
Was ist eigentlich besser (Performance, Handhabbar, ...):
mit einer Heightmap das Terrain erstellen, oder für das Terrain
ein Modell verwenden?

Grüße, da_oAsch

NoName

Treue Seele

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

8

18.10.2003, 12:17

Quellcode

1
2
3
4
5
6
7
8
9
10
PDIRECT3DDEVICE9 pDevice;

// ...

pDevice->Clear (0,                     //Der ganze Bildpuffer soll geleert werden
                NULL,                  // "
                D3DCLEAR_TARGET,       //Nur der Bildpuffer soll geleert werden
                tbColor (1.f, 0, 0),   //Farbe, die der Bildpuffers bekommen soll
                0,                     //Nur für Z-Buffer notwenig
                0);                    //Nur für Stencil-Buffer notwendig

9

18.10.2003, 13:02

Eine Hightmap ist einfacher zu Handhaben. Vor allem braucht es viel weniger Speicherplatz und man muss keinen Modeller haben der einem das Terrain erstellt.

Am besten wäre noch wenn du einen PerlinNoise Algo nimmst. Dieser erzeugt dann für dich die Hightmap. Hab ihn vor kurzem Implementiert, ist aber nicht ganz einfach. Must mal auf GameDev schaun, da gibt es ein paar gute Tutorials dazu.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

10

20.10.2003, 12:12

hat nix geholfen
(andere objekte lassen sich ja auch zeichnen)

kann es vielleicht an den Normalvektoren liegen:
z.B.: Wenn diese (0,0,0) sind das nix gezeichnet wird oder so???

Werd jetzt die ganze Sache noch mal schritt für schritt von vorne progen
(zuerst ein dreieck .... dann vielleicht sogar schon ein viereck, u.s.w. ;p )

Werbeanzeige