Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-02-25 | Merge streaming into collide shaderpattern/ab | Adrian Kummerlaender | |
i.e. implement the A-B pattern. Dispatching only one compute shader per interaction-less simulation step already yields very noticeable performance gains. All cell types are now fully handled by the collide shader which further simplifies the code. | |||
2019-02-24 | Add flag to select initial geometrypattern/trivial | Adrian Kummerlaender | |
2019-02-24 | Play around with open boundaries | Adrian Kummerlaender | |
2019-02-24 | Further abstract mouse handling | Adrian Kummerlaender | |
2019-02-24 | Move geometry initialization into named function | Adrian Kummerlaender | |
2019-02-24 | Extract interaction logic into separate shader | Adrian 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-24 | Smoothen mouse interaction | Adrian Kummerlaender | |
2019-02-23 | Store material in fluid buffer and improve visualization | Adrian 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-22 | Tidy up wall drawing and geometry initialization | Adrian Kummerlaender | |
2019-02-22 | Improvise interactive wall drawing | Adrian 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-20 | Tidy up streaming and bounce back boundary handling | Adrian 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-20 | Initialize cells using their equilibrium distribution | Adrian Kummerlaender | |
2019-02-18 | Use same population indexing in collide and stream | Adrian Kummerlaender | |
Increases consistency and should help to avoid confusion | |||
2019-01-15 | Add MIT license | Adrian Kummerlaender | |
2018-12-27 | Add README.md | Adrian Kummerlaender | |
2018-12-19 | Extract equilibrium function | Adrian Kummerlaender | |
2018-12-19 | Loopify density function | Adrian Kummerlaender | |
…seems to be correctly unrolled during compilation. Or at least no performance impact is visible. | |||
2018-12-19 | Use GLSL's mix function for color scaling | Adrian Kummerlaender | |
2018-12-19 | Tidy up external influence implementation | Adrian Kummerlaender | |
2018-12-18 | Hacky mouse-based fluid interaction | Adrian Kummerlaender | |
2018-12-18 | Use pressure as velocity norm display amplifier | Adrian Kummerlaender | |
2018-12-18 | Purify collide shader | Adrian 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-17 | Clean up stream and collide compute shaders | Adrian Kummerlaender | |
2018-12-17 | Keep track of window size in its wrapper class | Adrian Kummerlaender | |
2018-12-17 | Try out velocity norm color mapping | Adrian Kummerlaender | |
2018-12-17 | Fix glDrawArray call | Adrian Kummerlaender | |
2018-12-16 | Filter weird origin vertex | Adrian 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-16 | Generate fluid display using geometry shaders | Adrian 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-16 | Regeneralize ComputeShader wrapper | Adrian Kummerlaender | |
2018-12-16 | Parametrize lattice resolution | Adrian Kummerlaender | |
2018-12-15 | Hacky D2Q9 BGK LBM on GPU using GLSL compute shaders | Adrian 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". |