Skip to content

Support macOS with Metal #47

Description

@aleksigron

In order to support the modern graphics features Kokko might want to use on macOS, we need to implement support for the Metal rendering API. When running on Metal, Xcode also provides very good graphics debugging tools that are better than anything found on OpenGL or Vulkan, which could make debugging and profiling much easier. Metal fits somewhere between OpenGL and Vulkan when it comes to abstraction level, so supporting Metal makes it slightly easier to implement support for Vulkan in the future.

  • Basic support: project builds and renders a background color to the screen
  • Basic shader & vertex buffers: a fixed shader can be compiled and rendered using a fixed vertex buffer
  • Mesh support: glTF meshes can be loaded from assets and rendered with a fixed shader
  • Shader support: shaders can be loaded, cross-compiled from GLSL and rendered
  • Texture support: textures can be loaded and used in shaders
  • ImGUI support: editor UI works
  • Environment map can be loaded and rendered to scene view
  • Render scene entities to scene view
  • Post-process effects: SSAO and Bloom

Metadata

Metadata

Assignees

Labels

epicA big feature or refactoring that includes sub-tasks

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions