Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add procedural terrain generation #42

Open
beaumanvienna opened this issue Feb 25, 2024 · 1 comment
Open

add procedural terrain generation #42

beaumanvienna opened this issue Feb 25, 2024 · 1 comment

Comments

@beaumanvienna
Copy link
Owner

beaumanvienna commented Feb 25, 2024

Terms:

  • chunk: larger area corresponding to a height map (maybe 25m x 25m or 100m x 100m)
  • cell: node of quadtree, a result of dividing a chunk
  • patch: input primitive for tesselation control shader, usually triangle

best intro video: https://www.youtube.com/watch?v=OqRMNrvu6TE&t=45s&ab_channel=CemYuksel

Best blog on this topic: https://satellitnorden.wordpress.com/2018/02/12/vulkan-adventures-part-3-return-of-the-triangles-tessellation-tutorial/

quad tree: https://www.youtube.com/watch?v=YO_A5w_fxRQ&ab_channel=SimonDev
geometry clipmaps: https://mikejsavage.co.uk/geometry-clipmaps/

control texture to define which out of four terrain textures is used as albedo color: https://youtu.be/rNuDkDhadfU?si=8igI-qkdmwDU5NUu&t=179

Best YT tutorial SimonDev's (the first episodes only then he goes into planet rendering):
https://www.youtube.com/watch?v=hHGshzIXFWY&list=PLRL3Z3lpLmH3PNGZuDNf2WXnLTHpN9hXy&ab_channel=SimonDev

Tutorial about Vulkan tesselation:
https://github.com/PAMinerva/LearnVulkan/wiki/02.E-Tessellation

Wiki:
https://www.khronos.org/opengl/wiki/Tessellation

The work for Lukas in his engine
https://github.com/lukasino1214/soc_real_time_renderer/blob/2d9bc4a0376ad4e155d88a8a81433db2f2cf7102/src/graphics/tasks/draw_terrain.inl#L151-L192
https://github.com/lukasino1214/soc_real_time_renderer/blob/2d9bc4a0376ad4e155d88a8a81433db2f2cf7102/src/graphics/renderer.cpp#L194-L220

Vulkan cookbook, page 621 (p.658 in the pdf)
patches in view frustum OGLDEV: https://youtu.be/08dApu_vS4c?si=yDT4AJFd9ILHLNiv&t=111

Official Vulkan docs
https://docs.vulkan.org/spec/latest/chapters/tessellation.html#:~:text=Tessellation%20involves%20three%20pipeline%20stages,v%2Cw)%20parameter%20space.

[download JSON terrain config file (just brainstorming) terrain.json]
(https://github.com/beaumanvienna/vulkan/files/14395258/terrain.json)

@beaumanvienna
Copy link
Owner Author

#37

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant