This repository contains my implementations of the assignments of the course CSE-410: Computer Graphics by BUET.
-
camera movement
rolling a ball
magic cube
- Problem Specification
-
- enter into offline-1|opengl directory
- run the following command
e.g.
./build_and_run.sh <source_file_name>
./build_and_run.sh magic_cube.cpp
-
z-buffering
scanline algorithm
- Problem Specification
-
- enter into offline-2|rasterization directory
- run the following command
e.g.
./build_and_run.sh -d <directory_name> <scene_file_path> <config_file_path>
./build_and_run.sh -d output1 ios/1/scene.txt ios/1/config.txt
-
libGG
is a tiny version of openGL library I implemented specifically for this offline.- bitmap_image.hpp - external bitmap image library
- libggutil.hpp - declartion of utility classes and functions for libgg library
- libggutil.cpp - implementation of utility classes and functions for libgg library
- libgg.hpp - declartion of libgg library
- libgg.cpp - implementation of libgg library
- scene_parser.cpp - parse scene.txt and config.txt files and generate c++ code with libgg library
-
phong shading
reflection
- Problem Specification
- How To Run?
- enter into offline-3|ray-tracing directory
- run the following command
e.g.
./build_and_run.sh <input_file_path> <output_file_directory>
./build_and_run.sh ios/scene_test.txt output
NOTE:
Unlike mentioned in spec, my implementation doesn't expect blank line at the end of object, light and camera description in the input file.