Sign in

Xenoprimate (Ben Bowen)

@tinyffr.dev
48 followers 95 following 153 posts

🍭 TinyFFR creator (.NET 3D lib, tinyffr.dev) 🛠️ C#, C++ developer 🐦‍🔥 OCD sufferer 🎮 Gamedev (store.steampowered.com/app/508940) 🌎 Formerly green energy SE 🏴󠁧󠁢󠁷󠁬󠁳󠁿 Welsh

PostsRepliesMedia
Xenoprimate (Ben Bowen) @tinyffr.dev · 29/09/2026
Above, Below are the best modern metal band bar none
000
Xenoprimate (Ben Bowen) @tinyffr.dev · 26/08/2026
Watching the OSMF drama on /r/dotnet makes it clear to me that .NET needs a mini-revolution. People defending their labour-theft of using OSS without contributing back because their enterprise firm can't be bothered to do the admin paying for licenses. #dotnet #csharp
311
Xenoprimate (Ben Bowen) @tinyffr.dev · 29/07/2026
Finished adding scene primitives to TinyFFR! In v0.9 (coming soonish) adding a line, sphere, cuboid, mesh wireframe, grid, point, or text will be as simple as `scene.AddPrimitiveXyz()`! tinyffr.dev #csharp #gamedev #dotnet #enginedev #3d #rendering
A picture of a 3D scene demonstrating primitive shape renders in TinyFFR.
040
Xenoprimate (Ben Bowen) @tinyffr.dev · 14/07/2026
I renamed some files in my unit test proj and updated to the latest .NET SDK. When I tried to run my tests, the CLR segfaulted. The crazy part? It wasn't the SDK update, the renaming of files changed the reflective type load order via NUnit, exposing a CLR bug. github.com/dotnet/runti... #dotnet
github.com
SIGSEGV in type loader when a struct wrapping a CRTP-constrained struct is loaded before its field type · Issue #130661 · dotnet/runtime
Description Loading Res before Wrapper avoids the crash entirely, so the failure is load-order dependent. Reproduces on Linux x64 on .NET 9.0.0 through 10.0.9. Real-world trigger: NUnit test discov...
020
Xenoprimate (Ben Bowen) @tinyffr.dev · 12/07/2026
Huge progress adding text rendering to tinyffr.dev! Configurable background colour and outlining; built-in support for a decently large default char set; kerning, configurable font size or bounded width/height/both, horizontal + vertical justify, and (soon) camera-facing billboarding too! #dotnet
A screenshot of text being rendered in a 3D scene
120
Xenoprimate (Ben Bowen) @tinyffr.dev · 19/06/2026
It's been a hot minute since I posted, but here's a working mutable vertex grid in TinyFFR -- fully CPU-controlled, dynamically updated every frame with texture colour and normalized heightmap writes! This will be enabled in v0.9 of tinyffr.dev :) #csharp #gamedev #rendering #dotnet #enginedev
071
Xenoprimate (Ben Bowen) @tinyffr.dev · 03/06/2026
Claude tried to tell me I could rotate away inverted chirality in my mesh (opus 4.7 xhigh). I think senior/tech lead engineering roles are going to be safe for the foreseeable future at least :) #claude #llm #ai #programming
050
Xenoprimate (Ben Bowen) @tinyffr.dev · 11/05/2026
Just published to my blog for the first time in years: "Inspecting 3D objects (incl. gltf) with a 28-line C# script" benbowen.blog/post/inspect... #csharp #dotnet #enginedev #gamedev
benbowen.blog
Inspecting 3D objects (incl. gltf) with a 28-line C# script • Ben Bowen's Blog
Ben Bowen's Software Blog
071
Xenoprimate (Ben Bowen) @tinyffr.dev · 17/04/2026
Next version of tinyffr.dev will have camera controllers; and for those I needed interpolation algorithms. Thus... Here's a C# cubic bezier implementation I just finished up! Proud of this one 🙂 #gamedev #enginedev #csharp #dotnet
A screenshot of some C# code implementing cubic bezier interpolation
251
Xenoprimate (Ben Bowen) @tinyffr.dev · 10/04/2026
My Husky says "Dad, why are you still trying to make those stupid cubes render in different ways? Don't you know it's walkies time???"
A picture of a husky. Very floof. Much wow.
030
Reposted by Xenoprimate (Ben Bowen)
.NET @dot.net · 31/03/2026
Ever wish you could skip the engine bloat and just render the thing? TinyFFR gives .NET devs a fast path from blank project to real‑time 3D — with documentation that’s genuinely delightful. Ben Bowen tells the story behind it: buff.ly/3tBFlwa
A developer wearing headphones while listening to a podcast and coding.
text reads: From Zero to 3D: Ben Bowen on TinyFFR's Rapid .NET Rendering
072
Reposted by Xenoprimate (Ben Bowen)
Jamie Taylor @gaprogman.com · 24/03/2026
𝗣𝗼𝘀𝘁 𝟭 New episode: Ben Bowen on TinyFFR—from zero to 3D rendering in .NET 🎯 TinyFFR is a cross-platform library for .NET allowing developers to render 3D models. It fills a gap in the games development tools market: between 3D modelling and full game engines🧵
141
Xenoprimate (Ben Bowen) @tinyffr.dev · 23/03/2026
Finally released v0.7 of TinyFFR (my 3D realtime rendering library for C#/.NET). This version adds in support for Vulkan, better Linux integration w/ Wayland, skeletal animation node transform tracking, gltf/glb support, and more! Check it out at tinyffr.dev #csharp #dotnet #gamedev #enginedev
tinyffr.dev
Homepage - TinyFFR Manual
This is the homepage/manual for Tiny FFR (C# Tiny Fixed Function Rendering Library).
093
Xenoprimate (Ben Bowen) @tinyffr.dev · 10/02/2026
Despite being fairly skeptical regarding AI, I tried today to use Claude Code to implement a fairly simple feature in my .NET rendering library. The results were... Better than I expected, but much worse than I'd need it to be for this to be the main way I author code. #csharp #dotnet #claude
040
Xenoprimate (Ben Bowen) @tinyffr.dev · 06/02/2026
Been a while since I posted; here's my realtime rendering library loading an entire glTF file and creating a live scene with it in ~20 lines of C# In this example I'm using KDE/Plasma on Wayland tinyffr.dev (upcoming v0.7 will support this) #csharp #gamedev #graphicsprogramming
image showing the Vulkan "beautiful game" sample glTF file being rendered
1122
Xenoprimate (Ben Bowen) @tinyffr.dev · 10/01/2026
I don't often self-aggrandize but I'm so proud of myself for getting tinyffr.dev (my C# realtime 3D renderer) working on Wayland just 2 weeks after moving from Windows 🥳 Still bugs need ironing out but the upshot is I can render a spinny cube in ~20 lines of C# in linux #csharp #linux #gamedev
tinyffr.dev
Homepage - TinyFFR Manual
This is the homepage/manual for Tiny FFR (C# Tiny Fixed Function Rendering Library).
041
Xenoprimate (Ben Bowen) @tinyffr.dev · 09/01/2026
I'd been using KDiff3 in Windows for decades without knowing it was a KDE app. Now I'm running @kde.org Plasma as my main desktop it feels like there was something always calling to me over the years 😅
010
Xenoprimate (Ben Bowen) @tinyffr.dev · 03/01/2026
Been switching to #linux for #csharp / #dotnet dev over xmas. KDE/Plasma is so much better than Windows. Only bad point unfortunately is @jetbrains-rider.bsky.social -- it's so laggy compared to VS. I don't even think it's rendering at my monitor's refresh rate (240hz). Anyone got any tips?
120
Xenoprimate (Ben Bowen) @tinyffr.dev · 29/12/2025
Just released v0.6 of TinyFFR (my .NET realtime 3D lib), now featuring support for much more material types! Support for Linux, MacOS, Windows; and integrated with WPF, Avalonia, and WinForms. tinyffr.dev | github.com/Egodystonic/... #csharp #dotnet #gamedev #enginedev #graphicsdev
Screenshot of anisotropic metal material exampleScreenshot of absorption-transmission material exampleScreenshot of mirror-reflective material exampleScreenshot of alpha-masked material example
021
Xenoprimate (Ben Bowen) @tinyffr.dev · 16/12/2025
Stress testing my rendering library with lots of highly-subdivided polygons and way too many shadow-casting lights. They kind of look like hot air balloons! #csharp #dotnet #gamedev #enginedev #rendering
092
Xenoprimate (Ben Bowen) @tinyffr.dev · 03/12/2025
While testing the texture UV scaling for my icosphere mesh generator, I accidentally somehow created a sierpinski fractal error 😄 #gamedev #csharp #dotnet #enginedev
060
Xenoprimate (Ben Bowen) @tinyffr.dev · 02/12/2025
I got anisotropic metal working in my 3D rendering lib! Quite tricky as the PBR impl I'm using expects tangent-space vectors but the maps tend to be polar angles. Will be officially added to v0.6 of tinyffr.dev (+transmissive, emissive, clearcoat). #csharp #dotnet #gamedev #enginedev
181
Xenoprimate (Ben Bowen) @tinyffr.dev · 22/11/2025
Just encountered a StackOverflowException when using a C# record that has a property of its own type. The exception comes from the compiler-generated ToString() that blindly tries to call ToString() on the cyclical property reference. Seems an oversight that it's that easy to do. #csharp #dotnet
010
Xenoprimate (Ben Bowen) @tinyffr.dev · 15/11/2025
My #visualstudio 2026 #dotnet / #csharp experience... Things I really like: UI, stability, perf, upgrade experience, new tab manager. Things I couldn't care less about: AI agents, Copilot, "Inline Completions", AI-powered search. All disabled. Can't wait for the AI bubble 🫧 to burst!
020
Xenoprimate (Ben Bowen) @tinyffr.dev · 13/11/2025
For me the most exciting thing about @valvesoftware.com re-doing steam machines is the prospect of a revamped Steam Controller. I was one of the few weirdos apparently that really liked that thing.
010
Xenoprimate (Ben Bowen) @tinyffr.dev · 06/11/2025
#dotnet #csharp Why does NuGet/dotnet make it SO opaque to understand where my packages are being restored from? It makes testing packages so hard-- you don't know if your package is actually being restored from a configured source, or one of the many caches strewn around your HDD...
110
Xenoprimate (Ben Bowen) @tinyffr.dev · 04/11/2025
User reported that my mixed C#/C++ nuget pkg was busted on Linux. I was expecting some dependency hell or nasty native runtime resolution issue... Turns out I flipped the MacOS and Linux libs in the last step of my CI build. Ubuntu was basically saying "bro what's a .dylib!?" 😅 #gamedev #dotnet
062
Xenoprimate (Ben Bowen) @tinyffr.dev · 04/11/2025
C# 3D rendering lib update: Trying to get the function ptr to toggle vsync on an X11 OpenGL system running in a VM, but it's null. Not sure if I'm looking for the wrong func, generally just Doing It Wrong™️, or if the VM's OGL abstraction simply doesn't supply that extension... #gamedev #csharp
052
Xenoprimate (Ben Bowen) @tinyffr.dev · 01/11/2025
I'm currently trying to add vsync support to my C# rendering lib. Windows: Done. Linux: WIP. But MacOS? Not sure it's worth renting a mac again for another month just for this. Apple refusing to enable development on MacOS without buyin just hurts indie devs like me. #csharp #macos #gamedev #dev
082
Xenoprimate (Ben Bowen) @tinyffr.dev · 22/10/2025
Today I changed the normal-map pattern generators in my 3D rendering library "TinyFFR" from using Vector3s to unit spherical coordinates. I think it's much more intuitive to create normal patterns with azimuthal/polar offset pairs than creating unit vects. #devblog #csharp #dotnet #gamedev
091
Xenoprimate (Ben Bowen) @tinyffr.dev · 22/10/2025
iPlayer app just sent me a push notif "reminding" me to watch more QI ✨ Insta-blocked ✨ No streaming app ever needs to send notifications. Get fucked
020
Xenoprimate (Ben Bowen) @tinyffr.dev · 22/10/2025
I like this app/site. Came here because #reddit is getting so unusuable... Over the last yearish they've broken my fave app (API costs), banned my account with no reason, stopped RES from working, keep adding visual barf (badges), redesigns/phasing out the "Old" design... #Enshittification
010
Xenoprimate (Ben Bowen) @tinyffr.dev · 15/10/2025
I'm new to Bluesky; I just learned that posts are called "Skeets"... Man, "Bleats" was right there... 🐏
010
Xenoprimate (Ben Bowen) @tinyffr.dev · 14/10/2025
It took a while, but I finally finished adding cross platform (Win/Mac/Linux) and UI integration support (WPF, Avalonia, WinForms) to my C# .NET 9 rendering library 🥳 tinyffr.dev
020