aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-02-24Extract interaction logic into separate shaderAdrian Kummerlaender
The collide shader became to crowded for my taste. As a nice side benefit we can now execute interaction processing only when actual interaction is taking place.
2019-02-24Smoothen mouse interactionAdrian Kummerlaender
2019-02-23Store material in fluid buffer and improve visualizationAdrian Kummerlaender
Replaces the density value which is actually not that useful for visualization. Encoding integer values as floats by casting and comparing them using exact floating point comparison is not very safe but works out for now.
2019-02-22Tidy up wall drawing and geometry initializationAdrian Kummerlaender
2019-02-22Improvise interactive wall drawingAdrian Kummerlaender
Internal wall cells need to be disabled to prevent delayed propagation of the reflected populations. This is just quickly thrown together - both the visual drawing and the backend's material handling remain to be improved.
2019-02-20Tidy up streaming and bounce back boundary handlingAdrian Kummerlaender
Introduce a inactive receive-only outer boundary to simplify streaming. Extract and generalize bounce back handling. Further work will require tracking cell _material_ to enable both easier definition and dynamic updating of the geometry.
2019-02-20Initialize cells using their equilibrium distributionAdrian Kummerlaender
2019-02-18Use same population indexing in collide and streamAdrian Kummerlaender
Increases consistency and should help to avoid confusion
2019-01-15Add MIT licenseAdrian Kummerlaender
2018-12-27Add README.mdAdrian Kummerlaender
2018-12-19Extract equilibrium functionAdrian Kummerlaender
2018-12-19Loopify density functionAdrian Kummerlaender
…seems to be correctly unrolled during compilation. Or at least no performance impact is visible.
2018-12-19Use GLSL's mix function for color scalingAdrian Kummerlaender
2018-12-19Tidy up external influence implementationAdrian Kummerlaender
2018-12-18Hacky mouse-based fluid interactionAdrian Kummerlaender
2018-12-18Use pressure as velocity norm display amplifierAdrian Kummerlaender
2018-12-18Purify collide shaderAdrian Kummerlaender
i.e. move fluid vertex placement to appropriate vertex shader. Do not amplify or shift fluid moments in any way prior to passing it to the display pipeline.
2018-12-17Clean up stream and collide compute shadersAdrian Kummerlaender
2018-12-17Keep track of window size in its wrapper classAdrian Kummerlaender
2018-12-17Try out velocity norm color mappingAdrian Kummerlaender
2018-12-17Fix glDrawArray callAdrian Kummerlaender
2018-12-16Filter weird origin vertexAdrian Kummerlaender
The same thing occurs in computicle. I suspect some initialization / compute shader invokation problem. On the other hand: Why would that happen for the origin vertex and not e.g. the first or last vertex in memory? To be investigated further.
2018-12-16Generate fluid display using geometry shadersAdrian Kummerlaender
This should provide much more flexibility. For our purpose it would be useful if the vertex shader was executed after the geometry shader (to apply the projection matrix) but alas this is not the case. Thus the MVP matrix is applied during geometry construction and the vertex shader only provides density extraction.
2018-12-16Regeneralize ComputeShader wrapperAdrian Kummerlaender
2018-12-16Parametrize lattice resolutionAdrian Kummerlaender
2018-12-15Hacky D2Q9 BGK LBM on GPU using GLSL compute shadersAdrian Kummerlaender
Improvised on top of computicles's scaffolding. Works in a world where _works_ is defined as "displays stuff on screen that invokes thoughts of fluid movement".