3D Darstellung eines Höhen-Felds (Height Map)

Previous topic - Next topic

WPShadow

Ich meine ja eigentlich Gernots dynamischen Boden. Der läßt sich dummerweise nicht so einfach texturieren. Jedes Kästchen gilt da als eigenes Objekt und bekommt die selbe Textur.

Ich dachte mir nämlich, daß man da den Boden mit einer Schleife auslesen und je nach Gebrauch umwandeln könnte. Außerdem bietet er die Möglichkeit den Boden zu aktualisieren und neu zu zeichnen. Das würde ungeahnte Möglichkeiten eröffnen.

An den Texturen happert es bisher!
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Kitty Hello

Wie? Was? Welcher Boden von mir? Wenn man Boden mit X_OBJADDVERTEX macht, kann man doch tx, ty angeben.

WPShadow

Also Gernot, ich meine es so:

Der Boden, der ja mit X_OBJADDVERTEX erzeugt wird, besteht ja aus einzelnen Platten. Ich würde jetzt die Textur gerne über das gesamte Objekt legen, also über alle Platten gemeinsam und nicht nur über die einzelnen Platten. Das würde es sehr viel einfacher machen.

Gibt es da einen Weg?
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Kitty Hello

ja klar. Einfach die tx,ty Werte richtig angeben. Die dürfen ja auch >1 sein. Wenn Du für tx=x und ty=y angibtst, dann ist's als ob Du die Textur von oben über das Land projezierst.

WPShadow

#19
Original:

X_OBJADDVERTEX x+pts[a][0]/2,pts[a][2],y+pts[a][1]/2, pts[a][0]/2+.5, pts[a][1]/2+.5,cl

wird zu:

X_OBJADDVERTEX x+pts[a][0]/2,pts[a][2],y+pts[a][1]/2, x, y,cl

oder
Code (glbasic) Select

X_OBJADDVERTEX x+pts[a][0]/2,pts[a][2],y+pts[a][1]/2, 0, 0,cl
X_OBJADDVERTEX x+pts[b][0]/2,pts[b][2],y+pts[b][1]/2, 15, 0,cl
X_OBJADDVERTEX x+pts[c][0]/2,pts[c][2],y+pts[c][1]/2, 15, 10,cl
X_OBJADDVERTEX x+pts[d][0]/2,pts[d][2],y+pts[d][1]/2, 0, 10,cl

(Funktioniert übrigens auch nicht richtig...)

???

Hab ich das so richtig verstanden?
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Schranz0r

Machs so:


Code (glbasic) Select

FUNCTION AddQuad: pts[], x,y,a,b,c,d

// here we build a triangle stipped quad
// for the points a,b,c,d
// we divide coordinates by 2, so we get a
// rectangle of size 1x1 (-0.5 -> 0.5)
// for the texture we divide by 2 and add 0.5
// (0.0 -> 1.0)
// last: we swap y and z, since y is vertical in GLBasic
LOCAL cl
cl =RGB(255,255,255)
// X_OBJADDVERTEX x+pts[a][0]/2,pts[a][2],y+pts[a][1]/2, pts[a][0]/2+.5, pts[a][1]/2+.5,cl
// X_OBJADDVERTEX x+pts[b][0]/2,pts[b][2],y+pts[b][1]/2, pts[b][0]/2+.5, pts[b][1]/2+.5,cl
// X_OBJADDVERTEX x+pts[c][0]/2,pts[c][2],y+pts[c][1]/2, pts[c][0]/2+.5, pts[c][1]/2+.5,cl
// X_OBJADDVERTEX x+pts[d][0]/2,pts[d][2],y+pts[d][1]/2, pts[d][0]/2+.5, pts[d][1]/2+.5,cl


X_OBJADDVERTEX x+pts[a][0]/2,pts[a][2],y+pts[a][1]/2, (x+pts[a][0]/2) / 15, (y+pts[a][1]/2) / 10,cl
X_OBJADDVERTEX x+pts[b][0]/2,pts[b][2],y+pts[b][1]/2, (x+pts[b][0]/2) / 15, (y+pts[b][1]/2) / 10,cl
X_OBJADDVERTEX x+pts[c][0]/2,pts[c][2],y+pts[c][1]/2, (x+pts[c][0]/2) / 15, (y+pts[c][1]/2) / 10,cl
X_OBJADDVERTEX x+pts[d][0]/2,pts[d][2],y+pts[d][1]/2, (x+pts[d][0]/2) / 15, (y+pts[d][1]/2) / 10,cl

X_OBJNEWGROUP
ENDFUNCTION


I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

WPShadow

#21
Danke! Perfekte Lösung!

Hier der 1. Test! Höhen sind noch Zufallsgeneriert!

[attachment deleted by admin]
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Schranz0r

Ja.... Doch... Ja... Sehr schick !  :good:
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Sebastian

So, und jetzt büdde noch ein Screenshot mit Dot3 Mapping  =D

Kitty Hello

Hallo Sebastian, schön dass Du wieder da bist.

Sebastian

:offtopic:
Hallo Gernot!
Ja, und wie du bestimmt weisst sogar mit "richtiger" Lizenz etc.  :lol:
:offtopic:

Evtl. "leih" ich mir diesen Terrain Code mal aus. Ich glaube, dass man damit ziemlich coole Sachen anstellen kann...  :nw:

WPShadow

Glaube ich auch! Hoffentlich deine Idee auch, denn meine hackt noch etwas bei der Umsetzung...  :giveup:
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

JohnnyB

Is there a way to let me calculate the position(x,y,z) where I click on that height object?