-
Notifications
You must be signed in to change notification settings - Fork 536
Closed
Labels
backend: DirectX-11backend: DirectX-12backend: Metalbackend: OpenGLbackend: Vulkanclient: requestfeature request from a known clientfeature request from a known clientcontributor-friendlyIncludes pointers for new contributorsIncludes pointers for new contributorsdifficulty: easystatus: ready for worktype: apivalue: medium
Description
Recently the gamedev-wg has been trying to make it easier for windowing libs and graphical libs to agree on a protocol for communication. This has resulted in the raw-window-handle crate, where the window offers up its OS window handle thingy to the graphical lib upon request and then the graphical lib is able to do its startup.
- This would affect each backend.
- It's a strict superset of the
winitfeature, so this can be released as a0.3.1 - Instead of having the
winitfeature allow for thepub fn create_surface(&self, window: &winit::window::Window) -> Surfacemethod, you simply unconditionally have apub fn create_surface(&self, has_handle: &impl raw_window_handle::HasRawWindowHandle) -> Surfacemethod. Then you call for the raw window handle, match on it, and then re-dispatch to the correct actual method just like before. - After this the
winitfeature can eventually be removed in 0.4 EDIT: only if theraw-window-handlecrate ends up supporting the web platform by then (which is up in the air at this time).
Tracking issue where this crate was discussed and crated if you have any questions: rust-gamedev/wg#26
kvark
Metadata
Metadata
Assignees
Labels
backend: DirectX-11backend: DirectX-12backend: Metalbackend: OpenGLbackend: Vulkanclient: requestfeature request from a known clientfeature request from a known clientcontributor-friendlyIncludes pointers for new contributorsIncludes pointers for new contributorsdifficulty: easystatus: ready for worktype: apivalue: medium