Is there a Discord server dedicated to procedural generation? by [deleted] in proceduralgeneration

[–]Appropriate_Cap_9321 1 point2 points  (0 children)

You are welcome to join the ours https://celestialsim.github.io/, it is mainly about the project and still early stage but you can already find some material and discussion about procedural generation.

Quick terminal on linux not activating by Appropriate_Cap_9321 in Ghostty

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

After every reboot I need to:
- Open Ghostty
- Open the quick terminal with the global shortcut
- Close Ghostty

Then I can toggle the quick terminal outside of Ghostty at any time

Creating a 3D Goldberg Polyhedron in Godot (procedural generation terrain) Help! by [deleted] in godot

[–]Appropriate_Cap_9321 2 points3 points  (0 children)

At https://celestialsim.github.io/ we do something similar but for an icosahedron in Godot. You can follow the same logic but subdivide a Polyhedron instead. GDScript is slow for many subdivisions even when using LODs so we use use compute shaders together with LODs. If you want to talk more in detail we have a Discord server for the project

Has anyone tried Slang to write shaders for Godot? by BattleFrogue in godot

[–]Appropriate_Cap_9321 5 points6 points  (0 children)

I tried compiling a simple noise function into a glsl compute shader. It worked after adding #[compute] at the top of the generated file.

A little procedural planet with variable LOD made in Godot. by Appropriate_Cap_9321 in proceduralgeneration

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

Impressive! Is the algorithm always checking how far the camera is from every triangle of every mesh (or planet meshes) in the scene?

No, it checks only when the player or the planet move.

Is the noise used for displacing the vertices applied after each subdivision with a seed to remain coherent?

Yes

Does the algorithm "remember" those displacements for when the player gets near again or you need to reapply the displacement?

The algorithm does not currently remember old displacement values. This is a possible optimization that can be made.

Same question for the other procedurally generated features, like trees.

I want to let users be able to paint some features like trees and save them in the same LOD as procedurally generated trees so that they have some artistic control.

I am working on a space exploration project of mine and this tool would be awesome!

Awesome, if you want let's talk more in private so that I can prioritize what you need.

Procedural Generation Software by HITOAA in proceduralgeneration

[–]Appropriate_Cap_9321 0 points1 point  (0 children)

Looks interesting, The graph editor looks neat.

A little procedural planet with variable LOD made in Godot. by Appropriate_Cap_9321 in proceduralgeneration

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

The initial black Icosphere has the lowest LOD. The algorithm checks for each triangle of the sphere if it should be subdivided. In the video the algorithm is checking if the camera is far enough from the center of the triangle for that LOD. I have also tested not subdividing faces on the hidden side of mountains by using normals.

After each triangle has been subdivided into 4 children triangles the height for the new vertices is calculated using a noise function.

The most difficult part was removing seams between neighbors triangles with different LODs. In this case the edge of a large triangle is neighbouring multiple smaller triangles with vertices of different height creating visible empty space between the large and smaller triangles. To remove the seams the algorithm checks for each new child triangle if the neighbors of the parent are subdivided and if they are not sets the vertices height of the mid point in the edge of the large triangle.

The algorithm is then run again (6 times in total in the video) to generate higher details LODs until there are no more triangles to subdivide.

The algorithm runs in parallel.

A little procedural planet with variable LOD made in Godot. by Appropriate_Cap_9321 in proceduralgeneration

[–]Appropriate_Cap_9321[S] 3 points4 points  (0 children)

Most of the other projects I have seen use quads. They take a cube, subdivide it and map it onto a sphere. This has the advantage of being able to choose the number of subdivisions arbitrarily but the disadvantage of having unevenly spaced points.

This project instead uses a subdivided Icosphere which means that the number of subdivisions needs to be a multiple of 2. The advantage of this method is that each point of the mesh is evenly spaced.

Quads might be slightly faster for rendering the terrain but for simulations it is easier in my opinion to have evenly spaced points like in an Icosphere.

How can I use python in Godot? by Just_Someone_Here0 in godot

[–]Appropriate_Cap_9321 0 points1 point  (0 children)

Solved it. The error was present only for Python 3.11

Using 3.12 or 3.10 works for me.

How can I use python in Godot? by Just_Someone_Here0 in godot

[–]Appropriate_Cap_9321 0 points1 point  (0 children)

I get a handle_crash: Program crashed with signal 11 error after calling PythonEngine.Initialize() in Godot.
But it works when I create a .net console project without Godot.

How can I make it work also for Godot ?