Since summertime of , I've been doing some personal research into hardware-friendly continuous LOD. It renders CLOD, with geomorphs, using batched primitives. It's very friendly to texture LOD and paging data off disk. The downsides include a long preprocessing phase, and some size overhead for the disk file. But otherwise it really rocks. Cool stuff includes hardware mip-map generation, vertex-morphing using a Cg vertex program, etc.
|Published (Last):||9 February 2013|
|PDF File Size:||17.43 Mb|
|ePub File Size:||4.16 Mb|
|Price:||Free* [*Free Regsitration Required]|
Between each chunk is crack, how to fix it? I have 4x4 field with class MapChunk. Each chunk has own data for heightmap. I render one by one chunk. And now my question… How can I connect first chunk with second? To dissapear these cracks. You have just divided your map into tiles. Are you using quadtree or calculate screen-error metric to choose a proper chunk? I guess the answers to both questions are negative, so it is not a LOD scheme.
Yes I divided map into tiles and then to chunks. I thought its called LoD. So if you can show me some example how to add them I will be glad. It serves to manage the complexity of the objects on the scene.
It is quite simple to add skirts. How this should work? If vertice is bigger than 40 then recalculate it somehow? You need x vertices per heighmap chunk in order to divide it into equal tiles 2x2 tiles of x vertices, 4x4 tiles of 65x65 vertices, etc.
The vertices on the edges are shared between tiles. If there are 4x4 tiles of 65x65 vertices, adding skirts results in 67x67 vertices, where vertex 1,1 corresponds to vertex 0,0 of the original tile. Others are lowered down. MapTile owns 16 MapChunk classes. You are using tessellation shaders to add details you should mention that. The patches are expanded to 10x10 vertex grid in TS.
When you modify a terrain, you actually modify the single vertex representing the patch on the CPU side. GPU moves the other vertices produced by it, and you have no fine control over that. Are those assumptions correct?
I have no other advice at the moment but to add a single patch wide ring around each chunk overlapping with adjacent chunks , and modify it when modifying neighbors. More details are required in order to make some better proposal, but adding an outer ring to stitch chunks sounds ok. Yes I have no final control about mentioned vertices produced on GPU.
To your advice, add wide ring around chunk should be part of chunk rendering or not? Btw do you know how to fix texture flickering? Another approach would be to set tess. I created class called MapCleft for solving these cracks. I define previous and next chunk… ex. I take last column and first column. My MapChunk is x so this MapCleft is 2x Using still tessellation for this stuff.
OpenGL: Advanced Coding. Aleksandar March 17, , pm 2. In order to stitch tiles, you have to: calculate the influence of the modeling transformation extrusion or whatever you are doing with the vertices to all neighboring tiles, and modified all vertices influenced by the transformation, add skirts around the perimeter of the tiles if vertices on the edges do not correspond to each other.
Aleksandar March 17, , pm 4. Aleksandar March 17, , pm 6. Aleksandar March 17, , pm 8. I can add some video or source code? Aleksandar March 17, , pm Thanks for advice, I will try it and then post feedback. Hi there, So I made some stuff, but I still need advice. Vertices count for width: 10 Vertices count for height: 40 Using still tessellation for this stuff.
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together. Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Already on GitHub? Sign in to your account.
Subscribe to RSS
Privacy Terms. Quick links. It's basically going to be a 'chunked' scheme, in which the world is broken into chunks and I generate multiple meshes at different resolutions for each chunk. When rendering I decide which level of detail to use for each particular chunk based on e. This is similar to how many terrain renderers work.
Between each chunk is crack, how to fix it? I have 4x4 field with class MapChunk. Each chunk has own data for heightmap. I render one by one chunk. And now my question… How can I connect first chunk with second?