Skip to content

Latest commit

 

History

History
80 lines (74 loc) · 2.04 KB

README.md

File metadata and controls

80 lines (74 loc) · 2.04 KB

GiraffeRender -- A Metal Render

A 3D scene render using MetalKit, Model I/O, SIMD and Swift5.0

pbr pbr_dredd1 pbr_dredd2

Goal

View

  • Scene ref ✔️
  • Playing action
  • Snapshot

Scene

  • Tree
  • Point Of View ✔️

Renderer

  • Draw Scene ✔️
  • Draw Node ✔️
  • Update projection matrix ✔️
  • Draw mesh ✔️
  • Basic texture ✔️
  • Triple buffering ✔️

Lighting

  • 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 ✔️

Camera

  • Perspective ✔️
  • Orthographic
  • zFar ✔️
  • zNear ✔️
  • FOV ✔️

Node

  • Translation ✔️
  • Rotation ✔️
    • EulerAngles ✔️
    • Quaternion
    • Rotation matrix
  • Scale ✔️
  • Transform ✔️
  • World Transform
  • Pivot(vector) ✔️
  • Pivot(matrix)

Geometry

  • Basic geo(MDLMesh) ✔️
    • Box
    • Sphere
    • Hemisphere
    • Cylinder
    • Capsule
    • Cone
    • Plane
  • Obj ✔️
  • Multi-submeshes ✔️

References