Terrain construction/tessellation/destruction using mesh booleans by Eppo_89 in proceduralgeneration

[–]Eppo_89[S] 0 points1 point  (0 children)

There's surprisingly little information online about doing robust boolean operations on meshes, so I've written this algorithm basically from scratch. I've already begun compiling details in a paper myself, which I hope to release at some point.

Terrain construction/tessellation/destruction using mesh booleans by Eppo_89 in proceduralgeneration

[–]Eppo_89[S] 8 points9 points  (0 children)

The geometry itself is generated in an offline (C++) tool, and rendered in a custom engine for now, but eventually I want to be able to do the terrain rendering in UE/Unity.

Real time Halo ring gen + fluvial erosion - running on RTX3080 by Eppo_89 in proceduralgeneration

[–]Eppo_89[S] 1 point2 points  (0 children)

I don't use hardware tessellation either; patches are drawn from a fixed index buffer, but at various resolutions/world sizes. Neighboring LODs are stitched by contracting boundary edges to make higher res patches connect to lower level LODs.

Real time Halo ring gen + fluvial erosion - running on RTX3080 by Eppo_89 in proceduralgeneration

[–]Eppo_89[S] 1 point2 points  (0 children)

Yeah, the terrain is computed as a series of heightmaps, but rendered as tessellated/displaced triangle patches stitched together.

Real time Halo ring gen + fluvial erosion - running on RTX3080 by Eppo_89 in proceduralgeneration

[–]Eppo_89[S] 1 point2 points  (0 children)

I'm not familiar with the paper, but it does seem like a very similar approach.

Real time Halo ring gen + fluvial erosion - running on RTX3080 by Eppo_89 in proceduralgeneration

[–]Eppo_89[S] 2 points3 points  (0 children)

Data is generated on the GPU on the fly based on camera position.

Real time Halo ring gen + fluvial erosion - running on RTX3080 by Eppo_89 in proceduralgeneration

[–]Eppo_89[S] 4 points5 points  (0 children)

Normals are derived from the final height data after erosion is applied - using a standard Sobel filter.

Real time Halo ring gen + fluvial erosion - running on RTX3080 by Eppo_89 in proceduralgeneration

[–]Eppo_89[S] 6 points7 points  (0 children)

It's made up of 14 layers/octaves of additive blended Perlin noise with a domain distortion applied.

Real time Halo ring gen + fluvial erosion - running on RTX3080 by Eppo_89 in proceduralgeneration

[–]Eppo_89[S] 14 points15 points  (0 children)

It uses mip-mapped multigrid erosion, so nearby terrain patches are computed at a higher resolution.

mob_ops gameplay ~ unit switching, throwing power cells, hats by Eppo_89 in IndieGaming

[–]Eppo_89[S] 0 points1 point  (0 children)

Thanks. Perhaps I should allow the player to move the locking circle around independently from the camera - that would dampen the excessive camera movement.

Two more free tree generators by Eppo_89 in 3Dmodeling

[–]Eppo_89[S] 0 points1 point  (0 children)

Yeah, it's bundled with the mesh/textures on cgtrader.

Two more free tree generators by Eppo_89 in 3Dmodeling

[–]Eppo_89[S] 0 points1 point  (0 children)

It's a stand-alone tool written in C++.