A renderer engine using ray-tracing technique from scratch in Java
Number | ID | Name | Task allocation |
---|---|---|---|
1 | ITITWE19024 | Dương Minh Nhựt | Optimization, Secondary rays |
2 | ITITIU19182 | Phạm Trần Anh Phúc | Lights, Render |
3 | ITITIU19067 | Lê Hữu Sỹ | User Interface, Render |
Our team all had an interest in computer graphics in general and wanted to use this oppoturnity to implement a project that we all like, that being the process of rendering, specificly the ray-tracing rendering process.
Thanks to the analysis with much studies through documents and a whole lot of physics, every member on the team can recognize and understand its core problems, solutions, methodologies and implemented it with small inputs and libraries together.
Present slides: here
Table of Contents
- GUI : Simple GUI implemented through Netbean IDE.
- Renderer : The raytracer implemented from stratch using vecmath library.
List the ready features here:
Field | Functions |
---|---|
Scene | Add light - Import mesh - Import scene - Duplicate mesh - Remove light, mesh - Save scene - Load scene |
Object | Change name - Translate position - Transform scale - Change object settings (color, reflection, refraction, etc..) |
Camera | Change position - Change target - Change vector up - Change field of view - Targer an object |
Render | Change window height and width - Change shadow type - Antialiasing amount - Acceleration - Output image |
Library | README |
---|---|
vecmath | javax.vecmath doc |
├── GUI
├── accelerators
├── demo
├── geometry
├── objects
├── parser
├── raytracer
├── res
├── scene
├── scene
Request render |
---|
Main Panel | Render Settings | Object Settings |
---|---|---|
Computer used to render | |
---|---|
CPU | Intel(R) Core(TM) i7-6700HQ CPU @2.60GHz |
GPU | NVIDIA GeForce GTX 965M |
RAM | 16GB |
Reflective Sphere | Standford University's Buddha Model |
---|---|
Sphere In Room | Standford University's Bunny Model |
---|---|
None | x4 | x9 |
---|---|---|
- With deep gratitude and respect, we acknowledge the professional guidance of Dr. Nguyen Van Sinh and Dr. Le Duy Tan. The constant support and knowledge provided by the course helped us achieve our goals of successfully implenting the renderer.
- Rotation transform
- Render more complex meshes
- An easier way to move objects and the camera
- More optimization
- Real time render
- How the raytracing technique work
- The core problems and solutions of raytracing
- Usage of different libaries, computer graphics logic
- Usage of Git, pull, merge and commit
- Organize files to better manage development
- Communication between members
- Importance of thesis report