Irrlicht Engine >>> 2 Fragen bezüglich Terrain/Map

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Beitrag von xperience2003 »

schau mal ob irrlicht ne spezielle function hat um auf die heightmap zuzugreifen.
hat sie nicht, aber kein problem
bau dir nen simples prog das mit point() den rgb-wert , sprich
terrainhoehe ausliesst und speicher es in einer datei

(is irgentwo egal ob man ein terrain laden muss, oder ein terrain und
ein 2 dimensionales array der punkt-hoehen ^^)
amiga rulez...
Rebirth Software
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

jain... wenn ich gerne ne riesenkarte verwenden möchte wärs schon ein unterschied ob ich 64 oder 128 MB verbrate für die map...

die HeightMap muss doch irgendwo im speicher liegen, damit Irrlicht drauf zugreifen kann.
also kann ich das doch auch per pointer auslesen, ist doch schlichte logik.
ich sehe keinen gewinn darin, eine grafik 2x zu laden.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Beitrag von xperience2003 »

neja^^
wenn ich gerne ne riesenkarte verwenden möchte wärs schon ein unterschied ob ich 64 oder 128 MB verbrate
irrlicht unterstuetzt nur 256x256 pixel highmaps...wer auch was groesseres braucht, sollte seine levels ehh anders aufbauen

aber die idee mit dem pointer ist gut, muesste man halt nur die struktur im speicher kennen
koennte aber probleme geben wegen dem lod system
bei der highmap sind nie alle polys gerendert
amiga rulez...
Rebirth Software
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> irrlicht unterstuetzt nur 256x256 pixel highmaps...

hö? das is doch nich dein ernst...


> koennte aber probleme geben wegen dem lod system
> bei der highmap sind nie alle polys gerendert

aber auch nur in solche einer erfernnung, dass dann auch der
höhenwert nicht mehr exakt zu sein braucht.


nuja... da ich die meisten dinge eh etwas anders brauche, werde ich mir wohl ne eigene engine schreiben müssen...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

Um nochmal auf die Berechnungssache zurückzukommen, so hatte ich das gedacht:

Bild

Rechnung für die Höhe exakt in der Mitte der 4 Punkte:

E = (A-B):2
F = (D-C):2
X = (E-F):2

Zusammengefasst:
X = ((A-B):2)-((D-C):2)



Rechnung für die Höhe an einer beliebigen X-Y Koordinate zwischen den 4 Punkten:

E = Arithmetisches Mittel von A und B im Verhältnis von g zu h
F = Arithmetisches Mittel von C und D im Verhältnis von i zu j
X = Arithmetisches Mittel von E und F im Verhältnis von k zu l

Zusammengefasst:
X = AM(E, F) im Verhältnis von k zu l

Also, wenn das stimmt, dann kann ich mich einen Keks freuen! :D Wenn nicht, wird meine 5 in Mathe nur wieder bestätigt... -.-°
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

freu dir'n keks. :D

...abgesehen davon, dass du bei beiden zusammenfassungen mist gebaut hast,
die ausführlichen versionen sind völlig korrekt.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

Hö, cool! Endlich mal etwas gebacken gekriegt...

Ich habe gerade noch mal so WoW gezockt (natürlich auf einem kostenlosen Privatserver, ich bin doch nicht blöd), und das sieht dort genau nach einem Terrain aus, was dort benutzt wird. Wenn ich da auf spitzen Hügeln stehe, sehe ich die quadrate die typisch sind für ein Terrain...
Aber da die Welt so fett ist, wie machen die das? (Also vom Speicher her. Schon allein die Textur, wie soll das denn gehen? So eine große Bilddatei und die Heightmap ...) So Teilterrains, die immer je nach dem ob man sich ihnen nähert oder entfernt geladen oder befreit werden? Naja, ok, das will ich nich haben, interessiert halt bloß so am Rande...

Jedenfalls, wenn ich ein Terrain lade, dann ist der Abstand zwischen einer X-Y Koordinate auf dem Terrain, also der Abstand zwischen zwei Höhenpunkten, immer eine Welt-korrdinaten-einheit? (Wenn ich das Terrain nicht neu skaliere, sondern in originalgröße beibehalte)
Weil das mit dem ermitteln welchen Pixel ich nun mit Point() unter die Lupe nehmen soll, hab ich noch nicht ganz begriffen. Bzw., woher ich weiß, welchen ich nehmen soll.

Edit:
Stimmt das, dass Irrlicht nur 256² Terrains kann?

2.Edit:
Hier, gibtz noch was zu glotzen:
Bild

Das mit den 256² Terrains ist eigentlich nich schlimm... man kann sie ja zum Glück strecken und die Textur etwas hochschrauben, dann passt das auch wieder.
Ich benutze auf dem Bild immernoch das Beispiel Terrain von Irrlicht. <) Die Textur auch, hab sie bloß grün gemacht.
Wie kriege ich eigentlich höherauflösende Skyboxes als 256² hin?

3. Edit = Nicht "Sprites", sondern "Skyboxes".
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

nuja... da ich die meisten dinge eh etwas anders brauche, werde ich mir wohl ne eigene engine schreiben müssen...
ah! du bist auch einer der gern mit sechseckigen Rädern spielt ... :mrgreen:

Wollte das Rad auch neu erfinden bis ich mich mal in die 3D Materie eingearbeitet hatte ;)

*g* Thalius
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

kommt immer drauf an, was man machen will....

die meisten engines sind anscheinend drauf ausgerichtet, nen standard-shoter korrekt zu verarbeiten...

wenn du wirklich was besonderes haben willst, musst du selber schreiben.

grad in bezug auf dynamischen LOD oder darstellung komplexerer HeightFields
sind die handelsüblichen Engines nicht sehr flexibel.

aber die basis, openGL oder D3D, kann viel viel mehr....

also.... wenn du nen pannekuche bagge wills, nimm was da is,
aber wenn du ein dinner planst, machs selber... ;)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten