Skip to content

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

License

Notifications You must be signed in to change notification settings

Howardw3/GiraffeRender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published