[–] [S] 1 point 10 months ago (2 children)

Interesting point about monochrome. If I remember correctly though, pixels are rendered with rgba values right? So does monochrome do anything programmatically different than color? Or maybe grayscale does?

And no, i'm not vibing this...i want to learn how to do this myself and not just regurgitate some hallucinated bullshit.

I am lacking in how to write GUI applications without using a game engine. I used a lot of Unity with C# and way before that I was using actionscript with Flash lol but other than a handful of WPF apps and WinForms with Powershell I haven't done straight GUI applications.

  • source
  • parent
  • context
  • [–] [S] 1 point 10 months ago* (last edited 10 months ago)

    Yeah I think i'm leaning more toward the GPU/shader side of things so I'll take a look at the vulkano-rs and wgpu. I assume vulkano-rs is the rust implementation of the vulcan API?

    And it's funny you bring up Bevy, I was playing around with the idea of using Bevy or Godot as my wrapper. I have a lot of experience with Unity and I'm pretty comfortable with game engines but I've never used Unity ECS nor have I used Godot/Bevy specifically. I do like the idea of making a drawing app with a game engine as impractical as that may be lol.

    I don't want it limited to the browser. I was more wanting to make a full standalone application to run on the desktop. I also want to incorporate touch and leverage the GPU. So it sounds like vulkano-rs might be the thing to look into.

    EDIT: Forgot to mention that yeah, I'm looking at Rust for now but do you have a recommendation for other programming languages?

  • source
  • parent
  • context
  • [–] 57 points 10 months ago*

    But why?

    Wouldn’t it be better to spend the same effort writing ffmpeg modules and interfaces in Rust?

    keeping external dependencies to a minimum

    This is… concerning, too.

    Media processing code is difficult. It’s not even a pure coding problem, and often involves human perception, extensive, expensive experimentation and esoteric, buggy hardware APIs . Hence the whole point of ffmpeg is basically integration of external libraries, with immense amounts of labor already put into each.

    There are some Rust libraries they could pull in though. I guess it’d be reasonable to focus on newer formats/codecs that have Rust implementations already, and let ffmpeg handle weird legacy formats.

  • source
  • [–] 3 points 10 months ago (3 children)

    There are a few basic things you need to sort out first. Keep it as simple as possible so start monochrome, and just add functionality to draw dots on a canvas. You'll need file handling capability almost immediately so figure out a way to (de-)serialise the information to recreate the artwork to read and write it to a file.

    That'll keep you going for a few weeks, unless you're vibing it in which case months by which point you might have had other ideas of features to add, assuming you already know how to write GUI applications.

  • source
  • parent
  • context
  • [–] 42 points 10 months ago (1 child)

    Seems quite inadvisable unless backed by the larger video community, which in turn I think will be unlikely.

    Do not underestimate how incredibly load-bearing ffmpeg is to all of video technology, and do not underestimate the crazy shit going on inside it. It's a remarkable piece of technology.

  • source
  • [–] 2 points 10 months ago

    Yazi is very neat. First time I've wanted to use something like a file manager for some things instead of a shell since Amiga in the early 90's.

    Hopefully that will get into Debian soon so it's an easy option there as well.

  • source
  • view more: ‹ prev next ›