Const-me/Vrmac
View on GitHub ↗ ★ 129 C#
Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.
86 mentions on Hacker News by 3 people: 1 story, 85 comments · first 2020-05-18 · latest 2024-10-09
20082026
-
If someone paid me to do something similar, I would probably be building on top of this: https://github.com/Const-me/Vrmac There’re two hard problems there. One is how to render vector graphics and fonts. So far, only web browsers do that…
comment by Const-me · 2021-02-19 · in Tauri: An Electron alternative written in Rust -
…layer Writing such renderers is huge amount of work. I know because I once did something similar: https://github.com/Const-me/Vrmac When I can, I prefer someone else to do that. Unfortunately, they all do it differently. Not just in terms…
comment by Const-me · 2021-02-17 · in The complexity that lives in the GUI -
…You are using 2x MSAA for the main pass. At least for my test cases on Pi4 (see e.g. this project https://github.com/Const-me/Vrmac ), even 2x MSAA ruined performance, if you use the same setting on Pi4, I think that contributed the most…
comment by Const-me · 2021-02-14 · in GTA III and Vice City fully reverse engineered: re3 -
…better than what WebRender is doing. The performance is good even on Raspberry Pi. This library https://github.com/Const-me/Vrmac uses 3 of them for 2D graphics: RGBA for sprites, another RGBA for ClearType fonts, and grayscale one for…
comment by Const-me · 2021-02-04 · in Improving texture atlas allocation in WebRender -
…trivial It stops being trivial if you want these circles to look nice and render fast. Take a look: https://github.com/Const-me/Vrmac#vector-graphics-engine
comment by Const-me · 2021-02-04 · in Computer Graphics from Scratch -
…made a toy project for Pi4 that can render GLES content either with or without desktop manager: https://github.com/Const-me/Vrmac/ I did observe occasional tearing on desktop, with both 3D content or accelerated h264 video. Maximizing…
comment by Const-me · 2021-01-27 · in Netflix and Spotify on a Raspberry Pi 4 with Chromium and Widevine -
…There’re a few incompatibilities but these are minor. Here’s one example, in a vertex shader: https://github.com/Const-me/Vrmac/blob/master/RenderSamples/...
comment by Const-me · 2020-11-26 · in Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance -
If you’re OK with .NET, you can try my library: https://github.com/Const-me/Vrmac/ The library supports both X windows, and bare OS kernel DRM/KMS. Spinning textured cube: https://github.com/Const-me/Vrmac/tree/master/RenderSamples/...…
comment by Const-me · 2020-11-25 · in Raspberry Pi 4 V3DV graphics driver achieves Vulkan 1.0 conformance -
…Pretty close to nothing. https://github.com/Const-me/SkyFM https://github.com/Const-me/vis_avs_dx https://github.com/Const-me/Vrmac
comment by Const-me · 2020-11-16 · in After losing my savings as an indie hacker, I can't do it anymore. I quit. -
…work to write a program using KMS and libinput I did it several times, both for hire and for lulz: https://github.com/Const-me/Vrmac/ drm/kms pieces are in C++ and not in that repo, but raw input is there, was easy:…
comment by Const-me · 2020-10-29 · in Graphical User Interface Using Flutter in Embedded Systems [pdf] -
…a certain degree, some days, for some people, for some video cards. Cases in point: this project, https://github.com/const-me/Vrmac/ a non-trivial demo such as 3D teapot or 2D tiger. Run that in desktop, and you’ll see occasional tearing.…
comment by Const-me · 2020-10-26 · in The X.Org Server Is Abandonware? -
…in windowed mode under load), while consuming less resources than windowed mode. This library: https://github.com/Const-me/Vrmac
comment by Const-me · 2020-10-25 · in The X.Org Server Is Abandonware? -
…drivers. There's no high level GPU-centric graphics libraries, I tried once with moderate success https://github.com/Const-me/Vrmac but that only supports one specific Debian Linux on one specific computer which happens to support GLES…
comment by Const-me · 2020-10-25 · in The X.Org Server Is Abandonware? -
…features. Here's an example of non-trivial code written in that style for performance reasons: https://github.com/Const-me/Vrmac/tree/master/VrmacVideo
comment by Const-me · 2020-10-01 · in You're Allowed to Write Slow Rust Code -
…and I find it fast enough for all practical applications, including GLES rendering on ARM Linux: https://github.com/Const-me/Vrmac/
comment by Const-me · 2020-09-22 · in .NET 5.0 – New APIs -
…an example where my C# implementation delivers same performance as C implementation of VLC player: https://github.com/Const-me/Vrmac/tree/master/VrmacVideo Pretty sure in a couple of years once MS improves a few relevant things in their…
comment by Const-me · 2020-09-21 · in Why Not Rust? -
Thanks! BTW I used more than V4L2. ALSA from libasound.so.2, there: https://github.com/Const-me/Vrmac/blob/master/VrmacVideo/IO/... and the rest of libasound.*.cs files in that folder (parts of the same static class). Audio output is…
comment by Const-me · 2020-08-29 · in Firefox 80 and my confusion over its hardware accelerated video on Linux -
…spending a month or so part time, and resource use is lower than VLC’s despite my code is in .NET: https://github.com/Const-me/Vrmac/tree/master/VrmacVideo However, that wasn’t always the case. Until recently software had to fallback to…
comment by Const-me · 2020-08-28 · in Firefox 80 and my confusion over its hardware accelerated video on Linux -
…GPU-centric renderer instead of Skia, it’s not terribly complex, here’s a proof of concept: https://github.com/const-me/Vrmac/#2d-graphics Still, Skia is not _that_ bad, maybe it’s fine there.
comment by Const-me · 2020-08-23 · in Ask HN: How to do cross platform GUI? -
…I’d like to add that similar queues are widely used in all multimedia, not just games. This library https://github.com/Const-me/Vrmac/tree/master/VrmacVideo uses queues to coordinate 3 threads, one decoding video by pumping V4L2 kernel…
comment by Const-me · 2020-08-21 · in Game Programming Patterns: Event Queue (2014) -
…more willing to contribute to my own open source projects no one cares about. Like this one: https://github.com/Const-me/Vrmac BTW did substantial amount of SIMD stuff there, for both 3D and 2D parts.
comment by Const-me · 2020-08-06 · in Simdjson: Parsing gigabytes of JSON per second -
…software, including latency sensitive stuff working on slow ARM CPUs, see this for an example: https://github.com/Const-me/Vrmac/tree/master/VrmacVideo
comment by Const-me · 2020-07-22 · in Rust – How do I create a global, mutable singleton? (2015) -
Yes, on Linux it’s good: https://github.com/const-me/Vrmac/ Even h264 video acceleration is there: https://github.com/Const-me/Vrmac/tree/master/VrmacVideo Too bad h265 hardware decoder doesn’t yet have a V4L2 driver.
comment by Const-me · 2020-07-19 · in Windows on Raspberry -
…into the heap. Another thing, no one stops you from using malloc/free, like I did in that class: https://github.com/Const-me/Vrmac/blob/master/VrmacVideo/Aud... Finally, the mere presence of GC doesn’t affect performance in any way, only…
comment by Const-me · 2020-07-16 · in Linux kernel in-tree Rust support -
…issue in modern .NET even for resource-demanding apps running on slow ARM CPUs. Here's an example: https://github.com/Const-me/Vrmac/tree/master/VrmacVideo BTW it consumes non-trivial amount of C APIs like V4L2, ALSA, and audio decoders.
comment by Const-me · 2020-07-13 · in Linux kernel in-tree Rust support -
…doesn't support video acceleration Works fine on my Pi4 with official 32-bit Debian Buster OS: https://github.com/Const-me/Vrmac/tree/master/VrmacVideo Based on CPU usage, the included VLC player uses same API.
comment by Const-me · 2020-07-07 · in Exciting Days for ARM Processors -
I wonder why? Even Raspberry Pi has a hardware decoder: https://github.com/Const-me/Vrmac/tree/master/VrmacVideo Linux Kernel support for HEVC is WIP but I’m pretty sure they’ll integrate eventually.
comment by Const-me · 2020-07-06 · in H.266/Versatile Video Coding (VVC) -
…or (b) a cheap CPU process but way too much overdraw on GPU side That's fixable, take a look: https://github.com/Const-me/Vrmac#vector-graphics-engine My CPU process is moderately expensive, and I use quite a few tricks to reduce overdraw,…
comment by Const-me · 2020-06-15 · in Fast 2D Rendering on GPU -
…Here's couple lines of pixel shader that does that, with really good antialiasing and without MSAA: https://github.com/Const-me/Vrmac/blob/master/Vrmac/Draw/Sha...
comment by Const-me · 2020-06-15 · in Fast 2D Rendering on GPU -
I wonder how it compares performance-wise against my solution of the same problem: https://github.com/Const-me/Vrmac#vector-graphics-engine I don’t use compute shaders, tessellating input splines into polylines, and building triangular…
comment by Const-me · 2020-06-14 · in Fast 2D Rendering on GPU -
It's relatively straightforward even for multi-platform: https://github.com/Const-me/Vrmac/blob/master/README.md#2d-g...
comment by Const-me · 2020-06-10 · in Shapes is a real-time vector graphics library for Unity -
…but sometimes development time as well. That "something else" is not necessarily other code: https://github.com/Const-me/Vrmac/blob/master/Vrmac/Draw/Tex...
comment by Const-me · 2020-05-21 · in Support Single-File Apps in .NET 5 -
…easy enough to use, I had to make the Debian package myself. Wasn’t too hard, here’s a bash script https://github.com/Const-me/Vrmac/blob/master/net-core/packa... but still. The newer .NET Core-introduced features are still not integrated…
comment by Const-me · 2020-05-18 · in Show HN: Vrmac Graphics, a cross-platform graphics library for .NET -
…that runs on windows Also ARM Debian Linux. > an source available C# wrapper. The wrapper is there: https://github.com/Const-me/Vrmac/tree/master/VrmacInterop This one there https://github.com/Const-me/Vrmac/tree/master/Vrmac is not a…
comment by Const-me · 2020-05-18 · in Show HN: Vrmac Graphics, a cross-platform graphics library for .NET -
▲ 39
Show HN: Vrmac Graphics, a cross-platform graphics library for .NETstory by Const-me · 2020-05-18 · 16 comments