vello
filmulator-gui
Our great sponsors
vello | filmulator-gui | |
---|---|---|
31 | 19 | |
1,873 | 655 | |
11.1% | - | |
9.4 | 0.0 | |
2 days ago | 12 days ago | |
Rust | C++ | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
vello
-
Rive Renderer – now open source and available on all platforms
I'm looking forward to doing careful benchmarking, as this renderer absolutely looks like it will be competitive. It turns out that is really hard to do, if you want meaningful results.
My initial take is that performance will be pretty dependent on hardware, in particular support for pixel local storage[1]. From what I've seen so far, Apple Silicon is the sweet spot, as there is hardware support for binning and sorting to tiles, and then asking for fragment shader execution to be serialized within a tile works well. On other hardware, I expect the cost of serializing those invocations to be much higher.
One reason we haven't done deep benchmarking on the Vello side is that our performance story is far from done. We know one current issue is the use of device atomics for aggregating bounding boxes. We have a prototype implementation [2] that uses monoids for segmented reduction. Additionally, we plan to do f16 math (which should be a major win especially on mobile), as well as using subgroups for various prefix sum steps (subgroups are in the process of landing in WebGPU[3]).
Overall, I'm thrilled to see this released as open source, and that there's so much activity in fast GPU vector graphics rendering. I'd love to see a future in which CPU path rendering is seen as being behind the times, and this moves us closer to that future.
[1]: https://dawn.googlesource.com/dawn/+/refs/heads/main/docs/da...
- WebKit Switching to Skia for 2D Graphics Rendering
-
Looking for this. html + css rendering through wgpu.
Dioxus is working on this with blitz. It's leveraging wgpu through the linebender group's Vello renderer. Still in early stages.
-
A note on Metal shader converter
If you're doing advanced compute work (including lock-free data structures), then it's best effort.
https://github.com/linebender/vello/issues/42 is an issue from when Vello (then piet-gpu) had a single-pass prefix sum algorithm. Looking back, I'm fairly confident that it's a shader translation issue and that it wouldn't work with MoltenVK either, but we stopped investigating when we moved to a more robustly portable approach.
-
XUL Layout has been removed from Firefox
There are a number of up-and-coming Rust-based frameworks in this niche:
- https://github.com/iced-rs/iced (probably the most usable today)
- https://github.com/vizia/vizia
- https://github.com/marc2332/freya
- https://github.com/linebender/xilem (currently very incomplete but exciting because it's from a team with a strong track record)
What is also exciting to me is that the Rust GUI ecosystem is in many cases building itself up with modular libraries. So while we have umpteen competing frameworks they are to a large degree all building and collaborating on the same foundations. For example, we have:
- https://github.com/rust-windowing/winit (cross-platform window creation)
- https://github.com/gfx-rs/wgpu (abstraction on top of vulkan/metal/dx12)
- https://github.com/linebender/vello (a canvas like imperative drawing API on top of wgpu)
- https://github.com/DioxusLabs/taffy (UI layout algorithms)
- https://github.com/pop-os/cosmic-text (text rendering and editing)
- https://github.com/AccessKit/accesskit (cross-platform accessibility APIs)
In many cases there a see https://blessed.rs/crates#section-graphics-subsection-gui for a more complete list of frameworks and foundational libraries)
-
Recommended UI framework to draw many 2D lines?
Vello (https://github.com/linebender/vello) which uses wgpu to render Edit: just saw you require images. Vello doesn't support those yet
-
Announcing piet-glow, a GL-based implementation of Piet for 2D rendering
How does this relate to Vello? Both target raw-window-handle for winit compatibility. Vello uses WGPU vs piet-glow using GL.
-
Taffy 0.3: UI layout in Rust, now with css-grid!
It seems like bevy is pretty committed to making it's own UI which uses bevy_ecs to store all the UI data, which Xilem is unlikely to adopt. However, the underlying renderer for Xilem (vello) does already have a bevy integration example, so it's likely that might be able to use Xilem with bevy as a 3rd-party package similar to the existing bevy_egui.
-
Announcing concoct! A cross-platform native UI framework (formerly viewbuilder)
Thanks (: I wish vello was more mature but skia is amazing with how much it supports
-
Canvas API for Bevy?
Unfortunately immediate mode 2d graphics is a bit lacking at the moment. Usually rendering is done with entities. Still, there's Vello which seems very promising, but it's still unstable. There's also bevy_keith but it's a bit outdated (0.8)
filmulator-gui
-
Make Your Renders Unnecessarily Complicated by Modeling a Film Camera in Blender [video]
I'd also (re-)add: film is just one part of a transmission process.
Film has to be developed into something. And that's a chemical process, which is non-linear. Developer, the bath you put film in to activate the still blank but exposed reel, to turn the grains into actual "developed" photo, is a complex analog process. "Developer" is expended while developing film & becomes less effective at developing, creating a much stronger local contrast across pictures in a natural chemical way.
There's a pretty complex Shannon Information Theory system going on here, which I'm not certain how to model. There's maybe a information->transmit->medium->receive->information model between the scene and the film. Then an entirely separate information->transmit->medium->recieve->information model between the undeveloped scene and what actually shows up when you "develop" the film.
As you say, there are quite a variety of film types with different behaviors. https://github.com/t3mujin/t3mujinpack is set of Darktable presets to emulate various types of film. But the behavior of the film is still only half of the process. As I said in my previous post, developing the film is a complex chemical process, with lots of local effects for different parts of the image. There's enormous power here. https://filmulator.org/ is an epic project, that, in my view, is incredibly applicable to almost all modern digital photography, that could help us so much, to move beyond raw data & help us appreciate scenes more naturally. It's not "correct" but my personal view is the aesthetic is much better, and it somewhat represents what the human eye does anyways, with it's incredible ability to comprehend & view dynamic range.
-
Show HN: Filmbox, physically accurate film emulation, now on Linux and Windows
How does this compare to my Filmulator, which basically runs a simulation of stand development?
(I've been too busy on another project to dedicate too much time to it the past year, and dealing with Windows CI sucks the fun out of everything, so it hasn't been updated in a while…)
-
Darktable 4.0.0 Released
> I don't want to do elaborate stuff like working with masks / applying filters to sections of the photo only. Only thing I usually do is increase saturation, and, rarely, brightness/aperture.
I don't think you're the intended audience for darktable. Try https://filmulator.org/
-
What is the best non-subscription photo editor?
There's a list in the FAQ. I try to stick to free and open-source software. Darktable, RawTherapee, and Filmulator have varying levels of complexity.
- How impactful is free and open source software development?
- Ink Traps and Pals
-
Filmulator – a streamlined, open-source raw photo editor
ok, this is cool: it actually simulated the physical process of how film developer chemistry "spreads/gets used"
https://github.com/CarVac/filmulator-gui/blob/master/filmula...
What are some alternatives?
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
msdfgen - Multi-channel signed distance field generator
Vrmac - Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.
troika - A JavaScript framework for interactive 3D and 2D visualizations
tinyraytracer - A brief computer graphics / rendering course
photostructure-for-servers - PhotoStructure is your new home for all your photos and videos. Installation should only take a couple minutes.
sosumi-snap
gpuweb - Where the GPU for the Web work happens!
RawTherapee - A powerful cross-platform raw photo processing program
compute-shader-101 - Sample code for compute shader 101 training
darktable - darktable is an open source photography workflow application and raw developer
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧