https://github.com/illation/lightwhat
Project for my first raytracer. Trying to make it render beautiful images :3
https://github.com/illation/lightwhat
Last synced: about 2 months ago
JSON representation
Project for my first raytracer. Trying to make it render beautiful images :3
- Host: GitHub
- URL: https://github.com/illation/lightwhat
- Owner: Illation
- License: gpl-2.0
- Created: 2015-02-27T15:42:19.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2017-12-11T11:53:04.000Z (almost 8 years ago)
- Last Synced: 2025-04-05T08:04:46.792Z (6 months ago)
- Language: C++
- Size: 122 MB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# LightWhat
## Description
A growing raytracing project that might one day render beautiful images :3LightWhat version 0.7.2 alpha
by [Robert Lindner](https://www.artstation.com/artist/illation)
## Acknowledgments
Using SDL2, SDL_TFF (with freetype), Assimp, devIL => find full licenses under acknowledgments.txtWhile I wrote all the code myself, the structure of the Bottom Layer is heavily inspired by the
[Digital Arts and Entertainment](http://www.digitalartsandentertainment.be/) GAME_ENGINE## Key bindings
* press "L" to load a collada (.dae) file
* press "T" to load a test scene with spheres and a plane
* press "C" to clear the current scene
* press "ENTER" / "RETURN" to start rendering
* press "S" to save your result as a bitmap (.bmp)
* press "P" to toggle between high performance mode and progress viewing mode
* press "B" to toggle backface culling on and off
* press "D" to display the first texture in the list, or a test texture if no images where loadedThere is also button support now :smiling_imp:
## How to use
Note: scenes do not clear automatically, so before you load a different scene or file, press "Clear" to clear it* you can try the models from the "TestFiles" folder.
* you can also try rendering your own models by exporting them in Collada or 3Ds format.
* you can edit the '.lwtf' file in any text editor to change render settings and camera position## About the structure of the code:
There are three layers to allow for easy changes:
* Bottom layer: ProgramControll with Init, Tick and Paint handles an AbstractProgram and Provides Window and Painting operations via a GUI_ENGINE singleton
* Middle layer: LightWhat base that handles a concret UserInterface and manages the renderer
* Top layer: LWRenderer handles all Rendering tasks and provides an interface for managing it and getting the resultsIf you find any bugs tell me about them please
Have fun!