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 · 11h
2 because I'm desperate for something to replace reddit
000
Xenoprimate (Ben Bowen) @tinyffr.dev · 29/09/2026
Above, Below are the best modern metal band bar none
000
Xenoprimate (Ben Bowen) @tinyffr.dev · 13/09/2026
Documentation is here learn.microsoft.com/en-us/dotnet...
learn.microsoft.com
?? and ??= operators - null-coalescing operators - C# reference
The `??` and `??=` operators are the C# null-coalescing operators. They return the value of the left-hand operand if it isn't null. Otherwise, they return the value of the right-hand operand
001
Xenoprimate (Ben Bowen) @tinyffr.dev · 28/08/2026
Are you on a modern version of C#/.NET? `MemoryMarshal` has functions for converting a span of unmanaged types to/from bytes fairly easily
100
Xenoprimate (Ben Bowen) @tinyffr.dev · 26/08/2026
I saw an unironic "If something is truly great, people will pay" used in defence of not paying for the thing that they're simultaneously claiming is not worth paying for but they're super mad is now asking for a maintenance fee.
001
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 · 22/07/2026
I'm a professional SE so it makes sense for me personally to pay the license fee. They do have some discounts for students or OSS devs, might be worth checking around. Btw do you know about PerfView also?
110
Xenoprimate (Ben Bowen) @tinyffr.dev · 22/07/2026
Jetbrains make good tools (e.g. dotMemory, dotTrace).
100
Xenoprimate (Ben Bowen) @tinyffr.dev · 22/07/2026
Thanks for sharing. I've always heard the industry wisdom that it's better to re-create a reliable L7 implementation over UDP for games, but I always wondered why. Now I know maybe it's just a cargo cult thing in some cases.
120
Xenoprimate (Ben Bowen) @tinyffr.dev · 22/07/2026
If it's 3D you're interested in I've been working on tinyffr.dev for a while now. Not a chud (as far as I'm aware 😅)
tinyffr.dev
Homepage - TinyFFR Manual
This is the homepage/manual for Tiny FFR (C# Tiny Fixed Function Rendering Library).
110
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
And here's the atlas my loader built in the background when loading the font! It uses R/G channel for the SDF data and a single tiny blue 3x3 square in the bottom which is used for a secondary background quad, used to multiply the background colour.
010
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
I love TC, he's one of my oldest Youtube subs!
100
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
Beautiful!
010
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 · 24/05/2026
I don't understand what you're saying. I've used both languages, Java is cool in that it allows wildcard syntax in generics, but: .NET supports other languages (e.g. F#), I don't understand what compile-time safety has to do with generics, and sourcegen preferred to reflection these days for AOT...
100
Xenoprimate (Ben Bowen) @tinyffr.dev · 24/05/2026
Isn't a CEO the ultimate "measurer"? They're damn well not building anything and this behaviour sure isn't selling me on the company either, so...
000
Xenoprimate (Ben Bowen) @tinyffr.dev · 11/05/2026
Excellent work! Really impressive speed at which you're making this all work too, I struggled for quite a while on the animation system in my library. 🙂
110
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 · 03/05/2026
Damn! What was the underlying cause?
110
Xenoprimate (Ben Bowen) @tinyffr.dev · 30/04/2026
Why?
000
Xenoprimate (Ben Bowen) @tinyffr.dev · 17/04/2026
Thank you! :)
000
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 · 15/04/2026
<? I agree! ?>
000
Xenoprimate (Ben Bowen) @tinyffr.dev · 13/04/2026
How.Dare.You();
010
Xenoprimate (Ben Bowen) @tinyffr.dev · 13/04/2026
Greatly appreciate your thoughts; thank you!
010
Xenoprimate (Ben Bowen) @tinyffr.dev · 13/04/2026
Thanks for the thorough answer! Regarding resource loading, what would simpler look like? If you have the time and inclination, I'd love to know whether you think tinyffr.dev could work for you (and/or why not). Either way, no pressure, I appreciate your thoughts so far!
tinyffr.dev
Homepage - TinyFFR Manual
This is the homepage/manual for Tiny FFR (C# Tiny Fixed Function Rendering Library).
100
Xenoprimate (Ben Bowen) @tinyffr.dev · 13/04/2026
Out of curiosity, what would your ideal 3D "engine" look like in comparison? What would less handhold-y look like? I'm asking as I'm a dev of a 3D rendering library; just curious to know what your ideal engine would be 🙂
100
Xenoprimate (Ben Bowen) @tinyffr.dev · 13/04/2026
I hit it all the time getting it to do fairly technical-but-menial stuff (e.g. generating tests for my linear algebra classes); I'm using Opus with extra thinking though-- is that a point of difference? I do try and avoid wasting tokens too (i.e. giving it file paths so it doesn't use grep etc)
000
Xenoprimate (Ben Bowen) @tinyffr.dev · 12/04/2026
I'm so fucking tired of hearing "it's our heritage!!!" as though it answers anything at all
140
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
Xenoprimate (Ben Bowen) @tinyffr.dev · 09/04/2026
Really cool idea!
110
Xenoprimate (Ben Bowen) @tinyffr.dev · 09/04/2026
Not stack-restricted; heap allocations are used but memory is pooled (retained) until the whole factory is disposed-- either in managed pools (e.g. ArrayPool<>) or in native alloc. If users end up boxing the given structs that's fine and up to them, but the lib design allows for fully GC-less use.
010
Xenoprimate (Ben Bowen) @tinyffr.dev · 09/04/2026
This is great, thank you! I'll take a look later this evening :). Also thanks for the tip regarding structs; I'm coming from C# thankfully and I've gone to great lengths to never box anything throughout the entire lib. The whole design is zero-GC.
100
Xenoprimate (Ben Bowen) @tinyffr.dev · 09/04/2026
Yes, sorry. Been solo working on the project for a few years and not super hygienic with the branch structure. If you check out the latest tagged release (`v0.7.0`) everything should work.
100
Xenoprimate (Ben Bowen) @tinyffr.dev · 09/04/2026
Well I'm not sure what criteria the projects you're interested in might have; but I work on github.com/Egodystonic/... in my spare time 🙂
github.com
GitHub - Egodystonic/TinyFFR: High-level realtime 3D .NET library
High-level realtime 3D .NET library. Contribute to Egodystonic/TinyFFR development by creating an account on GitHub.
110
Xenoprimate (Ben Bowen) @tinyffr.dev · 08/04/2026
Review as in code review?
100
Xenoprimate (Ben Bowen) @tinyffr.dev · 08/04/2026
Yes but we can't have the plebs' lives improved; you see, us hard-working types know the value of hard work! Now excuse me while I sell more nebulous consultancy contracts via my father's company to my Bullingdon-club pals on taxpayer money.
000
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
Xenoprimate (Ben Bowen) @tinyffr.dev · 31/03/2026
Ah sure, I was specifically referring to fixed-size buffers annotated with the `[InlineArray]` attribute in this case; may be a little niche but I still feel like it's a missed opportunity to not be able to instantiate these, well, uh, inline 😅.
010
Xenoprimate (Ben Bowen) @tinyffr.dev · 31/03/2026
Agreed. I'm just tired of collection syntax sugars, a lot of them feel half-baked. Inline-arrays still can't be initialized with `[1, 2, 3, 4]` even though that feels like it should work. Maybe it's my industry but I don't need to manually work with collections that much in the first place.
200
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
Congrats. :) I know how hard this is as I just finished doing the same in my library (glTF/GLB support via assimp + skeletal vertex skinning support). Good luck!
110
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 · 18/03/2026
I've been lamenting the lack of a good .NET community or forum too. I have very similar issues to you with reddit; it's just not a place for serious conversation. I'd love some sort of .NET forum.
000
Xenoprimate (Ben Bowen) @tinyffr.dev · 08/03/2026
You can make a value type with explicit field layouts; this is specifically referring to the default behaviour of ValueTuple (e.g. `var x = (a, b, c);`).
e.gm
100
Xenoprimate (Ben Bowen) @tinyffr.dev · 25/02/2026
Understandable! I am a C# dev on Linux myself; I definitely think it's a great language and really good ecosystem. I feel about Rust the way you feel about C# myself-- admirer from the distance. 😅
000