Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
jms55
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
12 ms
·
61.
▲
by
jms55
2y ago
Just realized my comment's formatting got completely messed up. I can't seem to fix it, but hope it's readable enough. > With megalights, could you for each pixel, pick multiple random lights to increase accuracy? You coul
62.
▲
by
jms55
2y ago
Typical rasterized pipelines with deferred rendering: 1. For each light, setup a virtual camera at the light and 1a. For each mesh, rasterize depth to a texture for that light (the shadow map) 2. For each mesh, rasterize material properti
63.
▲
by
jms55
2y ago
You aren't missing anything. I tried to find the FDA's press release, including to what the article links to when they're supposedly summarizing what the "FDA alert" says. The linked website is just a general list o
64.
▲
by
jms55
2y ago
Something else I haven't seen people mention in this thread, are kids. I've had a severe peanut allergy since I was like 5 (don't know the exact age, but as long as I can feasibly remember). If at 7 years old I was at a frien
65.
▲
by
jms55
2y ago
A new article I wrote following up on my last post[0], with all the changes coming to virtual geometry (a 3d renderer similar to Unreal Engine 5's Nanite) in the 0.15 release of the Bevy game engine. [0]: https://jms55.githu
66.
▲
Virtual Geometry in Bevy 0.15
(jms55.github.io)
2 points
by
jms55
2y ago
|
1 comments
67.
▲
by
jms55
2y ago
Yep, this is another great callout. Desktop GPUs are (in my experience) often heavily memory limited, and that's with their big high bandwidth memory chips. The latency is a problem, but latency hiding means overall throughput is good
68.
▲
by
jms55
2y ago
The driver handles time slicing between processes, mapping virtual memory to real memory, etc. You're right that this is an actual consideration for programs. I don't know about CUDA/GPUGPU stuff, but for games, you need to m
69.
▲
by
jms55
2y ago
In my opinion, the biggest misconception around GPUs I see people have is that they don't realize it's an entirely separate device with it's own memory, compiler, scheduler, etc. You don't call functions to tell the GPU
70.
▲
by
jms55
2y ago
Hash tables on GPUs are cool. You can use them for meshless radiance caches, that automatically (for better or for worse) adapt to the surrounding geometry.
71.
▲
by
jms55
2y ago
> performance is only good if you have a current-generation GPU that cost at least $1k That's why I said games aren't currently designed with only pathtracing in mind, but in 3-5 years with faster hardware and better algorithms
72.
▲
by
jms55
2y ago
You're looking at years of careful artist and engineer work to get something that looks almost as good as pathtraced visuals. The fact that it's so good without any raytracing is a credit to the developers. Replacing all that effo
73.
▲
by
jms55
2y ago
Yeah I don't disagree with anything you said.
74.
▲
by
jms55
2y ago
Vulkan/DX12 _are_ learnable by hobbyists. This was a pretty popular post here on HN 4 months ago of someone learning Vulkan and making an engine in it https://news.ycombinator.com/item?id=40595741 . Universities usually
75.
▲
by
jms55
2y ago
> executing individual draw calls of meshes which map 1-to-1 to visible objects. This has not been true since deferred shading became popular around 2008. Shadow maps were around much earlier than that even. There's a reason the 1:1
76.
▲
by
jms55
2y ago
What part do you dislike? If it's the complexity of newer APIs (Vulkan in 8 years old at this point, DirectX12 9 years), then you might like WebGPU or any of the other userspace graphics APIs such as blade or sdl3 that have been inven
77.
▲
by
jms55
2y ago
As someone who starting using Rust from before it reached 1.0, it's insanely funny to me to see comments like this. People said the exact same kind of thing about Rust at the time!
78.
▲
by
jms55
2y ago
Of note is that tracy is aimed at games, where sampling is often too expensive and not fine-grained enough. Hence the manual instrumenting. For the Bevy game engine, we automatically insert tracy spans for each ECS system. In practice, user
79.
▲
by
jms55
2y ago
Just RenderDoc really. PIX is DirectX only, and everything else is vendor specific. I don't really know why you wouldn't just use your vendor's tooling though. The only thing I use RenderDoc for is I find debugging with it a
80.
▲
by
jms55
2y ago
Wow, looking at the syllabus, I can't imagine learning all of this in a single semester at more than a very surface level (and the course notes definitely don't seem surface level). Take just rendering (my area of expertise): Ther
81.
▲
by
jms55
2y ago
This has actually gotten better recently. You can now implement custom error diagnostics. E.g. Bevy implements a trait (QueryData) for tuples of up to 32 items (A,) + (A, B) + (A, B, C)... If you went over that 32 items, you used to get a c
82.
▲
by
jms55
2y ago
> But a high quality automatic LOD at build time may (read: almost certainly does) strike a much better balance for both current and near future hardware You can't have a manual LOD for a cliff where half is near the player and shou
83.
▲
by
jms55
2y ago
It's been mentioned a couple of times in this thread, but Bevy also has an implementation of Nanite's ideas (sometimes called Virtual Geometry). I'm the author of that, happy to answer questions :) As for this project, Scthe
84.
▲
by
jms55
2y ago
Small correction: meshoptimizer only does the grouping triangles -> meshlets part, and the mesh simplification. Actually building the DAG, grouping clusters together, etc is handled by Bevy code (I'm the author, happy to answer ques
85.
▲
by
jms55
2y ago
Not necessarily. Nanite compresses meshes (including in-memory) _very_ heavily, and _also_ streams in only the visible mesh data. In general, I wouldn't think of Nanite as "one thing". It's a combination of many, many di
86.
▲
by
jms55
2y ago
Yeah. SDL went the path of "wrap native APIs". WebGPU went the path of "exactly what level of floating point precision can we guarantee across all APIs" along with "how do we prevent absolutely all invalid behavior
87.
▲
by
jms55
2y ago
Yes but also no. WebGL lacks compute shaders and storage buffers, and so has a different path on WebGL than WebGPU. A lot of the code is shared, but a lot is also unique per platform. --- This is also as good a place as any, so I'll ju
88.
▲
by
jms55
2y ago
GPUs are setup as large amounts of SIMD blocks of threads with some shared units like registers, cache, ALU, etc for every few blocks of threads. The typical way you schedule GPU work is to dispatch a very large amount of work all running t
89.
▲
by
jms55
2y ago
Something I want to point out is _why_ you would want a graph for GPU work. The existing programming model is based on passes. You have one dispatch spin up thousands of workgroups, each of which do some computation. Then you issue a barrie
90.
▲
by
jms55
2y ago
If you've never done graphics programming before, I wouldn't recommend starting with Vulkan. I would start with WebGPU via either wgpu (Rust + various bindings), dawn (C++), or the browser (JS). Or do raytracing on the CPU. Once y
More ›