CodexArcanum, to GraphicsProgramming
@CodexArcanum@hachyderm.io avatar

Well, it took about 2 weeks longer than I expected (spare time for programming is especially spare at times!) but I finally finished swapping out the graphical backend of my roguelike project with a handrolled one using ! I'm super excited to be fully in control of my destiny!

Wgpu is still pretty difficult, even if it is cleaner than opengl with glow and . (And up-to-date with its own dependencies, always nice!)

CodexArcanum,
@CodexArcanum@hachyderm.io avatar

@laund
@crmsnbleyd

In terms of inspirations, I have looked into some Bevy code (I'm eventually going to have to do something about my ECS, and was checking theirs out) but I've mainly based my code on bracket-lib and a little referencing of a project called chargrid. The examples were also very helpful. Winit made a big change in their model in v0.3, the very day I was starting my rewrite, and no one has caught up to that yet.

itnewsbot, to RaspberryPi
@itnewsbot@schleuss.online avatar

The Juggler: In Rust - Back on the theme of learning to program by taking on a meaningful project — we ha... - https://hackaday.com/2024/03/04/the-juggler-in-rust/

AdeptVeritatis, to rust
@AdeptVeritatis@social.tchncs.de avatar

Added inputs.

A right-click on the label(!) of a value opens a context menu to bind a MIDI channel to this variable.

At the moment, only a couple of variables of mandala nodes are ready (e.g. fold, size, speed). But the rest will follow soon.

There are different modes for absolute knobs and for rotary encoders.

Try it out and give feedback, if you own any MIDI device with knobs.

https://gitlab.freedesktop.org/AdeptVeritatis/pw-videomix

AdeptVeritatis, to rust
@AdeptVeritatis@social.tchncs.de avatar

pw-videomix v0.2.1 is out!

After complex filter chains for endless combinations in last version:

Now with a color rotator node like changing hue constantly. Using a trigonometric function allows to select upper and lower borders for some nice effects.

Also the fader (stacker) is finally there to create slideshows of connected nodes with blending.

Try it out here:

https://gitlab.freedesktop.org/AdeptVeritatis/pw-videomix

#rust #rustlang #vulkan #egui #winit #opensource #freesoftware #creativecoding #art

AdeptVeritatis, to rust
@AdeptVeritatis@social.tchncs.de avatar

pw-videomix

Version 0.2.0 is out!

Now with complex filter chains for endless combinations.

New color mixer node.
New monitor node to see intermediary results.
New snapshot node to write uncompressed PNGs.
Complete rework of most of the other nodes.

New FPS display and lots of GUI improvements.
(Technical details can be found in docs/concept.txt.)

Try it out here:

https://gitlab.freedesktop.org/AdeptVeritatis/pw-videomix

AdeptVeritatis, to rust
@AdeptVeritatis@social.tchncs.de avatar

#Rust crate egui_winit_vulkano updated to v0.26.0.

Thanks! The changes make some things much clearer for me.

PS: Does anybody know, if Okko Hakola (hakolao) is here in the Fediverse?

#vulkan #winit

AdeptVeritatis, (edited ) to GraphicsProgramming
@AdeptVeritatis@social.tchncs.de avatar

Uploaded a preview of "pw-videomix" with a new render backend.

Amazing new possibilities!

Complex chains of mixers and mandala filter lead to marvelous animations. Even loopbacks between two mixers don't break anything. (Maybe keep an eye on GPU temps.)

Still more like a prototype, but the framework seems pretty solid.

Menu allows for a little bit more customization now.

You can find compiled binaries here:
https://gitlab.freedesktop.org/AdeptVeritatis/pw-videomix

AdeptVeritatis,
@AdeptVeritatis@social.tchncs.de avatar

Mixer values work now completely, by the way. You can blend in sources with the mix slider.

And move around, scale and remove the sources.

Click on the mixer node to open the side panel for all options.

AdeptVeritatis, (edited ) to GraphicsProgramming
@AdeptVeritatis@social.tchncs.de avatar

My video mixer got a huge overhaul. I ripped everything apart until nothing worked anymore.

Then I started to build the picture loading again, but this time in a custom #Vulkan pipeline. A separate window shows this content, but now in a render callback.

Today I got my mandala filter node working, writing the result to a frame buffer. Now I can combine multiple filter in a chain!

It seems to be pretty performant.

Will upload it within the next few days hopefully.

#Rust #rustlang #egui

AdeptVeritatis,
@AdeptVeritatis@social.tchncs.de avatar

Got it! :mastosunglasses:

Basic features are working: One artistic node and the mixer.

Now a lot of work is left to close and remove stuff and correctly connect all the other variables with the right places.
But holy cow, that was an adventure.

Color mixer and more in- and output options are on the list (write to files, #PipeWire, and that kind).

(Maybe a mandala as a template to create a mandala isn't the best example. :blobcatgooglytrash: )

#Egui #Vulkan #Winit #OpenSource #FreeSoftware

AdeptVeritatis, (edited ) to GraphicsProgramming
@AdeptVeritatis@social.tchncs.de avatar

#Vulkano, a "Safe wrapper for the #Vulkan graphics API" in #Rust released version 0.34 two days ago.

When I started using it, 0.33 was previously released. But there were changes with layouts from pipelines. And the version on crates.io was somehow out of sync with the examples and the git repository. There was stuff, I just couldn't get to work.

I am so happy now to hopefully be able to replace all the workarounds.

Thanks to all the contributors!

#OpenSource #FreeSoftware

AdeptVeritatis,
@AdeptVeritatis@social.tchncs.de avatar

My project depends on #winit, #egui, #vulkano and the egui_winit_vulkan wrapper. Trying to use egui render callbacks with secondary pipelines, is really confusing sometimes. Searching and searching until I realized, what I tried to achieve, isn't part of egui but the wrapper. Same with egui and winit.
But that time needed to be spent.

Now I read so many different pipeline constructors and shader implementations, that they don't look confusing to me anymore.
Nice.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines