gaseous-giganticus
Noise-Extras
gaseous-giganticus | Noise-Extras | |
---|---|---|
18 | 22 | |
109 | 23 | |
- | - | |
5.3 | 4.4 | |
4 months ago | 3 months ago | |
C | Java | |
GNU General Public License v3.0 only | Creative Commons Zero v1.0 Universal |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gaseous-giganticus
-
Simulating Fluids, Fire, and Smoke in Real-Time
I think the curl noise paper is from 2007: https://www.cs.ubc.ca/~rbridson/docs/bridson-siggraph2007-cu...
I've used the basic idea from that paper to make a surprisingly decent program to create gas-giant planet textures: https://github.com/smcameron/gaseous-giganticus
-
Friday Post: What is something you made or solved in C that you are proud off?
Gaseous-giganticus - procedurally generates gas giant planet textures for space games, etc.
-
How can I generate realistic planetary cloud cover?
This is what gaseous-giganticus uses. Combined with some other techniques, it can help with making some clouds for earthlike planets, but not in real time. Mentioned here previously. The process I use for making earthlike planets with clouds for Space Nerds in Space is described here.
-
Procedural Gas Giant
Here's my own gas giant thingy, which produces (what I imagine to be) decent results, but is quite slow.
-
How do i use/compile gaseous giganticus?
Hi. I'm the author of gaseous-giganticus. You do not need to apply the patch, as it was incorporated into the source already a long time ago: https://github.com/smcameron/gaseous-giganticus/commit/b3ca95f2f3975d6ca97029dae166e2daf068b3f0
- Ask HN: What is the most impactful thing you've ever built?
-
Aside from hobby and practice, what are some genuinely useful personal apps?
I needed some gas giant textures for planets in my space game so I made this thing, which also ended up getting used by other people for their Kerbal Space Program mods.
-
Empyrion -- Galactic Survival - #3 by pavloocheretianyi01 on DeviantArt
Is that gaseous-giganticus output that I spy?
-
Best (preferably free) procedural planet texture generators
I've made a couple. For gas giants, gaseous-giganticus. For earthlike, or rocky planets, there's a program called "earthlike.c" in the space-nerds-in-space repo. Other than allowing you to supply an input image to use more or less as a color palette, they don't allow much in terms of customization, though there are quite a few knobs you can turn.
-
What is your best project using C?
Most innovative thing, or what I'm most astonished I actually successfully pulled off against all odds, is probably gaseous-giganticus, which is a program that uses curl noise for procedural fluid flow(pdf) on the surface of a sphere to create cubemap textures for procedurally generated gas giant planets.
Noise-Extras
-
how to stack noise layers for more interesting landscape
If it helps, I wrote an implementation inspired by this here: https://github.com/KdotJPG/Noise-Extras/blob/master/OpenSimplex2S_Exp.java
-
While working on my game I made a highly optimized Noise Library for C#, I just made it open-source!
Periodicity is definitely a limitation of Simplex, at least without complicated skew adjustments. I wouldn't say this limitation should hold the noise back for non-periodic applications, but it certainly can't be ignored when it does come to them.
-
How can I Make a Procedural 2d Map that Loops at Borders?
Yep! You also need to slightly adjust the grid skew so that the corners of your target square/rectangle coincide with vertices on the noise grid. Example implementation: https://github.com/KdotJPG/Noise-Extras/blob/master/OpenSimplex2S_ImprovedXZPlanes_TileableXZ.java
-
Does anyone have a good library for Exponential Distributed Noise and/or Amortized Noise with derivatives in c#?
I have this https://github.com/KdotJPG/Noise-Extras/blob/master/OpenSimplex2S_Exp.java but it's up to you whether or not you'd consider it a good library.
-
New Blog Post! "The Perlin Problem: Moving Past Square Noise"
Tileability is an issue, you're right. Perhaps I should have made a note on that in the article. I've made some progress in the code at this link to bring proper tileability to simplex-type. It's quite usable as-is, but it does still need work to become the best it can. In particular I need to take a closer look at performance (I accounted hard for the grid re-skewing in a way that won't make much difference given a sufficiently-large repeat period), configurability (tileable in either 2 or 3 axes), quality (mostly I could improve the primes in the hash function I used), and variety (bring this to more algos/dimensionalities).
-
Wind direction from noise map?
Either way /u/pds314 I would look for a good simplex-type noise impl that supports derivatives. Here's one. Alternatively, here's a domain-rotated Perlin which addresses its square artifacts by rotating them out of the evaluation plane of focus through the extra dimension. In this, use X and Y of the 3D "ImproveXY" function" or X and Z of the 3D "ImproveXZ" function for derivatives. In the OpenSimplex2S, you can just use the 2D function with derivatives.
- Noisy map, but smooth beaches! My new algorithm!
-
Added 3D Noise and Blend Modes to my GLSL Noise library (gl-Noise)! Used it to make a Planet Generator. Demo and GitHub in comments!
Code for the domain rotation in Java is here. There are various wrappers. You would want one of the methods noise4_ImproveXYZ_ImproveXY, noise4_ImproveXYZ_ImproveXZ, or noise4_ImproveXYZ. You could copy the code from these wrappers directly, or convert it to matrix form to write it compactly in GLSL. For example, noise4_ImproveXYZ_ImproveXZ would be this. Note that I'm using left multiplication so the column-major constructor format can be rearranged to show up the way you would typically write the matrix when doing linear algebra if doing right multiplication.
-
How do I avoid the "2^64 variations of one continent" problem?
Depends on: this. Would also work well with this, or also this if you adapt to its features.
- Perlin noise Voxel planets + Caves
What are some alternatives?
ebsynth - Fast Example-based Image Synthesis and Style Transfer
FastNoise - Fast Portable Noise Library - C# C++ C Java HLSL GLSL JavaScript Rust Go
SPH-Fluid-Simulation - A multi-threaded particle-based solver, Smoothed-Particle Hydrodynamics, for the Navier-Stokes equation
TinyEngine - Tiny OpenGL Wrapper / 3D Engine in C++
texture - Procedural texture generation package.
webgl-noise - Procedural Noise Shader Routines compatible with WebGL
chip-walo - CHIP-8 Emulator using C and SDL2.
OpenSimplex2 - Successors to OpenSimplex Noise, plus updated OpenSimplex.
lsblk - List information about block devices in the FreeBSD system.
world - A set of tools for wide world generation and manipulation
space-nerds-in-space - Multi-player spaceship bridge simulator. Captain your starship through adventures with your friends. See https://smcameron.github.io/space-nerds-in-space
Scattered-Biome-Blender - Smooth transitions over biome borders using scattered point evaluations.