martinchristen/pyRT

View on GitHub
TODO.md

Summary

Maintainability
Test Coverage
## Todo List

This is the current todo list for the project.
There is no order in which the classes are implemented, some things are even developed in parallel.

### Create all math classes

- [X] Vec2
- [X] Vec3
- [X] Vec4
- [X] Mat4
- [X] Ray

### Create geometry classes

- [X] Base Class  ("Shape")
- [X] Triangle
- [X] Sphere
- [ ] Mesh

### Scenegraph

- [ ] Create Scenegraph
- [ ] Acceleration Structure: BVH

## Material

- [X] Basic Material (PhongMaterial)

## Lighting models

- [X] Base Class
- [X] Point Light
- [ ] Directional Light
- [X] Spot Light
- [ ] Area Light
- [ ] Ambient Occlusion

### Create renderer

- [X] Base Class
- [ ] RayTester
- [X] SimpleRT
- [ ] RGBImage
  - [X] Draw Lines
  - [X] Draw Circles / Filled Circles
  - [ ] Blit images
  - [ ] Draw Polygons / Filled Polygons
  - [ ] Draw Text

### Importer / Exporter

- [ ] Wavefront obj importer
- [ ] Wavefront obj exporter
- [ ] Three.js exporter

### Jupyter Lab

- [X] Better integration, single window