How to render terrain as lines

Hi all!
I need some help with this: how to render a terrain with lines?
I have these these points extracted via qgis, and now I have a lot of closed curves, and a lot of opened ones.
I’d like to render each curve as a line.
I had a look at Line (Ex9.Geometry), but although maybe I don’t need it live, the performances are meh; it looks better than Line (DX11), which breaks\splits corners, but much slower (~ 40.000 points @ 8 fps versus ~ 30 fps).
Simplify curves is out of discussion (performance wise).

I tried the new bezier nodes, but I’m a little depressed.
The 3d source xml can’t be found (maybe it’s just a windows search limitation). I also found this thread, but it seems that the promised nodes didn’t make it to the beta.

Thank you all

have you try LineStrip dx11?
you need to provide some actual data sample, without it will be hard to help

So it turns out Line (Ex9.Geometry) helppatch does not make use of the actual Line (Ex9.Geometry) node, but a legacy one. Thus the framerate drop (instead with “legit” node, perfs are similar to dx11). And yes, it breaks\splits corners too.

Attached the points. It’s still messy, since I have to separate them for each curve, also the coordinate system is not XYZ but XZY, and elevation (file’s last element per line, AKA Y in XZY) is out of scale too, furthermore some data are missing and curves must be manually fixed, but it still gives an idea.

I haven’t been able to see any AA with the constant fx.

The visual idea is: “lines” defining every curve.
With “lines” I mean a graphic element that is subject to perspective (near bigger, far smaller), but in “LookAt…” flavor, that has not broken\split corners, adjustable width: a real world example could be a round tube (using such a tube mesh would be such a mesh, since it would be around ~1500000 polys).

I also found this contribution, but it’s dx9 and 2d only; anyway think about this, but 3d.

Line (Ex9|Dx11) does this, except for those ugly corners. Thus Bezier nodes could be of some help, but I be damned if I got how to use them.

points.zip (247.3 KB)

@h99 can you upload the parser also, or do an isolated demo with it all working

So after fiddling with it a lot, I managed to reduce the polys of a mesh (with external 3d editor) enough to make it not too much heavy to use a collada (fbx and obj, can’t get assimp to digest them).

@antokhio

can you upload the parser also

I don’t understand what you mean by parser: do you mean the code from qgis to point array? That’s a python script (vvvv, or better, my vvvv patching seems to not manage very well “massive” [13.5 MB, but at some point near to 1000000 lines] text files processing [I mean… reader → separate → substitute → substitute → substitute → separate → …: it often crashes, x86 or not]), very basic, which splits, substitutes and order stuff… quite ordinary code, but not perfect still (I was eager to put the points in vvvv :D:D:D).

an isolated demo with it all working

As soon as I get the real point sequence I’ll post it here, if this is what you mean.

@antokhio

So here are the points (each line a point).

But I still don’t want to use the collada\assimp… way.

I’ve seen into Centroid (3d Buffer) from Instance Noodles the Wireframe (Dx11.Effect) node. I thought it could be fed with a GeometryBuffer (DX11.Geometry Join).
Using Wireframe inside GeometryBuffer Helppatch in place of Constant, throws a warning\error in tty, which gets stopped if InputElement is set to Pos3Norm3Tex2 (or Pos4Norm3Tex2), but anyway nothing is shown in Renderer.

Could anyone lend a hand, please?

vvvv.zip (268.6 KB)

Man, you should really post your patches with place where you stuck not only plain txt ;]

Right, you’re right.
terrain.zip (272.6 KB)

Do you manage to get a nice result with wireframe?

there you go anti-aliased lineterrain.v4p (20.5 KB)

Ah thank you, but I need it with wireframe, which has the chance to set a width…
I thought that there would be the chance to draw a “tube” from a spline in dx11

Totally forgot about Resample, which is really useful in this scenario.

You can look on the spline from noodles it’s so far best one

Exactly.
SplineBuffered (DX11.Geometry) fron Instance Noodles does points interpolation, has adj. radius; for this kind of things Control Point Count must be = the total number of points (per spline, I guess, since it seems spreadable).

EDIT:
Nope. There’s no node combination that will let you manage an arbitrary number of splines, each with an arbitrary number of points with an open\closed condition. At least I could find it.

I’ll leave the gif anyway 'cause it’s funny.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.