chunked lod

Started by
13 comments, last by Krohm 11 years, 8 months ago
I think the best advantage of this over chunked lod is you don't have to worry about cracks.
That is an over-approximation. Crack fixing is implemented in the algorithm via morphing. Again, this is a rather orthogonal problem. No terrain algorithm in wide use has demostrated to be incompatible with crack-fixing so far. Therefore, take any possible algorithm and put in crack-fixing: no cracks will occur as well!
The statistics you got mean nothing: I know nothing about your hardware, but it's worth noticing you have said performance is similar. Perhaps it's just me but I think there are some similarities between your original chunked LOD paper and CDLOD.

Additional considerations:
Page 14.
In the case of older graphics cards (Shader Model 2 or lower), the heightmap sampling in the vertex shader can be too costly or even impossible due to the lack of hardware capabilities.[/quote]It should read: In the case of older graphics cards (Shader Model 2 or lower), texture sampling functionality in the vertex shader is not supported. Therefore the algorithm cannot run.

But of course I am still open to check it again. Did you use the default settings or did you made your own configs? In the latter case, could you please send them to me for testing?
By the way, I still don't understand from where the "Continuous" in "CDLOD" comes from. Interpolating discretized signals don't make them continuous, although it might appear so.

I want to make clear. I am open on that. If I'm wrong, I will have no problem in admitting it. One of the reasons I write there is to check what I know. If somebody helps me understand and considers my points good. Until that happens, I'm sorry but I'll remain on my position. This algorithm usefulness is unproven for me. What does it buys over other methods? I don't know in theory and I cannot observe consistent advantages in practice. So I have no real reason to support this.

Previously "Krohm"

Advertisement

That is an over-approximation. Crack fixing is implemented in the algorithm via morphing. Again, this is a rather orthogonal problem. No terrain algorithm in wide use has demostrated to be incompatible with crack-fixing so far. Therefore, take any possible algorithm and put in crack-fixing: no cracks will occur as well!

Chunked lod uses morphing too and it uses skirts to fix cracks. But with cdlod you don't need to create skirts.


I know nothing about your hardware

My specs are: geforce gtx 580, i7-2600k and 8gb ram


Did you use the default settings or did you made your own configs?

Yes I used codes that are provided by the owner of papers and used the default settings on both(With one difference that I mention below). And I should mention this too. There are two cdlod projects one is using paging and one is not(which are both belong to Filip Strugar). I am using the one without paging and his tests in the paper are from the one that uses paging. He mentions that he is using more compressed node structure for paging one so its performance might be different.

And one last thing to add. I used binaries for chunked lod but I used debug build from the visual studio for cdlod so before posting this I compiled a release build for cdlod and its performance was a lot better. I got 630fps for the same scene.

Again, I am not an expert so I am not defending either one. I started implementing cdlod just because I had problems implementing chunked lod and I just want to know if I am making a mistake :).
Chunked lod uses morphing too and it uses skirts to fix cracks. But with cdlod you don't need to create skirts.
I don't care about how the cracks are fixed. Use a morphing scheme, use skirts, it's no problem for me and saving a batch does not save much until profiling proves so. I don't see any added in not using skirts. And again, who says you have to use the original morphing scheme for chunked?

As a side note, the chunk LOD paper you originally noted uses morphing as a way to reduce popping from a node changing into its children, not to deal with adjacent chunks. It's called the same but it involves fairly different concepts. CDLOD many years later can afford to do per-vertex operations and uses them to deal with adjacent chunks. It then basically designates a set of vertices (odd) to be "movable" and uses a vertex attribute to move those vertices{1}, relying on texture fetch to perform the interpolation halving sampling frequency at bounduary{2}. I had some quite bad experience with this method in the past (way before CDLOD surfaced) due to variable-frequency sampling issues. I am thus reluctant to recommend this algorithm and again, I have some yellow lights about possible overhype.

My specs are: geforce gtx 580, i7-2600k and 8gb ram ... its performance was a lot better. I got 630fps for the same scene.[/quote]Awesome. We can now safely assert CDLOD reaches high performance on high-end hardware.
630 fps --> 1.58ms (87.2%)
550 fps --> 1.81ms
I don't see anything being "much higher" (the algorithm is GPU-driven). Any measurements above 200fps is to be taken with extra care. As a side note, on your hardware simple bruteforce will likely exceed 400fps as well (my geforce4 on an Athlon 1800+ used to churn along 64*1024 unique vertices at over 80 fps even in debug mode).

I'm afraid you might be focusing too much on those. I want to warn you because I spent close to a year on this, and it has been wasted effort for me.
John Carmack on Quake Wars
John Carmack: Level of detail wise, the terrain does not render with any sophisticated geometry morphing situation. That's one of those things that for years I think most of the research that's gone into has been wasted. Geometry level of detail on terrain.. there have been thousands of papers written about it, and I honestly don't think it's all that important. The way the hardware works, you're so much better off setting down a static mesh that's all in vertex and index buffers, and just letting the hardware plow through it, rather than going through and having the CPU attempt to do some really clever cross blended interpolation of vertices.[/quote]So don't spend too much effort on it. Optimize your life. For another metric of how interesting terrain algorithms are, see the number of third-party opinions we collected. To say it again: I am willing to (re)consider any algorithm as long as I can have an articulated discussion of the pros and cons.
As a side note, the only project in which I have been requested terrain has been shut down prematurely. As it stands now, my current system still has no integrated terrain system, so my effort has been completely wasted.

{1} to be completely honest, I think having the morph function work in world space is not the best option. But I guess that's personal preference.

{2} sounds like interpolated geomipmapping? so much for your previous doubt about sampling frequency!

Previously "Krohm"

When I mentioned skirts I meant it is good for me that cdlod is not using skirts so I don't need to work on another thing :). Also from now on it is too late for me back down, today I worked on it all day so hopefully it will be good when it is finished. But what I understand from my little performance experiment is that cdlod is faster than chunked lod as long as you have good gpu to support it. Also cdlod example is in DirectX 9 and I am implementing it in DirectX 11 so I expect a little bit more performance if I manage to implement it well. I'll share my results as soon as I finish implementation if I manage to finish it of course :).
Ok, thank you very much.

Previously "Krohm"

This topic is closed to new replies.

Advertisement