diff options
Diffstat (limited to 'src/main.cc')
| -rw-r--r-- | src/main.cc | 12 | 
1 files changed, 5 insertions, 7 deletions
diff --git a/src/main.cc b/src/main.cc index f685c8f..c9fb347 100644 --- a/src/main.cc +++ b/src/main.cc @@ -10,7 +10,6 @@  #include "buffer/vertex/fluid_cell_buffer.h"  #include "buffer/vertex/lattice_cell_buffer.h" -#include "buffer/vertex/material_buffer.h"  #include "shader/wrap/graphic_shader.h"  #include "shader/wrap/compute_shader.h" @@ -67,7 +66,6 @@ int renderWindow() {  	std::unique_ptr<LatticeCellBuffer> lattice_a;  	std::unique_ptr<LatticeCellBuffer> lattice_b;  	std::unique_ptr<FluidCellBuffer>   fluid; -	std::unique_ptr<MaterialBuffer>    geometry;  	std::unique_ptr<ComputeShader> collide_shader;  	std::unique_ptr<ComputeShader> stream_shader; @@ -78,12 +76,12 @@ int renderWindow() {  		lattice_a = std::make_unique<LatticeCellBuffer>(nX, nY);  		lattice_b = std::make_unique<LatticeCellBuffer>(nX, nY); -		fluid     = std::make_unique<  FluidCellBuffer>(nX, nY); -		geometry  = std::make_unique<   MaterialBuffer>(nX, nY, [](int x, int y) -> int { +		fluid     = std::make_unique<  FluidCellBuffer>(nX, nY, [](int x, int y) -> int {  			if ( x == 0 || y == 0 || x == nX-1 || y == nY-1 ) {  				return 0; // disable end of world  			} -			if ( (x == 1 || x == nX-2) && (y == 1 || y == nY-2) ) { +			if (   ((x == 1 || x == nX-2) && (y > 0 && y < nY-1)) +			    || ((y == 1 || y == nY-2) && (x > 0 && x < nX-1)) ) {  				return 2; // bounce back outer walls  			}  			return 1; // everything shall be fluid @@ -105,8 +103,8 @@ int renderWindow() {  	auto pause_key = window.getKeyWatcher(GLFW_KEY_SPACE); -	auto tick_buffers = { lattice_a->getBuffer(), lattice_b->getBuffer(), fluid->getBuffer(), geometry->getBuffer() }; -	auto tock_buffers = { lattice_b->getBuffer(), lattice_a->getBuffer(), fluid->getBuffer(), geometry->getBuffer() }; +	auto tick_buffers = { lattice_a->getBuffer(), lattice_b->getBuffer(), fluid->getBuffer() }; +	auto tock_buffers = { lattice_b->getBuffer(), lattice_a->getBuffer(), fluid->getBuffer() };  	window.render([&](bool window_size_changed) {  		if ( pause_key.wasClicked() ) {  | 
