Geometry clipmap limits

Source: Internet
Author: User

Geometry clipmap limits

I like geometry clipmap very much, and even translated the famous paper of hoppe. Obviously, this is one of the classic examples of more and more graphic computing transfers from CPU to GPU. Unfortunately, there has never been a chance to implement it until some time ago, we had to write a terrain system and finally had a chance to try it. Before completing the terrain, everything was very good. Unfortunately, when texture was realized, it encountered a very big problem. It once again confirmed the old saying: No practice, I never know what the problem will be.

After careful reading, we will find that all articles on clipmap only discuss how to calculate texture coordinates, but not how to "Paste" textures. If you only consider program textures, you are lucky not to have any problems. However, if you need to use texture spalette (the most common scenario in the game), boom ~~, The problem occurs. For the traditional chunk terrain, each terrain usually has its own texture spalette, and the related textures T1, T2, T3, boring rendering or slice processing, the entire chunk is used as the unit. For Geo clipmap, without the concept of chunk, each clipmap tile may contain data belonging to multiple chunks. Which chunk spalette should be used when rendering this tile? One solution is to dynamically generate spalette for each tile when updating clipmap data, but this does not solve the problem. Suppose chunk 1 uses the texture T1, T2, T3, chunk2 uses the texture T2, T4, and T5. What texture should be used by the current tile? Unless it is specified that all tile can only use a limited number of textures (obviously 8 for DX9 graphics cards), this will become a very difficult problem to solve. Multipass may solve this problem, but this completely violates the original intention of using clipmap-an efficient and concise solution-which may be less efficient than the traditional method. Texture array is also a potential feasible solution. Unfortunately, dx10 is required.

Unfortunately, this is a blog I have no solutions for now. We can see that some people have encountered this problem in gamedev and there is no feasible solution. The results are very depressing. The code written in the past few days is almost obsolete and you have to go back to the traditional Chunk method: (if you are considering implementing GEO clipmap, be careful when you encounter the same problem, if you accidentally come up with a solution, don't forget to tell me :)

 

PS: blog is about to be migrated. Does anyone know what tools can be automatically moved to cnblog?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.