amethyst / amethyst/bracket-lib

Cellular distance noise computation is independent from cell distances

Open
#260 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
1.7k
Forks
126
PR merge metrics
No merged PRs in 30d

Description

The function `single_cellular` is used to compute 'cellular' noise for `CellularReturnType::CellValue` and `CellularReturnType::Distance`. However, most of the code in the function is essentially dead - the return value is currently only determined by the input coordinates and the RNG seed (code copied from https://github.com/amethyst/bracket-lib/blob/master/bracket-noise/src/fastnoise.rs#L3857-L3862):
```rust
match self.cellular_return_type {
CellularReturnType::CellValue => {
self.val_coord_2d(self.seed as i32, x as i32, y as i32)
}
_ => 0.0,
}
```

Intuitively, I expect that when writing `distance` to a new 'minimal' value, also the corresponding coordinates `xi` and `yi` should be remembered and passed to `val_coord_2d`. Something entirely different from `return 0.0` is likely necessary for other values of `CellularReturnType`. Looking at the original source in https://github.com/Auburn/FastNoiseLite/blob/master/C/FastNoiseLite.h#L1402 seems to confirm this.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.