FastNoise2
Хранитель для FastNoise2(https://github.com/Auburn/FastNoise2) библиотека.
Хранитель для FastNoise2(https://github.com/Auburn/FastNoise2) библиотека.
Создает последовательный шум при поддержке процесса обработки SIMD, который может значительно ускорить процесс производства по сравнению с скалярными реализациями вроде FastNoiseLite.
Для конфигурации она использует структуру, основанную на узле, которая, однако, в данный момент не может быть отредактирована из-за "Reckfell". Вместо этого используются упрощенные свойства. Возможно редактирование графиков шума с помощью внешнего устройства Noise Инструмент, который может экспортировать закодированное дерево узла в качестве строки основания64.
Текущая интеграция FastNoise2 Версия 0,10,0-альфа. Если вы используете закодированные деревья узла, сделанные с Noise Инструмент, он должен соответствовать этой версии.
После смены свойств вы должны позвонить FastNoise2.UpdateGenerator :: восстановление внутреннего графика и внесение изменений.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
FastNoise2Конструктор
public FastNoise2();Свойства22
CellularDistanceFunctionСвойство
public FastNoise2.CellularDistanceFunctionEnum CellularDistanceFunction { get; set; }CellularIndex0Свойство
public int CellularIndex0 { get; set; }N-двенадцатая клетка, используемая для расчета расстояния между клетками или значений.
CellularIndex1Свойство
public int CellularIndex1 { get; set; }N-th ближайшая клетка, использованная в качестве второго компонента при некоторых расчетах расстояния между клетками.
CellularJitterСвойство
public float CellularJitter { get; set; }CellularReturnTypeСвойство
public FastNoise2.CellularReturnTypeEnum CellularReturnType { get; set; }EncodedNodeTreeСвойство
public string EncodedNodeTree { get; set; }FractalGainСвойство
public float FractalGain { get; set; }FractalLacunarityСвойство
public float FractalLacunarity { get; set; }FractalOctavesСвойство
public int FractalOctaves { get; set; }FractalPingPongStrengthСвойство
public float FractalPingPongStrength { get; set; }FractalTypeСвойство
public FastNoise2.FractalTypeEnum FractalType { get; set; }NoiseTypeСвойство
public FastNoise2.NoiseTypeEnum NoiseType { get; set; }PeriodСвойство
public float Period { get; set; }RemapEnabledСвойство
public bool RemapEnabled { get; set; }RemapInputMaxСвойство
public float RemapInputMax { get; set; }RemapInputMinСвойство
public float RemapInputMin { get; set; }RemapOutputMaxСвойство
public float RemapOutputMax { get; set; }RemapOutputMinСвойство
public float RemapOutputMin { get; set; }SeedСвойство
public int Seed { get; set; }TerraceEnabledСвойство
public bool TerraceEnabled { get; set; }TerraceMultiplierСвойство
public float TerraceMultiplier { get; set; }TerraceSmoothnessСвойство
public float TerraceSmoothness { get; set; }Методы50
GenerateImagevoid
public void GenerateImage(Image image, bool tileable);Наполняет серую картинку значениями шума.
| Имя | Тип | По умолчанию |
|---|---|---|
image | Image | — |
tileable | bool | — |
GetCellularDistanceFunctionFastNoise2.CellularDistanceFunctionEnum
public FastNoise2.CellularDistanceFunctionEnum GetCellularDistanceFunction();FastNoise2.CellularDistanceFunctionEnumGetCellularIndex0int
public int GetCellularIndex0();intGetCellularIndex1int
public int GetCellularIndex1();intGetCellularJitterfloat
public float GetCellularJitter();floatGetCellularReturnTypeFastNoise2.CellularReturnTypeEnum
public FastNoise2.CellularReturnTypeEnum GetCellularReturnType();FastNoise2.CellularReturnTypeEnumGetEncodedNodeTreestring
public string GetEncodedNodeTree();stringGetFractalGainfloat
public float GetFractalGain();floatGetFractalLacunarityfloat
public float GetFractalLacunarity();floatGetFractalOctavesint
public int GetFractalOctaves();intGetFractalPingPongStrengthfloat
public float GetFractalPingPongStrength();floatGetFractalTypeFastNoise2.FractalTypeEnum
public FastNoise2.FractalTypeEnum GetFractalType();FastNoise2.FractalTypeEnumGetNoise2DSinglefloat
public float GetNoise2DSingle(Vector2 pos);Создаёт единое значение 2D шума. Следует отметить, что генерирующие значения, по отдельности, не будут получать пользы от эффективности SIMD в такой же степени, как и генерирование множественных значений одновременно.
| Имя | Тип | По умолчанию |
|---|---|---|
pos | Vector2 | — |
floatGetNoise3DSinglefloat
public float GetNoise3DSingle(Vector3 pos);Создаёт единое значение 3D шума. Следует отметить, что генерирующие значения, по отдельности, не будут получать пользы от эффективности SIMD в такой же степени, как и генерирование множественных значений одновременно.
| Имя | Тип | По умолчанию |
|---|---|---|
pos | Vector3 | — |
floatGetNoiseTypeFastNoise2.NoiseTypeEnum
public FastNoise2.NoiseTypeEnum GetNoiseType();FastNoise2.NoiseTypeEnumGetPeriodfloat
public float GetPeriod();floatGetRemapInputMaxfloat
public float GetRemapInputMax();floatGetRemapInputMinfloat
public float GetRemapInputMin();floatGetRemapOutputMaxfloat
public float GetRemapOutputMax();floatGetRemapOutputMinfloat
public float GetRemapOutputMin();floatGetSeedint
public int GetSeed();intGetSimdLevelFastNoise2.SimdLevel
public FastNoise2.SimdLevel GetSimdLevel();Получение информации о том, какой уровень SIMD был обнаружен библиотекой. Это указывает на эффективность текущего процессора, поскольку различные модели могут иметь различные инструкции SIDM.
FastNoise2.SimdLevelGetSimdLevelNamestring
public static string GetSimdLevelName(FastNoise2.SimdLevel level);Получает название уровня SIMD.
| Имя | Тип | По умолчанию |
|---|---|---|
level | FastNoise2.SimdLevel | — |
stringGetTerraceMultiplierfloat
public float GetTerraceMultiplier();floatGetTerraceSmoothnessfloat
public float GetTerraceSmoothness();floatIsRemapEnabledbool
public bool IsRemapEnabled();boolIsTerraceEnabledbool
public bool IsTerraceEnabled();boolSetCellularDistanceFunctionvoid
public void SetCellularDistanceFunction(FastNoise2.CellularDistanceFunctionEnum cellDistanceFunc);| Имя | Тип | По умолчанию |
|---|---|---|
cellDistanceFunc | FastNoise2.CellularDistanceFunctionEnum | — |
SetCellularIndex0void
public void SetCellularIndex0(int i);| Имя | Тип | По умолчанию |
|---|---|---|
i | int | — |
SetCellularIndex1void
public void SetCellularIndex1(int i);| Имя | Тип | По умолчанию |
|---|---|---|
i | int | — |
SetCellularJittervoid
public void SetCellularJitter(float returnType);| Имя | Тип | По умолчанию |
|---|---|---|
returnType | float | — |
SetCellularReturnTypevoid
public void SetCellularReturnType(FastNoise2.CellularReturnTypeEnum returnType);| Имя | Тип | По умолчанию |
|---|---|---|
returnType | FastNoise2.CellularReturnTypeEnum | — |
SetEncodedNodeTreevoid
public void SetEncodedNodeTree(string code);| Имя | Тип | По умолчанию |
|---|---|---|
code | string | — |
SetFractalGainvoid
public void SetFractalGain(float gain);| Имя | Тип | По умолчанию |
|---|---|---|
gain | float | — |
SetFractalLacunarityvoid
public void SetFractalLacunarity(float lacunarity);| Имя | Тип | По умолчанию |
|---|---|---|
lacunarity | float | — |
SetFractalOctavesvoid
public void SetFractalOctaves(int octaves);| Имя | Тип | По умолчанию |
|---|---|---|
octaves | int | — |
SetFractalPingPongStrengthvoid
public void SetFractalPingPongStrength(float strength);| Имя | Тип | По умолчанию |
|---|---|---|
strength | float | — |
SetFractalTypevoid
public void SetFractalType(FastNoise2.FractalTypeEnum type);| Имя | Тип | По умолчанию |
|---|---|---|
type | FastNoise2.FractalTypeEnum | — |
SetNoiseTypevoid
public void SetNoiseType(FastNoise2.NoiseTypeEnum type);| Имя | Тип | По умолчанию |
|---|---|---|
type | FastNoise2.NoiseTypeEnum | — |
SetPeriodvoid
public void SetPeriod(float period);| Имя | Тип | По умолчанию |
|---|---|---|
period | float | — |
SetRemapEnabledvoid
public void SetRemapEnabled(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetRemapInputMaxvoid
public void SetRemapInputMax(float maxValue);| Имя | Тип | По умолчанию |
|---|---|---|
maxValue | float | — |
SetRemapInputMinvoid
public void SetRemapInputMin(float minValue);| Имя | Тип | По умолчанию |
|---|---|---|
minValue | float | — |
SetRemapOutputMaxvoid
public void SetRemapOutputMax(float maxValue);| Имя | Тип | По умолчанию |
|---|---|---|
maxValue | float | — |
SetRemapOutputMinvoid
public void SetRemapOutputMin(float minValue);| Имя | Тип | По умолчанию |
|---|---|---|
minValue | float | — |
SetSeedvoid
public void SetSeed(int seed);| Имя | Тип | По умолчанию |
|---|---|---|
seed | int | — |
SetTerraceEnabledvoid
public void SetTerraceEnabled(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetTerraceMultipliervoid
public void SetTerraceMultiplier(float multiplier);| Имя | Тип | По умолчанию |
|---|---|---|
multiplier | float | — |
SetTerraceSmoothnessvoid
public void SetTerraceSmoothness(float smoothness);| Имя | Тип | По умолчанию |
|---|---|---|
smoothness | float | — |
UpdateGeneratorvoid
public void UpdateGenerator();Этот метод должен быть назван после того, как вы измените свойства, чтобы они могли вступить в силу.
FastNoise2.CellularDistanceFunctionEnum
| Значение | Описание |
|---|---|
Euclidean = 0 | |
EuclideanSq = 1 | |
Hybrid = 3 | |
Manhattan = 2 | |
MaxAxis = 4 |
FastNoise2.CellularReturnTypeEnum
FastNoise2.FractalTypeEnum
| Значение | Описание |
|---|---|
Fbm = 1 | |
None = 0 | |
PingPong = 3 | |
Ridged = 2 |
FastNoise2.NoiseTypeEnum
FastNoise2.SimdLevel
| Значение | Описание |
|---|---|
Avx = 128 | x86 Процессорная обработка процессора 8 плавает в одной инструкции. |
Avx2 = 256 | x86 Процессор 8 погружается в одну инструкцию с большим количеством инструкций, чем AVX. |
Avx512 = 512 | x86 Процессорная обработка 16 погружается в одну инструкцию. |
Neon = 65536 | Обработка 4 процессора ARM в одной инструкции. |
Null = 0 | Неопределенный уровень. |
Scalar = 1 | Одиночные номера, самый медленный уровень. |
Sse = 2 | x86 Обработка процессора 4 поплавки в одной инструкции. |
Sse2 = 4 | x86 Процессорная обработка 4 погружается в одну инструкцию с большим количеством инструкций, чем SSE. |
Sse3 = 8 | x86 Процессорная обработка 4-го процессора в одной инструкции, в которой содержится больше инструкций, чем в SSE3. |
Sse41 = 32 | x86 Процессорная обработка 4 погружается в одну инструкцию с большим количеством инструкций, чем SSE41. |
Sse42 = 64 | x86 Процессорная обработка 4 погружается в одну инструкцию с большим количеством инструкций, чем SSE42. |
Ssse3 = 16 | x86 Процессорная обработка 4-го процессора в одной инструкции, в которой содержится больше инструкций, чем в SSE4. |