Hacker GitHub

← All repos

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

Mentions per year 86 mentions · busiest year 2021 (34)
20082026
  1. 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…
  2. …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
  3. …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…
  4. …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…
  5. …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
  6. …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…
  7. …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/...
  8. 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/...…
  9. …Pretty close to nothing. https://github.com/Const-me/SkyFM https://github.com/Const-me/vis_avs_dx https://github.com/Const-me/Vrmac
  10. …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:…
  11. …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?
  12. …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?
  13. …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?
  14. …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
  15. …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
  16. …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?
  17. 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…
  18. …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…
  19. …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?
  20. …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…
  21. …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.
  22. I use it as needed, but I think it’s way too complex overall. Here’s an example: https://github.com/Const-me/Vrmac/blob/master/RenderSamples/... Win32 equivalent: https://github.com/Const-me/Vrmac/blob/master/RenderSamples/...
    comment by Const-me · 2020-08-01 · in GTK 3.99
  23. …software, including latency sensitive stuff working on slow ARM CPUs, see this for an example: https://github.com/Const-me/Vrmac/tree/master/VrmacVideo
  24. 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
  25. …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
  26. …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
  27. …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
  28. 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)
  29. …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
  30. …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
  31. 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
  32. It's relatively straightforward even for multi-platform: https://github.com/Const-me/Vrmac/blob/master/README.md#2d-g...
  33. …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
  34. …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…
  35. …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…
  36. ▲ 39
    Show HN: Vrmac Graphics, a cross-platform graphics library for .NET
    story by Const-me · 2020-05-18 · 16 comments