Posts

Showing posts with the label vkcv

Development in 2024

Hey everyone, welcome to my yearly recap of the year 2024. What happened? What did I work on? Well, quite a lot actually. So let’s start with the biggest project and continue from there. The GNUnet Messenger got funding from NLnet again as I mentioned in the end of last year. The new goal was to improve usability and add new features. What features are we talking about exactly? My concept was to achieve feature parity with most popular messaging apps but sticking to a decentralized context. For example I wanted to add profile pictures. But we can’t simply upload image files to a profile picture server/provider and poll from there for any new contact we get. So the solution required a bit of hacking around in the back-end. I used reclaimID from GNUnet to allow users sharing personal information with selected contacts of their choice and profile pictures may be such personal information for example. That means we can upload encrypted image files to a decentralized file sharing ser...

Development in 2023

Hey everyone, welcome to my second (maybe this will become yearly now) overview of what projects I contributed to over the last year. You might remember that I already had enough projects for a filled up schedule but I can ensure you, I found something to derail my focus even more. But let’s call it another little gift to unwrap instead. The graphical Messenger application only got a few fixes, mostly to patch package configurations. I also changed the build system from GNU Autotools to Meson . Hopefully that’s the last time I change the build system. The service in GNUnet got some more contributions from me lately. Partially because I got financial support from NLnet again which I’m thankfully for. Also because I want to bring my studies to an end and it’s a great topic for research. But honestly I want this project to become a practical option for messaging. So you can expect more contributions on this project in the next months as well as my monthly blog posts about its progres...

Development in 2022

Hey everyone, you have probably noticed that I didn’t provide the monthly updates about the GNUnet Messenger API since September . The reason for this is that my first goals completed and while I continued working on it, I contributed to other projects as well. So my time was limited. For example I did a lot of refactoring source code in the VkCV Vulkan framework and recently pushed a new release with a lot of features for developing graphics and rendering applications. There’s now also a blog to learn developing first graphics applications with this framework to utilize Vulkan (a cross compatible API for GPU acceleration). I’m currently one of the biggest contributors to this framework. So if anything might not work, feel free to contact me. Testing is very welcome and it’s fully open-source. That means contributions are welcome as well. Next thing I’m always trying to improve if I find the time is Manuskript . It’s a great tool for writers but it needs some work cleaning up its...

Firework with particles in Vulkan

Image
In the last months another fellow student and I implemented a firework simulation at the university. It’s not as complex as the material point method from the last simulation project I talked about on this blog but I didn’t wanted to go through the same hassle as last time either… 😅 We still used the VkCV (the Vulkan framework I am still working on) and the project is currently merging into the sample projects of the framework . So you can check it out yourself given that you have a device supporting Vulkan (works great on the Steam Deck by the way 😄). firework demo #1 The results are nonetheless pretty good. With a little more time the smoke could have looked even better. So maybe when I find the time, I’ll try to tweak it a bit. Most awesome aspect of this application is that different kinds of fireworks can be customized quite easily from the applications code. Because everything is structured as graph of events which can be timed in execution. firework demo #2 The ...

Material point method in Vulkan

During the lat weeks I implemented with a few other students at university a simulation for soft-body dynamics and really basic fluids using the material point method (in short MPM ). The goal was to use different sizes for individual particles which would decrease or increase their specific area of impact. It pretty much works like this: 👉 1. You have an amount of particles which you spread around to represent a specific volume (for example a sphere or a cube but it could be any mesh really). Then you give each particle a mass, velocity, position and volume. The particles will pass in their area of impact their information about mass and velocity into a grid data structure as weighted impulse and weighted mass depending on the distance between each grid cell and your particle. 👉 2. The next step is to adjust forces to the grid cells and collect data in the area of impact of each particle from cell back to the particle. Then you calculate from that the new velocity of the particl...

VkCV 0.1.0 released!

This year I collaborated with many other students at the university on a computer graphics framework using the Vulkan API. We designed it to function rather modular and while it abstracts several parts of the Vulkan API and memory management to ease development, it still allows you to utilize Vulkan’s openness and the use of various extensions. We implemented several example projects with the framework to show how it can be utilized. There are also modules extending the capabilities from the framework to load GLTF assets, manage a scene graph, handling cameras, rendering GUI with ImGui and even image upscaling in realtime using FSR from the GPUOpen initiative. It’s also possible to use the framework for non-rendering projects like simulation utilizing Vulkan compute shaders and its compute pipelines. You can find a video showcasing the different example projects containing modern features like mesh shaders and ray tracing on YouTube . You can also find a more detailed explanati...