diff --git a/Engine/Physics/FluidSimulation/FluidSimulator.cpp b/Engine/Physics/FluidSimulation/FluidSimulator.cpp
index ee8f69e..ec6bf0e 100644
--- a/Engine/Physics/FluidSimulation/FluidSimulator.cpp
+++ b/Engine/Physics/FluidSimulation/FluidSimulator.cpp
@@ -366,9 +366,8 @@ namespace Engine
*prev_pos = pos * h + h2 - dt * vel;
}
- void FluidSimulator::RungeKutta2(const float dt, const float pos, const float h, const float h2,
- const float vel, const float dx, const float dy, float* prev_pos) const
- {
+ // void FluidSimulator::RungeKutta2( ... )
+ // {
/* We wrote the update rule for Forward-Euler above like this: *
* *
* x1 = x0 - dt * f(x0) *
@@ -390,13 +389,8 @@ namespace Engine
* k2 = f(t_n - h/2, y_n - h/2 * k1) *
* y_n+1 = y_n - h * k2 */
- //ToDo: Implement
- }
-
- void FluidSimulator::RungeKutta3() const
- {
- //ToDo: Implement
- }
+ // Currently implemented using multiple steps of forward euler
+ // }
// ----- Public -----
diff --git a/Engine/Physics/FluidSimulation/FluidSimulator.hpp b/Engine/Physics/FluidSimulation/FluidSimulator.hpp
index 2568311..222a688 100644
--- a/Engine/Physics/FluidSimulation/FluidSimulator.hpp
+++ b/Engine/Physics/FluidSimulation/FluidSimulator.hpp
@@ -24,9 +24,6 @@ namespace Engine
void AdvectSmoke(float dt);
void MonitorCFLStability(float dt, float value) const;
void ForwardEuler(float dt, float pos, float h, float h2, float vel, float* prev_pos);
- void RungeKutta2(float dt, float pos, float h, float h2,
- float vel, float dx, float dy, float* prev_pos) const;
- void RungeKutta3() const;
public:
FluidSimulator();
diff --git a/Engine/Rendering/Renderer/GridRenderer.cpp b/Engine/Rendering/Renderer/GridRenderer.cpp
index fdb9ffd..1124edd 100644
--- a/Engine/Rendering/Renderer/GridRenderer.cpp
+++ b/Engine/Rendering/Renderer/GridRenderer.cpp
@@ -155,7 +155,6 @@ namespace Engine
uint32 sampleAmount = width / size;
glm::uvec2 gridPos = pos;
- bool success = false;
//Go over the image in sampleAmount steps
for(uint32 x = 0; x < width; x += sampleAmount)
@@ -163,7 +162,7 @@ namespace Engine
for(uint32 y = 0; y < height; y += sampleAmount)
{
glm::uvec3 subsampledColor = {0, 0, 0};
- success = textureBuffer->SubsampleArea(x, y, sampleAmount, &subsampledColor);
+ bool success = textureBuffer->SubsampleArea(x, y, sampleAmount, &subsampledColor);
if(success)
{
diff --git a/README.md b/README.md
index 3d8f2c0..7db17a6 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
[![Build](https://github.com/Zang3th/SalinityGL/actions/workflows/build.yml/badge.svg?branch=liquefied-2d)](https://github.com/Zang3th/SalinityGL/actions/workflows/build.yml)
[![Static Analysis](https://github.com/Zang3th/SalinityGL/actions/workflows/analyze.yml/badge.svg?branch=liquefied-2d)](https://github.com/Zang3th/SalinityGL/actions/workflows/analyze.yml)
![OS](https://img.shields.io/badge/OS-Linux-blue)
-![Release](https://img.shields.io/badge/Release-v0.1.1-blue)
+![Release](https://img.shields.io/badge/Release-v0.2.0-blue)
## Introduction
@@ -23,12 +23,12 @@ SalinityGL is licensed under the [MIT LICENSE](https://github.com/Zang3th/GameEn
├── Apps/ # Demo applications
│ ├── GreenWorld/ # 3D nature scene
│ └── CellSim/ # 3D Cellular Automata System (on hold) ⌛
- │ └── Liquefied/ # 2D Eulerian Fluid Simulation (in development) 🔥
+ │ └── Liquefied/ # 2D Eulerian Fluid Simulation
├── Engine/
│ ├── Application/ # Application and interface stuff
│ ├── Core/ # Utilities and core engine functionalities
│ ├── Debug/ # Logging and error handling
- ├── Phyics/ # Code for cellular automata and fluid simulation
+ ├── Physics/ # Code for cellular automata and fluid simulation
│ ├── Rendering/ # GL stuff, buffers, renderer ...
│ └── Engine.hpp # Main header for include in the applications
├── Res/ # Assets, sounds and screenshots
@@ -39,7 +39,7 @@ SalinityGL is licensed under the [MIT LICENSE](https://github.com/Zang3th/GameEn
- Thin OpenGL-Wrapping
- VAO, VBO, IBO, FBO
- - Resource management (shaders, textures)
+ - Resource loading and management (shaders, textures)
- Error handling
- Window creation
- UI
@@ -57,10 +57,13 @@ SalinityGL is licensed under the [MIT LICENSE](https://github.com/Zang3th/GameEn
- Normal mapping
- Water rendering
- Instanced rendering
- - Flexible 2D particle system
+ - 2D particle system
- Smoke
- - Cellular Automata System (very primitive)
- Grid-Rendering
+ - Dynamic texture subsampling
+- Physics
+ - Cellular Automata System (very primitive)
+ - Eulerian Fluid Simulation
- File management
- Profiling
- Audio
@@ -80,7 +83,7 @@ Nature scene with water rendering, normal mapped objects, and a particle system
![CellSim](Res/Screenshots/CellSim/Screenshot_CS_011.png)
-### Liquefied (in development)
+### Liquefied
2D Eulerian Fluid Simulation on the CPU.
@@ -94,7 +97,7 @@ The engine and the demo applications are compiled separately. The engine is comp
### What you need
- Linux
- - Tested with Ubuntu 16.04 - 22.04
+ - Tested with Ubuntu 16.04 - 24.04
- C++17 compiler
- Tested Clang and GCC
- CMake 3.20 or newer
@@ -131,8 +134,8 @@ The engine and the demo applications are compiled separately. The engine is comp
| **Version** | **Date** | **Commit**
[Count / ID] | **Lines of code**
[Apps / Engine] | **Notes** |
|:------------------------------------------------------------------:|:----------:|:----------------------------:|:--------------------------------------:|:---------------------------------------:|
-| [0.1.1](https://github.com/Zang3th/GameEngine/releases/tag/v0.1.1) | 14.01.2023 | [255 / d425a33] | [480 / 4250] | Completion of the *GreenWorld* demo app |
-| [0.1.0](https://github.com/Zang3th/GameEngine/releases/tag/v0.1.0) | 11.06.2022 | [229 / 218a55e] | [575 / 4110] | First official release |
+| [0.1.1](https://github.com/Zang3th/SalinityGL/releases/tag/v0.1.1) | 14.01.2023 | [255 / d425a33] | [480 / 4250] | Completion of the *GreenWorld* demo app |
+| [0.1.0](https://github.com/Zang3th/SalinityGL/releases/tag/v0.1.0) | 11.06.2022 | [229 / 218a55e] | [575 / 4110] | First official release |
- 07/2021 - 09/2021: Rewrite of the engine core
- 01/2020 - 09/2020: Some very early projects (still under Windows)
@@ -143,9 +146,7 @@ I always work *on and off* on this project, but I try to make more regular relea
### Release preview
-- v0.2.0: Completion of the base foundation of the *Liquefied* app
-- v0.2.1: Multithreading and visual improvements to the *Liquefied* app
-- v0.2.2: Compute Shader implementation of the *Liquefied* app
+- v0.2.1: Multithreading and Compute Shader implementation of the *Liquefied* app
### Backlog
diff --git a/Res/Assets/Textures/Liquefied/Test_1C_4Px.png b/Res/Assets/Textures/Liquefied/Test_1C_4Px.png
deleted file mode 100644
index 5e05469..0000000
Binary files a/Res/Assets/Textures/Liquefied/Test_1C_4Px.png and /dev/null differ
diff --git a/Res/Assets/Textures/Liquefied/Test_2C_8Px.png b/Res/Assets/Textures/Liquefied/Test_2C_8Px.png
deleted file mode 100644
index 22ce4bc..0000000
Binary files a/Res/Assets/Textures/Liquefied/Test_2C_8Px.png and /dev/null differ
diff --git a/Res/Assets/Textures/Liquefied/Turbine_768.png b/Res/Assets/Textures/Liquefied/Turbine_768.png
deleted file mode 100644
index d13bf98..0000000
Binary files a/Res/Assets/Textures/Liquefied/Turbine_768.png and /dev/null differ
diff --git a/Scripts/LoC.sh b/Scripts/LoC.sh
index e3ea30c..05805e2 100755
--- a/Scripts/LoC.sh
+++ b/Scripts/LoC.sh
@@ -1,5 +1,9 @@
#!/bin/bash
+SCRIPT_DIR=$(dirname "$(realpath "$0")")
+PROJECT_ROOT=$(realpath "$SCRIPT_DIR/..")
+cd "$PROJECT_ROOT" || exit
+
loc_engine=$(find ./Engine -type f | xargs cat | wc -l)
echo "Lines in ./Engine: $loc_engine"
loc_apps=$(find ./Apps -type f | xargs cat | wc -l)