drawing things on top of my heightmap

Started by
0 comments, last by VladR 10 years, 11 months ago

i'm not good at 3d math (and openGL in general) at all - and i don't really want to learn right now, i just want to get this bit done. there are plenty of tutorials for heightmaps but i can't find examples of drawing an object on top of the heightmap - eg. (1) find the height of a point inside a heightmap cell, translate to that point (2) rotate to align with the cell's plane, so i can draw an object on it (so that the plane's normal is the up direction).

i think (1) should be easy, just adding some vectors. but i'm not sure how to do (2).

i'm not very familiar with glm but i think i should use this to do the math.

i hope i am making sense. any help would be appreciated. thanks :)

Advertisement

1. To get the exact YPOS of the point on a heightmap, a little bit of trigonometry is needed. Try to draw it on a paper from the front and side view and you should come up with the equations pretty easily yourself (it's just a basic trig - sin/cos and pythagoras)

2. You can also do an approximation through lerping - which works well most of the time (unless the difference in slope between two neighbouring tris is too big).

- Calculate the DeltaY1 for points A,B : DeltaY1 = B.YPOS - A.YPOS

- calc. DeltaY2 for points A,C. DeltaY2 = C.YPOS - A.YPOS

- for a point P, on the triangle ABC:

- PctX = (P.XPOS - A.XPOS) / (B.XPOS-A.XPOS)

- PctZ = (P.ZPOS - A.ZPOS) / (B.ZPOS-A.ZPOS)

- Y1 = A.YPOS + PctX*DeltaY1

- Y2 = A.YPOS + PctZ*DeltaY2

- final YPOS = Y1 + (Y2-Y1)/2

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

This topic is closed to new replies.

Advertisement