Skip to content

A 3D Software Renderer built from scratch without any 3D libraries (linear algebra by hand)

Notifications You must be signed in to change notification settings

Arihan10/3D-Software-Renderer-from-Scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

3D Software Renderer

Fully featured 3D software renderer with the ability to import .obj models!

There is currently a C++ version and a Java version. I built both just to see the performance difference.

Showcase

image 90fps+ on this!

Documentation

How to Run

  1. Place all .obj models within the root directory
  2. Use object import comments at the top of import objects (plans for import GUI in future)
  3. Java only: Use the GUI to transform objects as needed

Importing .obj models

Make sure you're only exported triangulated meshes.

Example of exporting a valid .obj model from Blender:

  1. Select all the objects in the scene you want to export
  2. In .obj (wavefront) export settings, check "Apply All Modifiers"
  3. Check "Triangulate Mesh"
  4. Uncheck everything else
  5. Export
  6. Place .obj model inside root directory of the language version you are using (C++/Java)
  7. It's ready to use!

No, I did not follow any tutorial. All code is written by me.

About

A 3D Software Renderer built from scratch without any 3D libraries (linear algebra by hand)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages