- Support for textures with different materials
- Support acceleration structures
- Support OpenGL Mathematics for math library
- Support Eigen for math library
- Support Google Test for unit tests
- Support Boost for assertions
- Support stb for textures
- Support Google Benchmark
- Support Microsoft Guidelines Support Library
- Split Material from Primitive in order to save memory
- Support GPU ray tracing
- Split naive acceleration structure from Scene
- Support acceleration structures compatible with the lights
- Support triangle
- Support normals per vertex
- Support texture coordinates
- Support textures
- Support ray packet intersections
- Support plane
- Support sphere
- Support square / rectangle
- Support Axis Aligned Bounding Box
- Support Naive
- Support Regular Grid
- Parallelize build
- Support Bounding Volume Hierarchy
- Parallelize build
- Support ray packet intersections
- Support KD-Tree
- Make all acceleration structures as templates
- Support DepthMap
- Support only material color
- Support simple shader without shadows
- Support Whitted
- Support Path Tracing
- Fix algorithm
- Support Bidirectional Path Tracing
- Support Metropolis light transport
- Support Wireframe shader
- Fix refractions
- Improve shaders performance
- Support constant
- Support stratified
- Support Halton Sequence
- Support Mersenne Twister
- Support PCG
- Support orthographic Camera
- Support perspective Camera
- Support fisheye Camera
- Support Wavefront OBJ
- Optimize code
- Support Autodesk FBX
- Support CAD STL
- Support PLY
- Support point light
- Support triangle area light
- Support sphere area light
- Support plane area light
- Refactor DrawView translation unit
- Improve DrawView code readability
- Fix race conditions
- Compatible with Android 4.1 (API 16)
- Support preview (rasterization of 1 frame)
- Support any OpenGL framerate
- Support reset button
- Support export rendered image
- Fix memory leak in Java UI
- Fix load of obj files in Android 10
- Improve Java UI code to more Object Oriented
- Change Android icon
- Remove usage of deprecated methods
- Add Android instrumented unit tests
- Make Android instrumented tests run on debug and release
- Make all Android instrumented tests pass without flakiness
- Support Linux's UI with Qt 4
- Support Linux's UI with Qt 5
- Support options menu in GUI
- Support about menu in GUI
- Support for selection of OBJ files in GUI
- Support selection of all ray tracer options in GUI
- Compatible with C++17 compilers
- Compatible with GNU C++ Compiler (g++)
- Compatible with Clang++
- Compatible with MinGW (g++)
- Compatible with Microsoft Visual C++ (MSVC)
- Support compiler warnings for clang / g++ in CMake
- Support compiler warnings for Java
- Support warnings for Gradle
- Support rules with optimizations for proguard
- Support C++ compilation with optimization flags
- Support C++ exceptions
- Support CMake jobs to improve building time
- Support CMake to clone the third party repositories
- Support CMake to pull new versions of third party repositories
- Split the Android application in 3 layers:
- MobileRT (ray tracing engine)
- Rendering components (cameras, lights, loaders, samplers, shaders)
- UI (Android through JNI, Linux through Qt)
- Support unit tests (code coverage)
- Support to export rendered image to a file
- Support to store rendered image to a database
- Support to load image from a database
- Support to continue rendering an image loaded from a database
- Remove MobileRT duplicated code
- Remove Components duplicated code
- Remove Android JNI duplicated code
- Remove Android UI duplicated code
- Remove Qt duplicated code
- Remove Java tests duplicated code
- Remove C++ tests duplicated code
- Add message reasons to all assertions
- Load lights and cameras from files
- Prepare more scene models
- Support Android interface
- Support Linux interface
- Support MacOS X interface
- Support Windows interface
- Support web browser interface
- Support Clang format
- Make a docker image with MobileRT
- Create image based on ubuntu
- Create image based on alpine
- Create image based on centos
- Create image based on archlinux
- Create image based on gentoo
- Add an example model to the docker image
- Make the ray tracer distribute the load across different engines
- Use docker compose to launch multiple containers and distribute the load
- Support doxygen documentation in the MobileRT
- Support doxygen documentation in the Components
- Support doxygen documentation in the JNI layer
- Support doxygen documentation in the Qt interface
- Support javadoc in the Android UI
- Add comments for readability in the native building files
- Add comments for readability in the gradle building files
- Add comments for readability in the scripts
- Support Android interface to send updated bitmap regularly to Kafka topic via REST API
- Develop small pc application that subscribes to that topic via KAFKA client
- Support application to show bitmap in every update
- Support Linux interface to send updated bitmap regularly to Kafka topic via KAFKA client
- Support Android interface to subscribe to that that topic via REST API
- Support Android interface to show bitmap in every update
- C++ unit tests
- Android instrumentation tests
- C++ end to end tests (selenium)
- Android performance tests
- C++ performance tests
- Support CI/CD pipeline
- Support linter
- Support Android
- Support Linux
- Support MacOS
- Support Windows
- Support Docker with multiple Linux distributions
- Create Makefile to boot local K8s cluster
- Create Helm Chart for MobileRT
- Create MobileRT web server
- Use Rust
- Use Tokio framework
- Deploy MobileRT into cloud server
- Deploy into AWS EC2 instance
- Deploy MobileRT into Kubernetes environment
- Deploy into AWS EKS cluster