4 ms·
> it's not merely 'batteries included'—it's 'everything under the Sun included' If you really want to get a sense for how broad the APIs are today: https://le
by bob1029 4y ago
> it's not merely 'batteries included'—it's 'everything under the Sun included'
If you really want to get a sense for how broad the APIs are today:
https://learn.microsoft.com/en-us/dotnet/api/system.numerics.matrix4x4.createperspectivefieldofview?view=net-7.0 https://learn.microsoft.com/en-us/dotnet/api/system.numerics...
I've been working on a custom game engine in .NET for about a year now, and I still haven't had to pull down a 3rd party nuget.
- delta_p_delta_x 4y agoWow. In C++ that would require GLU or glm. I actually didn't know things like this were in the standard library.
- tannergooding 4y agoI got a rewrite for Matrix3x2, Matrix4x4, Quaternion, and Plane in for .NET 8 as well. It should provide up to 48x perf improvements as compared to .NET 7
- bob1029 4y agoAwesome! I believe Vector4.Transform(Vector4, Matrix4x4) is my hottest path right now, but as I get into more complex scene graphs, Matrix4x4.Multiply(Matrix4x4, Matrix4x4) will likely pop into the profiler.
- tannergooding 4y agoFor `Vector4.Transform(Vector4, Matrix4x4)` we had `5.22ns` to `2.46ns` (~53% faster) For `Matrix4x4.Multiply(Matrix4x4, Matrix4x4)` its a bit less at `10.04ns` to `8.38ns` (~17% faster) The main improvements tracked by: * https://github.com/dotnet/perf-autofiling-issues/issues/11442 https://github.com/dotnet/perf-autofiling-issues/issues/1144... * https://github.com/dotnet/perf-autofiling-issues/issues/11480 https://github.com/dotnet/perf-autofiling-issues/issues/1148... * https://github.com/dotnet/perf-autofiling-issues/issues/11467 https://github.com/dotnet/perf-autofiling-issues/issues/1146... There are some more cases to be improved. `Matrix4x4.Multiply` in particular I need to update to use a proper SIMD implementation rather than its current scalar implementation. If you have any other core scenarios where it's important, let me know and I can try to focus on them sooner, rather than later ;)
- bob1029 4y agoThanks for the detailed notes! I have no special requests at this time. I'll dig into the above issues and comment on GH as needed.
- runevault 4y agoWhat are you using for rendering out of curiosity? Doing it raw? Vulcan? DirectX? OGL?
- bob1029 4y agoRaw. Software only. Pixel shading is done in code with methods defined per scene object. The delivery to eyeballs is via streaming images to browser over web socket. Absolutely no GPU is required (this is a central design objective).
- runevault 4y agoThat's really fascinating, thanks for the details!