开发者

How to draw the heightmap onto the screen?

开发者 https://www.devze.com 2023-03-31 16:28 出处:网络
I\'m using DirectX10 to simulate a water surface, and I\'m now with a height map,which is a 2D array of the heights(y) at the points (x,z). But to draw it on the screen, I must turn it into a mesh or

I'm using DirectX10 to simulate a water surface, and I'm now with a height map,which is a 2D array of the heights(y) at the points (x,z). But to draw it on the screen, I must turn it into a mesh or have a index to draw triangle topology.

But the data is too large to do it manually. Are there any methods for me to draw it on the screen. I hope it's easy to implement. If there is function included in DirectX10 which can make it, the i开发者_StackOverflow中文版t's the best one for me.


Create a mesh that format a grid of squares (each made of two triangles) and set all vertices y = 0. In the vertex shader sample the heightmap and add the value stored in the heightmap to the y of the vertice.

This might help you.

P.S: If the area you want it to cover is too big you should take a look at terrain LOD techniques (should work the same for water).


I'm sure you can make a mesh out of it. I doubt you can generate the heightmap for a water surface that is too large to "meshify".

Why are you looking at Diamond square. For a 512x512 heightmap all you need to do is define a set of point and then generate the triangles for it. Its really very simple.

0

精彩评论

暂无评论...
验证码 换一张
取 消