My experience is that the ecosystem is a mess, have hit winit, wgpu, and countless bevy bugs, iteration times are abysmal, documentation is nonexistent. In the time it would take me to make a game in popular Rust tooling I could build the game and engine from scratch in C and also have something that would crash less.
You absolutely cannot implement stream compaction “at the speed of native” as WebGPU is missing the wave/subgroup intrinsics and globally coherent memory necessary to do that efficiently as possible.
Really lovely. A lot here reminds me of design in Odin lang. Short integral types, no const, composite returns over out params. Big fan of the approach of designing for a single translation unit and exploiting the optimisations that provides from RVO etc.
I personally find the experience of writing GPU compute code pretty nice on graphics APIs. The interface is pretty much the same “dispatch a 1-3D set of 1-3D work group indices”.
The main pain points vs dedicated compute stuff like cuda is libraries and boilerplate to manage memory and launch kernels.
I suspect (1) is just because Dear ImGui is BYO graphics backend, so it doing lots of clever texture management stuff for lots of images would increase the surface area of that integration which would make it harder to use for most folks.
Dear ImGui certainly seems more popular wherever skinning isn’t a priority (though I’ve seen games use it even for user facing UI). It’s become a bit of a Wilhelm scream, love spotting it in the wild.
Odin is probably the most productive I’ve been in a language. I went from reading the docs to having a working interactive PBD particle sim in VR via OpenXR in around 48 hours wall clock time.
I am currently writing a rigid body engine in it. It is perfect for graphics/games programming.
This is completely wrong, the digital art industry is enormous and, mind you, pretty uniformly pissed off that this model has been trained off of their non public-domain work.
Another interesting factor. PhD stipends are getting gobbled up by inflation. I wonder how many people will forgo starting a research career because they want to be able to pay rent.
Also worth pointing out that Bayesian methods are the only good option when performing data assimilation into large scale simulators (like epidemic models) which are typically statistically under identified by available data. So this stuff is very relevant!
Bayesian statistics gets tonnes of practical use. Software packages like STAN-MC get lots of use in traditional stats/econometric circles, while probabilistic programming languages like Turing, Edward, and PyMC get plenty of use elsewhere. Developing algorithms to sample from or solve for the posterior distribution given an arbitrary prior and likelihood is an active area of research. If you want stuff to google, relevant families of algorithms are Variational Inference, Approximate Bayesian Computation, Markov Chain Monte Carlo, and Particle Filters / SMC. However there’s a few newer families of algorithms that have popped up in recent years.
Even as an enthusiast (5 headsets and counting) I have to agree. There have been several month periods where I didn’t use VR due to driver instability.
That being said, body tracking is what made the platform click for me. Hanging out with friends from all over the world in an immersive space feels like the future.
Dreams doesn’t quite use an octree SDF for its geometry representation.
It uses a tree of CSG edits (basically the raw stroke inputs) which is then stochastically sampled (as an SDF) to produce points on the surface that are splatted. Alex Evans’ talk on this is fantastic btw and I thoroughly recommend it.
Why isn’t imperative event loop programming more widely used? It’s a reasonably common pattern for games networking libraries like Enet, and has the added bonus that you get to design exactly how you lay out the memory of all your in flight work and therefore have it be easily debuggable.
Would love to work at a University as a Research Engineer. Would not love to do it for less than I made as an undergrad out of college. Universities can avoid not paying market, but they pay more like 40-50% of market.