v1.2.0 • Latest Release

RelNo_D1
Procedural Noise
Generation Library

High-Performance • SIMD-Optimized • Thread-Parallel

A modern C++17 library for generating stunning 2D procedural noise maps. Perfect for game development, procedural generation, and scientific simulations. Zero runtime dependencies, MIT licensed.

RelNo_D1 Logo

Why RelNo_D1?

Built for performance, designed for simplicity. Everything you need for procedural noise generation.

SIMD Accelerated

AVX2 vectorization for blazing-fast noise generation. 6-50× faster than naive implementations.

🔄

Thread-Parallel

Multi-threaded processing automatically utilizes all CPU cores for maximum throughput.

🎯

Zero Dependencies

Only uses stb_image_write for output. No external libraries needed. Easy integration.

📦

Header-Only Option

Available as both header-only and static library. Drop it into your project and start coding.

🎨

Multiple Noise Types

White, Perlin, Simplex, and Pink noise with full control over octaves, persistence, and more.

Production Ready

Well-tested, documented, and actively maintained. MIT licensed for commercial use.

50×
Performance Boost
4
Noise Types
C++17
Modern Standard
MIT
Open License

Noise Types

Four distinct noise algorithms, each optimized for specific use cases.

White Noise

Pure random uniform distribution. Perfect for testing and base textures.

Output Range [0, 1]
Complexity O(n)
Use Cases Static, Grain

Perlin Noise

Smooth gradient-based noise. Industry standard for terrain and textures.

Output Range [0, 1]
Octaves 1-8+
Use Cases Terrain, Clouds

Simplex Noise

Faster Perlin alternative with fewer artifacts. Ideal for real-time apps.

Output Range [-1, 1]
Performance ~30% faster
Use Cases Games, RT Graphics

Pink Noise

1/f natural fractal noise. Optimized with integral images and SIMD.

Output Range [0, 1]
Optimization AVX2 + MT
Use Cases Natural, Organic

Quick Start

Generate beautiful noise maps with a single function call.

example.cpp C++17
#include "Noise.hpp"

int main() {
    using namespace Noise;

    // Generate White Noise
    create_whitenoise(
        256, 256,        // width, height
        21,                 // seed
        OutputMode::Image,
        "whiteNoise.png"
    );

    // Generate Perlin Noise
    create_perlinnoise(
        512, 512,        // width, height
        50.0f,             // scale
        6,                 // octaves
        1.0f,              // frequency
        0.5f,              // persistence
        2.0f,              // lacunarity
        0.0f,              // base
        42,                // seed
        OutputMode::Image,
        "perlinNoise.png"
    );

    // Generate Simplex Noise
    create_simplexnoise(
        512, 512,        // width, height
        60.0f,             // scale
        4,                 // octaves
        0.5f,              // persistence
        2.0f,              // lacunarity
        0.0f,              // base
        33,                // seed
        OutputMode::Image,
        "simplexNoise.png"
    );

    // Generate Pink Noise
    create_pinknoise(
        512, 512,        // width, height
        6,                 // octaves
        1.0f,              // alpha (1.0 = true pink)
        44100,            // sample rate
        1.0f,              // amplitude
        123,               // seed
        OutputMode::Image,
        "pinkNoise.png"
    );

    return 0;
}
CMakeLists.txt CMake
find_package(RelNo_D1 REQUIRED)

add_executable(MyApp main.cpp)

target_link_libraries(MyApp 
    PRIVATE RelNo_D1::WhiteNoise
    PRIVATE RelNo_D1::PerlinNoise
    PRIVATE RelNo_D1::SimplexNoise
    PRIVATE RelNo_D1::PinkNoise
)

Installation & Build

Get started in minutes with our straightforward build process.

Build Instructions Bash
# Clone the repository
git clone https://github.com/Adi5423/RelNo_D1.git
cd RelNo_D1

# Create build directory
mkdir build && cd build

# Configure with CMake
cmake ..

# Build (Release mode recommended)
cmake --build . --config Release

# Run examples
./RelNoD_NoiseExample

# Optional: Install to system
cmake --install . --prefix ../install

Requirements

🔧

CMake 3.10+

Modern build system for cross-platform compilation.

💻

C++17 Compiler

MSVC, GCC, or Clang with C++17 support.

🪟

Windows 10+

Currently optimized for Windows. Linux/Mac support coming soon.

Performance

Benchmarked and optimized for real-world applications.

SIMD Vectorization

AVX2 instructions process multiple pixels simultaneously for dramatic speedups.

🔄

Multi-Threading

Automatic thread pooling distributes workload across all available CPU cores.

💾

Cache Optimization

Integral image techniques enable O(1) blur operations regardless of kernel size.

Pink Noise Optimization Results

6-50×
Faster Generation
O(N)
Blur Complexity
100%
CPU Utilization
Zero
External Dependencies

Open Source & Community

RelNo_D1 is open source and welcomes contributions from developers worldwide.

MIT License

Free for commercial and personal use. Modify, distribute, and integrate into your projects without restrictions. We believe in open collaboration and community-driven development.

Future Roadmap

RelNo_D1

2D Procedural Noise
Currently Available

🚀

RelNo_D2

3D Volumetric Noise
In Development

🔮

RelNo_D3

4D Temporal Noise
For Animations

Coming Soon

Linux & macOS Support
GPU Acceleration
More Noise Types