more noise
This commit is contained in:
parent
9163942d94
commit
a56e05f1bd
3 changed files with 3161 additions and 7 deletions
3124
include/FastNoiseLite.h
Normal file
3124
include/FastNoiseLite.h
Normal file
File diff suppressed because it is too large
Load diff
|
@ -18,12 +18,12 @@ int inline _fastFloor(double x)
|
||||||
return x < xi ? xi - 1 : xi;
|
return x < xi ? xi - 1 : xi;
|
||||||
}
|
}
|
||||||
|
|
||||||
Grad2 *_newGrad2Arr(unsigned int size)
|
Grad2 inline *_newGrad2Arr(unsigned int size)
|
||||||
{
|
{
|
||||||
return (Grad2 *)malloc(sizeof(Grad2) * size);
|
return (Grad2 *)malloc(sizeof(Grad2) * size);
|
||||||
}
|
}
|
||||||
|
|
||||||
short *_newShortArr(unsigned int size)
|
short inline *_newShortArr(unsigned int size)
|
||||||
{
|
{
|
||||||
return (short *)malloc(sizeof(short) * size);
|
return (short *)malloc(sizeof(short) * size);
|
||||||
}
|
}
|
||||||
|
|
40
src/main.c
40
src/main.c
|
@ -1,5 +1,7 @@
|
||||||
#include "raylib.h"
|
#include "raylib.h"
|
||||||
#include "OpenSimplex2F.h"
|
|
||||||
|
#define FNL_IMPL
|
||||||
|
#include "FastNoiseLite.h"
|
||||||
|
|
||||||
#define initialScreenWidth 900
|
#define initialScreenWidth 900
|
||||||
#define initialScreenHeight 900
|
#define initialScreenHeight 900
|
||||||
|
@ -9,22 +11,50 @@ int main(void)
|
||||||
// Initialization
|
// Initialization
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
SetConfigFlags(FLAG_WINDOW_RESIZABLE);
|
SetConfigFlags(FLAG_WINDOW_RESIZABLE | FLAG_VSYNC_HINT);
|
||||||
InitWindow(initialScreenWidth, initialScreenHeight, "raylib [core] example - basic window");
|
InitWindow(initialScreenWidth, initialScreenHeight, "raylib [core] example - basic window");
|
||||||
|
|
||||||
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
|
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
|
||||||
|
|
||||||
OpenSimplexEnv *simplexEnv = initOpenSimplex();
|
fnl_state state = fnlCreateState();
|
||||||
OpenSimplexGradients *simplexGradiants = newOpenSimplexGradients(simplexEnv, 0);
|
state.seed = 0;
|
||||||
|
state.octaves = 1;
|
||||||
|
state.noise_type = FNL_NOISE_PERLIN;
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
|
|
||||||
TraceLog(LOG_INFO, TextFormat("%i", GetScreenWidth()));
|
TraceLog(LOG_INFO, TextFormat("%i", GetScreenWidth()));
|
||||||
|
|
||||||
|
double offset = 0.0;
|
||||||
|
|
||||||
// Main game loop
|
// Main game loop
|
||||||
while (!WindowShouldClose()) // Detect window close button or ESC key
|
while (!WindowShouldClose()) // Detect window close button or ESC key
|
||||||
{
|
{
|
||||||
// Update
|
// Update
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
if (IsKeyPressed(KEY_SPACE))
|
||||||
|
{
|
||||||
|
state.noise_type++;
|
||||||
|
state.noise_type %= (FNL_NOISE_VALUE + 1);
|
||||||
|
TraceLog(LOG_INFO, TextFormat("Noisetype: %i", state.noise_type));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IsKeyPressed(KEY_UP))
|
||||||
|
{
|
||||||
|
state.octaves++;
|
||||||
|
}
|
||||||
|
if (IsKeyPressed(KEY_DOWN))
|
||||||
|
{
|
||||||
|
state.octaves--;
|
||||||
|
}
|
||||||
|
if (IsKeyPressed(KEY_UP) || IsKeyPressed(KEY_DOWN))
|
||||||
|
{
|
||||||
|
TraceLog(LOG_INFO, TextFormat("Octaves: %i", state.octaves));
|
||||||
|
}
|
||||||
|
|
||||||
|
float frameTime = GetFrameTime();
|
||||||
|
offset += (double)frameTime * 10.0;
|
||||||
|
TraceLog(LOG_INFO, TextFormat("fps: %f (%fms ; total %fs)", 1.0 / frameTime, frameTime * 1000.0, offset / 10.0));
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|
||||||
// Draw
|
// Draw
|
||||||
|
@ -37,7 +67,7 @@ int main(void)
|
||||||
{
|
{
|
||||||
for (int y = 0; y < GetScreenHeight(); y++)
|
for (int y = 0; y < GetScreenHeight(); y++)
|
||||||
{
|
{
|
||||||
int noise = (noise2(simplexEnv, simplexGradiants, x / 64.0, y / 64.0) + 1.0) / 2 * 255;
|
int noise = (fnlGetNoise2D(&state, ((double)x) + offset, ((double)y) + offset / 2.0) + 1.0) / 2.0 * 255.0; //(noise2(simplexEnv, simplexGradiants, x / 64.0 + offset, y / 64.0 + offset / 2.0) + 1.0) / 2 * 255;
|
||||||
|
|
||||||
DrawPixel(x, y, (Color){noise, noise, noise, 255});
|
DrawPixel(x, y, (Color){noise, noise, noise, 255});
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue