A 3D scene render using MetalKit, Model I/O, SIMD and Swift5.0
- Scene ref ✔️
- Playing action
- Snapshot
- Tree
- Point Of View ✔️
- Draw Scene ✔️
- Draw Node ✔️
- Update projection matrix ✔️
- Draw mesh ✔️
- Basic texture ✔️
- Triple buffering ✔️
- Ambient ✔️
- Omni ✔️
- Spot ✔️
- Directional ✔️
- Light maps
- Specular ✔️
- Diffuse ✔️
- Normal ✔️
- Albedo ✔️
- Roughness ✔️
- Multiple lights
- Advanced
- Gamma correction ✔️
- Shadows ✔️
- HDR ✔️
- SSAO
- Deferred shading
- Bloom
- Parallax mapping
- PBR ✔️
- Perspective ✔️
- Orthographic
- zFar ✔️
- zNear ✔️
- FOV ✔️
- Translation ✔️
- Rotation ✔️
- EulerAngles ✔️
- Quaternion
- Rotation matrix
- Scale ✔️
- Transform ✔️
- World Transform
- Pivot(vector) ✔️
- Pivot(matrix)
- Basic geo(MDLMesh) ✔️
- Box
- Sphere
- Hemisphere
- Cylinder
- Capsule
- Cone
- Plane
- Obj ✔️
- Multi-submeshes ✔️
- OpenGL Tutorial: https://learnopengl.com
- Metal Shader: https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf
- Metal Official: https://developer.apple.com/documentation/metal
- Metal Examples: http://metalbyexample.com