TinyEngine
Noise-Extras
TinyEngine | Noise-Extras | |
---|---|---|
9 | 22 | |
955 | 23 | |
- | - | |
0.0 | 4.4 | |
2 months ago | 4 months ago | |
C++ | Java | |
- | 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.
TinyEngine
-
Meandering River Erosion Simulation
The full code is available here. Written in C++ with TinyEngine.
-
Simulating Wind on Procedural Terrain using GPU Accelerated Lattice Boltzmann Method [Article + Source]
You can find an article explaining how this works on my blog here and a terrain-based implementation here. For more detailed source code on the LBM method, check out the examples here.
-
Simulated Wind over Terrain
This is a simulation of wind flow over procedural terrain using my own GPU accelerated implementation of the lattice boltzmann method. All implemented and visualized in TinyEngine (by me). Terrain generated using SimpleHydrology (also by me). The source for this is not released (yet!). This scene is 100% procedural.
-
Real-Time Voronoi Cubemap Shader [Reference Code]
[Source Code]
-
How to render a spherical Voronoi diagram to a cube map?
I went ahead and made you a reference implementation. You can find it here. It's pretty short, and by the shaders you should understand how it works. Instance render 3D quads using centroids as attribdivisors, then reposition the quad vertices correctly, manually write to the cubemap depth buffer and whatever you want to the colorbuffer.
-
Here's this cool "Tiny" opengl wrapper / game engine I found
Here the link to the github repo: https://github.com/weigert/TinyEngine I thought it seemed neat and think I may use it for some future projects.
-
I created a tiny library that lets you embed filesystems into your C++11 executable for shipping resources like shaders with zero modifications to your code! Info in comments.
I have already integrated this into my personal engine TinyEngine (simply by making all file loading interfaces use stdio.h FILE* style interfaces). Any program built with this system can use either a real, relative file system or be built to have a virtual snapshot embedded into the executable!
-
Procedural Plate Tectonics using Clustered Convection [Article + Source]
The visualization of the dynamic data was made using my own TinyEngine.
-
Lowering Driver-Overhead to Increase Frame-Rates with Vertex Pooling [Article + Source]
So I wrote an article on it here. You can find the code here.
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?
xray-16 - Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. Join OpenXRay! ;)
FastNoise - Fast Portable Noise Library - C# C++ C Java HLSL GLSL JavaScript Rust Go
fhDOOM - Modernized DOOM3/idTech4 engine: ported to modern OpenGL (core profile), enhanced visual effects, improved performance, improved editor, more to come
gaseous-giganticus - This program procedurally generates gas giant cubemap textures for the game Space Nerds In Space. https://www.patreon.com/smcameron
krabsetw - KrabsETW provides a modern C++ wrapper and a .NET wrapper around the low-level ETW trace consumption functions.
webgl-noise - Procedural Noise Shader Routines compatible with WebGL
territory - 3D rendered proc-gen world test. C++ homebrew voxel engine for agent-driven prodedural generation / world simulation
OpenSimplex2 - Successors to OpenSimplex Noise, plus updated OpenSimplex.
Drawpile - A collaborative drawing program
world - A set of tools for wide world generation and manipulation
SimpleHydrology - Procedural Hydrology / River / Lake Simulation
Scattered-Biome-Blender - Smooth transitions over biome borders using scattered point evaluations.