Fyrox icon indicating copy to clipboard operation
Fyrox copied to clipboard

Add `wgpu` graphics server

Open mrDIMAS opened this issue 10 months ago • 2 comments

Fyrox now supports custom graphics servers, which essentially is a tiny abstraction layer from graphics API. Currently there's only one graphics server, based on OpenGL 3.3/OpenGL ES 3.0. wgpu looks like a very good cross-platform replacement for OpenGL and it is definitely worth implementing a graphics server with it.

mrDIMAS avatar Feb 05 '25 09:02 mrDIMAS

Hi! I'd like to work on implementing the wgpu graphics server. This seems like a great fit since you've already built the abstraction layer for this purpose.

Before I start, could you help me with a few things?

  1. Where can I find the GraphicsServer trait/interface? I want to study the OpenGL implementation as a reference.

  2. What's the minimum feature set for an initial PR? I'm thinking: basic rendering → textures/lighting → advanced features. Does an incremental approach work, or would you prefer one comprehensive PR?

  3. Any known gotchas with the abstraction that might be tricky when mapping to wgpu's API?

  4. Shader handling: Will I need to port shaders from GLSL to WGSL, or is there an abstraction?

Muktarsadiq avatar Nov 10 '25 14:11 Muktarsadiq

Where can I find the GraphicsServer trait/interface?

https://github.com/FyroxEngine/Fyrox/blob/6021ae8da1dbe8440e44eda2b72f088ee30e7b58/fyrox-graphics/src/server.rs#L103

b-guild avatar Nov 11 '25 09:11 b-guild