News for hackers. Stuff that matters.
Re:What is .NET, and why should you choose it? by bob1029 on Tuesday February 14, 2023 @12:58PM (#34793201)
> 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...

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.

Re:What is .NET, and why should you choose it? by tannergooding on Tuesday February 14, 2023 @01:12PM (#34793453)
I 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

Re:What is .NET, and why should you choose it? by bob1029 on Tuesday February 14, 2023 @01:24PM (#34793667)
Awesome!

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.

Re:What is .NET, and why should you choose it? by tannergooding on Tuesday February 14, 2023 @01:38PM (#34793908)
For `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/1144... * https://github.com/dotnet/perf-autofiling-issues/issues/1148... * 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 ;)

Re:What is .NET, and why should you choose it? by bob1029 on Tuesday February 14, 2023 @02:21PM (#34794542)
Thanks 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.

Re:What is .NET, and why should you choose it? by runevault on Tuesday February 14, 2023 @01:22PM (#34793627)
What are you using for rendering out of curiosity? Doing it raw? Vulcan? DirectX? OGL?
Re:What is .NET, and why should you choose it? by bob1029 on Tuesday February 14, 2023 @01:32PM (#34793816)
Raw. 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).
Re:What is .NET, and why should you choose it? by runevault on Tuesday February 14, 2023 @01:41PM (#34793960)
That's really fascinating, thanks for the details!
Re:What is .NET, and why should you choose it? by delta_p_delta_x on Tuesday February 14, 2023 @01:01PM (#34793262)
Wow. In C++ that would require GLU or glm. I actually didn't know things like this were in the standard library.