[Proc Gen] NoiseSource.sample and NoiseSample class #208
Labels
No labels
Alpha Release Requirement
Bugfix
Demo Target
Documentation
Major Feature
Minor Feature
priority:tier1-active
priority:tier2-foundation
priority:tier3-future
priority:tier4-deferred
Refactoring & Cleanup
system:animation
system:documentation
system:grid
system:input
system:performance
system:procgen
system:python-binding
system:rendering
system:ui-hierarchy
Tiny Feature
workflow:blocked
workflow:needs-benchmark
workflow:needs-documentation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
#193 [Proc Gen] HeightMap - Core class with scalar operations
john/McRogueFace
#207 [Proc Gen] NoiseSource - Core class with point queries
john/McRogueFace
Reference
john/McRogueFace#208
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent Issue: #192
Depends On: #193 (HeightMap core), #207 (NoiseSource core)
Overview
Add batch sampling method to NoiseSource and implement the NoiseSample subclass.
Specification
NoiseSource.sample
size(int, int)world_origin(float, float)world_size(float, float)size.modestr"flat","fbm", or"turbulence". Default:"fbm".octavesintNote: Uses
(origin, size)format consistent with McRogueFace conventions, not((x1,y1), (x2,y2)).NoiseSample Class
NoiseSample extends HeightMap with noise-specific context.
Properties
sourceNoiseSourceworld_origin(float, float)world_size(float, float)modestr"flat","fbm", or"turbulence".octavesintNavigation Methods
Sample the adjacent region in the specified direction. Returns a new NoiseSample with the same size, mode, and octaves, but shifted world_origin.
Example
Implementation Notes
wx = world_origin[0] + (x / size[0]) * world_size[0]wy = world_origin[1] + (y / size[1]) * world_size[1]resample()andzoom()- users can achieve these with directsample()callsAcceptance Criteria
sample()creates NoiseSample with correct valuesworld_sizecontrols feature scale (larger = zoomed out)