Rain and more
This commit is contained in:
10
README.md
10
README.md
@@ -21,7 +21,7 @@ high-resolution 3D effects.
|
||||
| Upright 2D sprites in 3D | Characters and small props are camera-facing (Y-axis) billboards (`BillboardBatch`), planted by their lowest opaque pixel row |
|
||||
| 3D scenery with painted textures | Trees, bushes, rocks and the stone bridge are instanced glTF models (`ModelLibrary`, `ModelBatch`) built in Blender: leaf-card canopies with alpha-tested 1K leaf textures, rounded custom normals for soft stylized shading, sun translucency, wind sway from per-vertex weights, emissive materials (glowing coals) |
|
||||
| Grounded objects | Two kinds of ambient occlusion: half-res SSAO (depth-reconstructed normals, depth-aware blur, multiplied into the opaque scene before water) and a baked **ground contact occlusion** map (`GroundOcclusion`) that puts a dark core at every trunk / bush / rock base plus a soft canopy shade, applied to terrain, sprites and models near the ground |
|
||||
| Nothing hides the player | Scenery between the camera and the player is dithered away around the sprite |
|
||||
| Nothing hides the player | Tall scenery (tree canopies) between the camera and the player is dithered away around the sprite, only above the sprite's head; low props opt out per batch (`ModelBatch::occluderFade = false`, used for the bridge, rocks and bushes) |
|
||||
| Sprites cast/receive real shadows | Shadow pass renders sprites as **sun-facing** cards so silhouettes are never edge-on; receivers sample their own sun-facing card to avoid self-shadowing |
|
||||
| Miniature / diorama feel | Narrow FOV (~30°) high camera + strong depth-of-field with an extra tilt-shift band |
|
||||
| Soft, warm, glowing light | HDR pipeline, Karis-averaged mip-chain bloom, ACES tonemap, lift/gain grading, vignette, subtle chromatic aberration and grain |
|
||||
@@ -30,7 +30,7 @@ high-resolution 3D effects.
|
||||
| Beautiful water | Planar reflections, depth-aware refraction, per-channel absorption, analytic-derivative wave normals, shore distance field driving foam + ripples, strong HDR sun glints plus a field of twinkling point sparkles that bloom and depth of field turn into bokeh, caustics on the bottom |
|
||||
| Living foliage | Instanced swaying grass with wind gusts; tall grass and bushes bend and rustle away from the player (vertex shader, Pokémon-style patches); leaf flutter scales with wind strength |
|
||||
| High-res particles | Fireflies (also feed point lights) and dust motes that only glow inside sun shafts |
|
||||
| Fire | Brazier fires (`ParticleSystem::addFire`): noise-eroded additive flame tongues with a hot-core-to-red color ramp, turbulent embers, lit smoke puffs, a glow halo, and a flickering point light that also scatters into the fog |
|
||||
| Fire | Brazier fires (`ParticleSystem::addFire`): a compact, bowl-filling mass of nearly opaque, noise-eroded flame licks shaded per pixel from a hot yellow core through orange to red tips (drawn oldest-first so the core sits on top), turbulent embers, lit smoke puffs, a glow halo, and a flickering point light that also scatters into the fog |
|
||||
| Weather | `Weather` blends the clear look into a storm preset (weak grey sun, overcast sky, thick low fog, gusty wind): procedural world-space rain streaks (up to 18k, one draw call), ground splashes, raindrop ripple rings on the water, wet darker glossy surfaces, ambient fireflies fade out |
|
||||
|
||||
References: Unreal Engine's [Octopath Traveler spotlight](https://www.unrealengine.com/spotlights/octopath-traveler-s-hd-2d-art-style-and-story-make-for-a-jrpg-dream-come-true),
|
||||
@@ -94,6 +94,8 @@ demo/ meadow demo scene + main loop
|
||||
tools/pixellab.py pixel-art generator, driven by tools/assets.json
|
||||
tools/scenery_textures.py paints the high-res scenery textures
|
||||
tools/blender_scenery.py builds + exports the 3D scenery in Blender
|
||||
docs/ASSET_GUIDE.md how to make sprites, tiles, textures and models (for humans and AI agents)
|
||||
AGENTS.md build/verify workflow and code rules for AI agents
|
||||
```
|
||||
|
||||
### Frame pipeline (`Renderer::render`)
|
||||
@@ -168,6 +170,10 @@ shore field, particles, weather, player movement and collision.
|
||||
|
||||
## Assets
|
||||
|
||||
The full guide to making sprites, terrain tiles, high-res textures and 3D
|
||||
models (scale, conventions, PixelLab manifest fields, Blender helpers, how to
|
||||
check results) is in [`docs/ASSET_GUIDE.md`](docs/ASSET_GUIDE.md). Summary:
|
||||
|
||||
### 3D scenery (Blender)
|
||||
|
||||
Trees, bushes, rocks and the stone bridge (with braziers) are generated
|
||||
|
||||
Reference in New Issue
Block a user