summaryrefslogtreecommitdiff
path: root/themes/Snowflake.h
diff options
context:
space:
mode:
authormattkae <mattkae@protonmail.com>2022-01-09 20:36:08 -0500
committermattkae <mattkae@protonmail.com>2022-01-09 20:36:08 -0500
commiteef48388c610bf37b07aedef03c55344d450386b (patch)
tree162a5dd670f4a4a171dde6d7dbf6bb209363e90d /themes/Snowflake.h
parentc3bff045eb9e28e8e49d511c9e15e13db25a2319 (diff)
(mkosarek) Beginnig work on snowflake theme
Diffstat (limited to 'themes/Snowflake.h')
-rw-r--r--themes/Snowflake.h36
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 {
+
+};