Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Tommypop2/Rendy3D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rendy3D

A software renderer written from scratch in Rust. It is being built for learning purposes so performance and features are likely not great

Features

  • Custom shaders (inspired by euc)
  • WASM support (see https://tommypop2.github.io/Rendy3D/)
  • no_std support (can be used in embedded environments)
  • Flexible mesh formats (can render anything that implements an Iterator that returns triangles)
  • Triangle clipping

TODO

  • Move application of the projection matrices into the shader
  • Optimize triangle clipping (maybe do XY clipping in 2D on integer coordinates)
  • Multithreading
  • Shadows
  • Accessing rate of change of interpolated values in the shader (allows for texture mipmapping)

Future Ideas

Experiment with shader composition (implementing a shader on top of an existing shader). This would allow for "pre-built" shaders that could do things like handle perspective rendering

Maybe a new crate for a more fully-featured engine?

Useful Resources

About

Basic software renderer written from scratch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages