Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
jms55
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
31.
▲
by
jms55
2y ago
Nvidia's recent stuff is also really cool, but more aimed at raytracing using their new CLAS extensions, rather than raster like Nanite. The main difference is that Nvidia is using SAH splits to partition the mesh, since spatial distri
32.
▲
by
jms55
2y ago
Ehh from the user's perspective sure, but under the hood it's different. Vulkan you're doing GLSL -> SPIR-V WebGPU you're doing GLSL -> WGSL -> (HLSL->DXIL) / (MSL->IR) / SPIR-V / GLSL (for
33.
▲
by
jms55
2y ago
Pretty much the same. Both Vulkan and WebGL can use GLSL directly (well, GLSL -> SPIR-V for Vulkan). WebGPU technically can't if you run it in a browser, but native WebGPU implementations can take GLSL, you can transpile, and finall
34.
▲
by
jms55
2y ago
Reservoir sampling as in the stuff that's used in ReSTIR for graphics? It's funny to me where statistics ends up sometimes.
35.
▲
by
jms55
2y ago
Great article, thanks for writing it! Really great summary of the current state of the AI industry for someone like me who's outside of it (but tangential, given that I work with GPUs for graphics). The one thing from the article that
36.
▲
by
jms55
2y ago
PyTorch and Jax, good to know. Why do they have ROCm/CUDA backends in the first place though? Why not just Vulkan?
37.
▲
by
jms55
2y ago
As someone from the rendering side of GPU stuff, what exactly is the point of ROCm/CUDA? We already have Vulkan and SPIR-V with vendor extensions as a mostly-portable GPU API, what do these APIs do differently? Furthermore, don't
38.
▲
by
jms55
2y ago
There is no standard. Filament is extremely well documented: https://google.github.io/filament/Filament.html glTF's PBR stuff is also very well documented and aimed at realtime usage: https://www.khrono
39.
▲
by
jms55
2y ago
I'm not too informed on the details, but iirc drivers _do_ try and optimize shaders in the background, and then when ready swaps in a better version. But I doubt it does stuff like change threadgroup size, the programmer might assume a
40.
▲
by
jms55
2y ago
The weird part of the programming model is that threadblocks don't map 1:1 to warps or SMs. A single threadblock executes on a single SM, but each SM has multiple warps, and the threadblock could be the size of a single warp, or larger
41.
▲
by
jms55
2y ago
Raster is believe it or not, not quite the bottleneck. Raster speed definitely _matters_, but it's pretty fast even in software, and the bigger bottleneck is just overall complexity. Nanite is a big pipeline with a lot of different pas
42.
▲
by
jms55
2y ago
* MegaGeometry (APIs to allow Nanite-like systems for raytracing) - super awesome, I'm super super excited to add this to my existing Nanite-like system, finally allows RT lighting with high density geometry * Neural texture stuff - al
43.
▲
by
jms55
2y ago
This was a recent presentation from SIGGRAPH 2024 that covered using neural nets to store baked (not dynamic!) lighting https://advances.realtimerendering.com/s2024/#neural_light_g... . Even with the fact that it's
44.
▲
by
jms55
2y ago
To add to this, DLSS 2 functions exactly the same as a non-ML temporal upscaler does: it blends pixels from the previous frame with pixels from the current frame. The ML part of DLSS is that the blend weights are determined by a neural net,
45.
▲
by
jms55
2y ago
Obligatory useful SH paper for 3d rendering: http://www.ppsloan.org/publications/StupidSH36.pdf Also lots of other cool research around SH in rendering, e.g. the recent ZH3 paper.
46.
▲
by
jms55
2y ago
Very very high level explanation that I'm trying to paraphrase from memory, so there's a good chance parts of it are wrong or use the wrong terminology: A polynomial is a function like `f(x) = Ax^3 + Bx^2 + Cx^1 + Dx^0` You can ap
47.
▲
by
jms55
2y ago
> Isn't it insane to think that rendering triangles for the visuals in games has gotten so demanding that we need an artificially intelligent system embedded in our graphics cards to paint pixels that look like high definition geome
48.
▲
by
jms55
2y ago
Ah yeah pipeline compilation is a very non-trivial problem[1]. Unreal is also struggling with this a lot. I hear you that it's an issue. The Bevy issue you want to follow is https://github.com/bevyengine/bevy/
49.
▲
by
jms55
2y ago
You're not at all wrong, but like you said it's the (sometimes unfortunate) reality of open source. We have a lot of rendering contributors, but less so for every other area except probably the core ECS. Here's to hoping we g
50.
▲
by
jms55
2y ago
I mean, kind of. It's a bit of a vague comment. Dynamic dispatch is not bad by itself, and as not-an-ECS-developer, I couldn't actually answer how much it is or is not used in the ECS internals. Probably more than I expect, but no
51.
▲
by
jms55
2y ago
> My impression of Bevy hasn’t always been the greatest for a number of reasons but I could possibly be convinced to see the light on this one! As one of the Bevy contributors, I'd love to hear what you didn't like in the past,
52.
▲
by
jms55
2y ago
I don't disagree, but good luck getting vendors to standardize on anything...
53.
▲
by
jms55
2y ago
> But WGPU has other contributors with other priorities. For example, WGPU just merged some additions to its nascent ray tracing support. That's not a Mozilla priority, but WGPU took the PR. Similarly for some recent extensions to 6
54.
▲
by
jms55
2y ago
I don't necessarily disagree. But I don't agree either. WebGPU has given us as many positives as it has negatives. A lot of our user base is not on modern hardware, as much as other users are. Part of the challenge of making a gen
55.
▲
by
jms55
2y ago
We do when there available, but I think the way browsers implement limit bucketing (to combat fingerprinting) means that some users ran into the limit. I never personally ran into the issue, but I know it's a problem our users have had
56.
▲
by
jms55
2y ago
It's partly because WebGPU has very conservative default texture limits so that they can support old mobile devices, and partly it's a problem for engines that may have a bunch of different bindings and have increasingly hacky wor
57.
▲
by
jms55
2y ago
Timestamp queries will give you essentially time spans you can use for profiling, but anything more than that and you really want to use a dedicated tool from your vendor like NSight, RGP, IGA, XCode, or PIX. > Right now I feel like the
58.
▲
by
jms55
2y ago
> This is one reason we don't see high-performance games written in Rust. Rendering is _hard_, and Rust is an uncommon toolchain in the gamedev industry. I don't think wgpu has much to do with it. Vulkan via ash and DirectX12 v
59.
▲
by
jms55
2y ago
> The issue is, it's likely that a company with $2 BILLION spent on product development and a very deep relationship with Apple, like Unity, will have success using WebGPU the way it is intended, and nobody else will. Not really. Be
60.
▲
by
jms55
2y ago
Bindless is pretty much _the_ most important feature we need in WebGPU. Other stuff can be worked around to varying degrees of success, but lack of bindless makes our state changes extremely frequent, which heavily kills performance with ho
More ›