diff options
author | mattkae <mattkae@protonmail.com> | 2022-01-09 20:36:08 -0500 |
---|---|---|
committer | mattkae <mattkae@protonmail.com> | 2022-01-09 20:36:08 -0500 |
commit | eef48388c610bf37b07aedef03c55344d450386b (patch) | |
tree | 162a5dd670f4a4a171dde6d7dbf6bb209363e90d /themes/Snowflake.h | |
parent | c3bff045eb9e28e8e49d511c9e15e13db25a2319 (diff) |
(mkosarek) Beginnig work on snowflake theme
Diffstat (limited to 'themes/Snowflake.h')
-rw-r--r-- | themes/Snowflake.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/themes/Snowflake.h b/themes/Snowflake.h new file mode 100644 index 0000000..09b05db --- /dev/null +++ b/themes/Snowflake.h @@ -0,0 +1,36 @@ +#include "types.h" +#include "mathlib.h" + +struct Renderer2d; +struct SnowflakeUpdateData; +struct SnowflakeRenderData; + +struct SnowflakeLoadParameters { + int32 maxSnowflakes = 10000; + float32 rateOfSnowfall = 0.1f; + Vector3 flakeV0 = { 0, 1, 0 }; + float32 flakeSize = 5.f; + float32 flakeSizeDeviation = 1.f; + Vector4 snowColor = { 0.8, 0.8, 0.8, 1.0 }; +}; + +struct SnowflakeParticleRenderer { + int32 activeIndex = 0; + Vector3 windSpeed = { 0, 0, 0 }; + SnowflakeUpdateData* updateData; + SnowflakeRenderData* renderData; + + void load(SnowflakeLoadParameters params, Renderer2d* renderer);o + void update(float32 dtSeconds); + void render(Renderer2d* renderer); + void unload(); +}; + +struct SnowflakeUpdateData { + Vector3 velocity; + Vector3 position; +}; + +struct SnowflakeRenderData { + +}; |