Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
jms55
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
15 ms
·
91.
▲
Virtual Geometry in Bevy Game Engine 0.14
(jms55.github.io)
5 points
by
jms55
2y ago
|
0 comments
92.
▲
by
jms55
2y ago
It's better than OpenGL 3 in my opinion. It has a much saner API, is a lot more predictable, and API calls can be made from multiple CPU threads. OpenGL 4 has some more advanced features like bindless that WebGPU lacks (and Vulkan has)
93.
▲
by
jms55
2y ago
I develop a lot of the more advanced features for Bevy, so I'm fully aware :) The unfortunate reality is that wgpu does not have enough funding. Extremely valuable features like bindless, multi queue, and mesh shaders/raytracing a
94.
▲
by
jms55
2y ago
Both.
95.
▲
by
jms55
2y ago
Vulkan doesn't, but WebGPU does do synchronization and memory allocation for you.
96.
▲
by
jms55
2y ago
> Now instead of vendors writing this correctly once for everyone, everyone can do it poorly. _Vendors_ did it poorly, which is why everyone wanted to get away from them. You could argue they over-corrected and left _too_ much to the use
97.
▲
by
jms55
2y ago
Subgroups have actually been added very recently. The rest, sadly missing (along with multi-queue and bindless) :(
98.
▲
by
jms55
2y ago
It depends on your requirements and experience level. Using WebGPU is _much_ easier than Vulkan, so if you don't have a lot of prior experience with all of computer graphics theory / graphics APIs / engine design, I would def
99.
▲
by
jms55
2y ago
Exactly this. Vulkan, especially Vulkan 1.0, was never really meant directly for graphics developers. It was meant specifically for engine developers that didn't want to have to deal with buggy and inconsistent drivers, e.g. Nvidia vs
100.
▲
by
jms55
2y ago
The actual issue is not CPU-side. The issue is GPU-side. The CPU feeds commands (CommandBuffers) telling the GPU what to do over a Queue. WebGPU/wgpu/dawn only have a single general purpose queue. Meaning any data upload commands
101.
▲
by
jms55
2y ago
> All those layers create problems. WGPU tries to support web browsers, Vulkan, Metal, DX11 (recently dropped), DX12, Android, and OpenGL. So it needs a big dev team and changes are hard. WGPU's own API is mostly like Vulkan - you s
102.
▲
by
jms55
3y ago
I don't see WASM/WebGPU changing anything when it comes to gaming, as an industry, personally. 3d visualizations and interactive websites? Yeah definitely a nice improvement over WebGL 2, if years late. The OP's experience wi
103.
▲
by
jms55
3y ago
Just to clarify, irradiance volumes (and other forms of GI added this release like lightmaps and reflection probes) are statically baked ahead of time, meaning they'll start showing incorrect lighting as you move objects and light sour
104.
▲
by
jms55
3y ago
Hi, I'm the author of both the Solari (Lumen) and Meshlet (Nanite) PRs, and I'm happy to see interest in them! To expand on pcwalton's answer: Solari is _extremely_ experimental. I'm basically entirely scrapping my previ
105.
▲
by
jms55
3y ago
Personally, the ones I'm most looking forward to: * Subgroup operations * Push constants (available in wgpu, but not WebGPU the spec/web impl) * u64 + atomic image ops * Mesh shaders * Raytracing * Binding arrays / descriptor
106.
▲
by
jms55
3y ago
I've only ever tested it in wgpu, but there's no reason it shouldn't work in the browser (WebGPU). It only needs compute shaders, storage buffers, and single indirect draws, which are all available in WebGPU.
107.
▲
by
jms55
3y ago
Thanks for the offer, but unfortunately developing one game engine at a time is my limit :). I'm avoiding looking at UE source code specifically to ensure I don't accidentally copy code into Bevy. Best of luck though, and always g
108.
▲
by
jms55
3y ago
Most of Nanite (at least, everything but the LOD system, I haven't tried that part, and the compute rasterizer due to lack of storage image atomics because Metal lacks them...) is implementable in WebGPU actually. I have a PR that does
109.
▲
by
jms55
3y ago
I don't disagree, but Bevy has something going for it that most other frameworks don't - modularity. Not just in concept, but something that's proven to actually work out well in practice. Tiny glade is a game that uses bevy_
110.
▲
by
jms55
3y ago
I double checked, and our rendering library _does_ partially supports DX11, as well as Angle, which lets you run the GLES3 backend on top of Angle on top of GLES2/DX11. They tend to be fairly buggy and incomplete, though. Arguably only
111.
▲
by
jms55
3y ago
As a Bevy dev - what platforms? We support Vulkan, DirectX12, Metal, WebGPU (with a bit more limited features), and WebGL2 and GLES 3 (with a decent amount more limited features and performance).
112.
▲
by
jms55
3y ago
When people say CUDA is Nvidia specific, I don't think they realize _how_ specific. It's not just a matter of having the API implementation. CUDA does things like depend on specific scheduler behavior for GPU threads in order to g
113.
▲
by
jms55
3y ago
glTF is actually pretty good. It just's fairly minimal and lacks support for an entire scene description, lacking important features such as LODs. Coincidentally, I help develop the Bevy game engine, and I was just talking to people ab
114.
▲
by
jms55
3y ago
Everything in Bevy is organized as a plugin. Bevy's asset crate (bevy_asset) for instance exports the AssetPlugin, itself comprised of more sub-plugins. Bevy's rendering infrastructure is split into the following crates/plugi
115.
▲
by
jms55
3y ago
Unfortunately those APIs are pretty ancient. Even if Bevy were to provide a renderer targeting those, it would end up being _much_ more limited. DX11/GLES 3/WebGL 2 are already pretty limited targets. We simply don't have the
116.
▲
by
jms55
3y ago
I'm a frequent contributor to the rendering parts of Bevy, so I can give you my personal opinion on wgpu/webgpu. Feel free to ask me to go into more detail on anything, or ask follow up questions. GPU programming (both shaders and
117.
▲
by
jms55
3y ago
Not currently. Rendering is provided by the wgpu library, which wraps vulkan/directx12/directx11/webgpu/metal/opengl es/webgl2. No webgl1 support. If wgpu gained webgl1 support in the future then bevy would too
118.
▲
by
jms55
4y ago
The last few years, I've generally been working on video game and UI stuff with Rust. Recently, and for the foreseeable future, I've transitioned from working on my own stuff, to contributing to the Bevy[0] game engine, on the ren
119.
▲
by
jms55
4y ago
The author is missing another huge area: plugins/modding/scripting/etc. Think IDE plugins, Minecraft mods, or running user-provided untrusted scripts. The benefits WASM brings are: 1. Sandboxing - security 2. Isolation - if a
120.
▲
by
jms55
4y ago
Dang, that's also a neat idea! I do also like the Elixir language. I'll have to keep this in mind for future projects. Perhaps I can integrate some sort of system into botnet, where you can program custom bot actions somehow. It w
More ›