Skip to content

Commit

Permalink
Change serialisation to cope with variables being added/removed from …
Browse files Browse the repository at this point in the history
…nodes
  • Loading branch information
Auburn committed May 19, 2024
1 parent 94a8aa3 commit 4e36b8d
Show file tree
Hide file tree
Showing 4 changed files with 188 additions and 83 deletions.
6 changes: 3 additions & 3 deletions include/FastNoise/Generators/Generator.h
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ namespace FastNoise
template<typename T, typename U, typename = std::enable_if_t<!std::is_enum_v<T>>>
void AddPerDimensionVariable( NameDesc nameDesc, T defaultV, U&& func, T minV = 0, T maxV = 0, float uiDragSpeed = std::is_same_v<T, float> ? Metadata::kDefaultUiDragSpeedFloat : Metadata::kDefaultUiDragSpeedInt )
{
for( int idx = 0; (size_t)idx < sizeof( PerDimensionVariable<T>::varArray ) / sizeof( *PerDimensionVariable<T>::varArray ); idx++ )
for( int idx = 0; (size_t)idx < (size_t)Dim::Count; idx++ )
{
MemberVariable member;
member.name = nameDesc.name;
Expand Down Expand Up @@ -360,7 +360,7 @@ namespace FastNoise
using GeneratorSourceT = typename std::invoke_result_t<U, GetArg<U, 0>>::type::Type;
using T = typename GeneratorSourceT::Type;

for( int idx = 0; (size_t)idx < sizeof( PerDimensionVariable<GeneratorSourceT>::varArray ) / sizeof( *PerDimensionVariable<GeneratorSourceT>::varArray ); idx++ )
for( int idx = 0; (size_t)idx < (size_t)Dim::Count; idx++ )
{
MemberNodeLookup member;
member.name = nameDesc.name;
Expand Down Expand Up @@ -428,7 +428,7 @@ namespace FastNoise
using HybridSourceT = typename std::invoke_result_t<U, GetArg<U, 0>>::type::Type;
using T = typename HybridSourceT::Type;

for( int idx = 0; (size_t)idx < sizeof( PerDimensionVariable<HybridSourceT>::varArray ) / sizeof( *PerDimensionVariable<HybridSourceT>::varArray ); idx++ )
for( int idx = 0; (size_t)idx < (size_t)Dim::Count; idx++ )
{
MemberHybrid member;
member.name = nameDesc.name;
Expand Down
40 changes: 21 additions & 19 deletions src/FastNoise/FastSIMD_Build.inl
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,10 @@ FASTNOISE_REGISTER_NODE( SineWave );
FASTNOISE_REGISTER_NODE( PositionOutput );
FASTNOISE_REGISTER_NODE( DistanceToPoint );

FASTNOISE_REGISTER_NODE( Value );
FASTNOISE_REGISTER_NODE( Perlin );
FASTNOISE_REGISTER_NODE( Simplex );
FASTNOISE_REGISTER_NODE( OpenSimplex2 );
FASTNOISE_REGISTER_NODE( OpenSimplex2S );
FASTNOISE_REGISTER_NODE( Perlin );
FASTNOISE_REGISTER_NODE( Value );

FASTNOISE_REGISTER_NODE( CellularValue );
FASTNOISE_REGISTER_NODE( CellularDistance );
Expand All @@ -103,36 +102,39 @@ FASTNOISE_REGISTER_NODE( CellularLookup );
FASTNOISE_REGISTER_NODE( FractalFBm );
FASTNOISE_REGISTER_NODE( FractalPingPong );
FASTNOISE_REGISTER_NODE( FractalRidged );


FASTNOISE_REGISTER_NODE( DomainWarpOpenSimplex );
FASTNOISE_REGISTER_NODE( OpenSimplex2S );
FASTNOISE_REGISTER_NODE( DomainWarpGradient );

FASTNOISE_REGISTER_NODE( DomainWarpFractalProgressive );
FASTNOISE_REGISTER_NODE( DomainWarpFractalIndependant );

FASTNOISE_REGISTER_NODE( DomainScale );
FASTNOISE_REGISTER_NODE( DomainOffset );
FASTNOISE_REGISTER_NODE( DomainRotate );
FASTNOISE_REGISTER_NODE( SeedOffset );
FASTNOISE_REGISTER_NODE( Remap );
FASTNOISE_REGISTER_NODE( ConvertRGBA8 );

FASTNOISE_REGISTER_NODE( Add );
FASTNOISE_REGISTER_NODE( Subtract );
FASTNOISE_REGISTER_NODE( Multiply );
FASTNOISE_REGISTER_NODE( Divide );

FASTNOISE_REGISTER_NODE( Abs );
FASTNOISE_REGISTER_NODE( Min );
FASTNOISE_REGISTER_NODE( Max );
FASTNOISE_REGISTER_NODE( MinSmooth );
FASTNOISE_REGISTER_NODE( MaxSmooth );
FASTNOISE_REGISTER_NODE( Fade );

FASTNOISE_REGISTER_NODE( Terrace );
FASTNOISE_REGISTER_NODE( SquareRoot );
FASTNOISE_REGISTER_NODE( PowFloat );
FASTNOISE_REGISTER_NODE( PowInt );

FASTNOISE_REGISTER_NODE( DomainScale );
FASTNOISE_REGISTER_NODE( DomainOffset );
FASTNOISE_REGISTER_NODE( DomainRotate );
FASTNOISE_REGISTER_NODE( DomainAxisScale );
FASTNOISE_REGISTER_NODE( AddDimension );
FASTNOISE_REGISTER_NODE( RemoveDimension );

FASTNOISE_REGISTER_NODE( SeedOffset );
FASTNOISE_REGISTER_NODE( ConvertRGBA8 );
FASTNOISE_REGISTER_NODE( GeneratorCache );
FASTNOISE_REGISTER_NODE( SquareRoot );
FASTNOISE_REGISTER_NODE( Abs );

FASTNOISE_REGISTER_NODE( DomainWarpOpenSimplex );
FASTNOISE_REGISTER_NODE( Fade );
FASTNOISE_REGISTER_NODE( Remap );
FASTNOISE_REGISTER_NODE( Terrace );
FASTNOISE_REGISTER_NODE( AddDimension );
FASTNOISE_REGISTER_NODE( RemoveDimension );
Loading

0 comments on commit 4e36b8d

Please sign in to comment.