A graphics engine initially made for the Computer Graphics course at UNIOESTE.
The code dependencies are:
The code is built using xmake
and the dependencies are installed automatically through
xrepo
.
To run it.
xmake && xmake run
Hierarchy
This is where the entities are listed and created.
When you right click on the hierarchy it opens this pane where you can create entities and control the scene
Creating entities opens a modal in the center of the screen with the inputs for that specific entity
Inspector
When you click in a element from the hierarchy it will display into the inspector it's information
Here are some of the inspectors for different objects
Viewport
The viewport is the main area of render, this is were OpenGL draw frames
In this scene the red, green, yellow and blue objects are all spheres with different values for stacks and sectors, shading model, radius, position, etc. There are also two cubes, one bellow white as the floor, and the other purple rotated and scaled.
Gizmos
You can control elements through the gizmos changing their position. You can also notice the scene orientation through the mapped cube in the top right.
Controllers
You can also control whether to show or not the movement gizmo, scale the scene, clear the elements all through this controller section in the top of the engine.
You can add the following objects to the scene:
- Sphere
- Cube
- Point light
- Directional light
⚠️ The current version of the Bloom engine only supports local shading. Amongst the shading models available, you can choose between:
- Flat shading
- Gouraud shading
- Phong shading
- Blinn-Phong shading
OBS: The shading model is chosen per object.
- Scale window with the buttons +1 and -1.
- Base refactor
- Global shadows
- Ray casting from the camera
- Select objects with the mouse
- Ray tracing support?