BRAINIAC2677 / CSE-410-Computer-Graphics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CSE-410 | Computer Graphics

This repository contains my implementations of the assignments of the course CSE-410: Computer Graphics by BUET.

  • Offline-1 | OpenGL

    camera movement rolling a ball magic cube

    Magic Cube
  • Offline-2 | Rasterization

    z-buffering scanline algorithm

    rasterized
    • Problem Specification
    • How To Run?

      • enter into offline-2|rasterization directory
      • run the following command
        ./build_and_run.sh -d <directory_name> <scene_file_path> <config_file_path>
        e.g.
        ./build_and_run.sh -d output1 ios/1/scene.txt ios/1/config.txt
    • File Description

      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
  • Offline-3 | Ray Tracing

    phong shading reflection

    raytraced
    • Problem Specification
    • How To Run?
      • enter into offline-3|ray-tracing directory
      • run the following command
        ./build_and_run.sh <input_file_path> <output_file_directory>
        e.g.
        ./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.

About


Languages

Language:C++ 99.6%Language:Shell 0.4%