render iteration

This commit is contained in:
Jonas H
2026-02-08 14:06:35 +01:00
parent 2422106725
commit 82c3e1e3b0
67 changed files with 6381 additions and 1564 deletions

View File

@@ -0,0 +1,62 @@
# Texture Generation Scripts
## Blue Noise Generator
`generate_blue_noise.py` - Generates blue noise textures for high-quality dithering effects.
### Requirements
```bash
pip install numpy pillow scipy
```
### Usage
Basic usage (generates 128x128 texture):
```bash
python generate_blue_noise.py
```
Custom size:
```bash
python generate_blue_noise.py --width 256 --height 256
```
Custom output path:
```bash
python generate_blue_noise.py --output ../my_blue_noise.png
```
Advanced options:
```bash
python generate_blue_noise.py --width 128 --height 128 --sigma 1.5 --method void_cluster
```
### Parameters
- `--width`: Texture width in pixels (default: 128)
- `--height`: Texture height in pixels (default: 128)
- `--method`: Generation method
- `void_cluster`: High-quality void-and-cluster method (default, recommended)
- `annealing`: Simulated annealing method (slower)
- `--sigma`: Gaussian kernel sigma for void_cluster method (default: 1.5)
- Lower values (0.8-1.2): Tighter clustering, more high-frequency
- Higher values (2.0-3.0): Smoother distribution
- `--iterations`: Number of iterations (optional, auto-calculated if not specified)
- `--output`: Output file path (default: ../blue_noise.png)
### What is Blue Noise?
Blue noise is a type of noise with energy concentrated in high frequencies and minimal low-frequency content. This makes it ideal for dithering because:
- No visible patterns or clustering
- Smooth gradients without banding
- Perceptually pleasing distribution
- Better than Bayer or white noise for transparency effects
### Use Cases in snow_trail_sdl
- **Tree dissolve effect**: Dither trees between camera and player for unobstructed view
- **Temporal effects**: Screen-space dithering for transitions
- **Transparency**: High-quality alpha dithering
- **LOD transitions**: Smooth fade between detail levels