Projects

Exploring My Work

basic opengl viewer

Computer Graphics Project 01

Basic OpenGL viewer

 Apr 3, 2023

#Python


Read more
Read less

Project 01 : Basic OpenGL viewer

Manipulate the camera with mouse movement

  1. Orbit: Rotate the camera around the target point by changing azimuth / elevation angles. (MMB (mouse middle button) in Blender)
  2. Pan: Move both the target point and camera in left, right, up and down direction of the camera. (Shift-MMB in Blender)
  3. Zoom: Move the camera forward toward the target point (zoom in) and backward away from the target point. (zoom out) (Ctrl-MMB in Blender)
  4. Toggle perspective projection / orthogonal projection by pressing ‘v’ key.
  5. Draw a rectangular grid with lines (not polygons) on xz plane as a reference ground plane. (like Blender)
Read less
hierarchical model

Computer Graphics Project 02

Obj viewer & drawing a hierarchical model

 Apr 17, 2023

#Python


Read more
Read less

Project 02 : Obj viewer & drawing a hierarchical model

Implement my own obj file viewer

1) showing a single loaded obj mesh and 2) showing an animation of a hierarchical model consisting of loaded obj meshes. The multiple light sources should be used for rendering.

1. Single mesh rendering mode

  • Open an obj file by drag-and-drop to your obj viewer window.
  • Read the obj file and display the mesh only using vertex positions, vertex normals, faces information.
  • When open an obj file, print out the following information of the obj file to stdout. (terminal)

2. Animating hierarchical model rendering mode

  • When a user presses a key ‘h’ on your viewer, your program should run in “animating hierarchical model rendering mode”.
  • The model should consist of at least 3 different meshes loaded from 3 different downloaded obj files.
  • The model should have a hierarchy of 3 levels and each node (except leaf nodes) should have at least 2 child nodes.
  • Animate the model to show the hierarchical structure.

3. Lighting & Etc

  • Render all object using Phong Illumination and Phong shading.
  • Toggle wireframe / solid mode by pressing ‘z’ key. (similar to pressing ‘z’ key in Blender)
Read less
assembly language multiplication

Computer Architecture Project 01

LC-2K Assembly Language and Assembler & Behavioral Simulator & Assembly-Language Multiplication

 Apr 14, 2023

#C


Read more
Read less
LC-2K Assembly Language and Assembler & Behavioral Simulator & Assembly-Language Multiplication

This project is intended to help understand the instructions of a very simple assembly language and how to assemble programs into machine language.

1. LC-2K Assembly Language and Assembler

  • The first part of this project is to write a program to take an assembly-language program and translate it into machine language.

2. Behavioral Simulator

  • The second part of this assignment is to write a program that can simulate any legal LC-2K machine-code program.

3. Assembly-Language Multiplication

  • The third part of this assignment is to write an assembly-language program to multiply two numbers.
Read less
scheduler overview

Operating System Project 01

Implement simple scheduler on xv6

 Apr 23, 2023

#C


Read more
Read less

Project 01 : Implement simple scheduler on xv6

project 1 code

project 1 wiki

Read less
process management : memlim

Operating System Project 02

Process Management & LWP

 May 28, 2023

#C


Read more
Read less

Project 02 : Process Management & LWP

project 2 code

project 2 wiki

Read less
triple indirect

Operating System Project 03

File system

 Jun 16, 2023

#C


Read more
Read less
compilers project 1

Compilers Project 01

Scanner

 Oct 16, 2023

#C


Read more
Read less
compilers project 2

Compilers Project 02

Parser

 Nov 27, 2023

#C


Read more
Read less
compilers project 3

Compilers Project 03

Semantic

 Dec 19, 2023

#C


Read more
Read less
InfoSynth

InfoSynth

An app crafted using Flutter (Dart), Node

 Jan 4, 2024

#Flutter


Read more
Read less

InfoSynth

App Overview

  • InfoSynth is an application designed to assist users who have been exposed to biased or limited information in acquiring objective and diverse perspectives. Operating primarily based on YouTube videos, users can input the URL of a YouTube video, and the app will crawl the script of the video to provide related articles.

InfoSynth source code

Read less
MO-HAJI

MO HAJI

An app developed utilizing Flutter (Dart), Node.js, MySQL, AWS EC2, and S3, along with Google Vision API, OpenAI API, and Naver Search API.

 Jan 11, 2024

#Flutter


Read more
Read less

MO HAJI

App Overview

  • MO HAJI is an application that provides recipe, allergy information, and nearby restaurant recommendations with just one food photo.

MO-HAJI source code

Read less
choorigame

After School; 3D choorigame

An app crafted using Unity (C#)

 Jan 18, 2024

#CSharp


Read more
Read less

After School; 3D choorigame

App Overview

  • “After School; 3D Mystery Game” is a 3D mystery game implemented in Unity, based on the debut work “After School” by the famous Japanese novelist Keigo Higashino. Acquire clues to uncover the secrets of the locked room and find the culprit!

After-School source code

Read less
Blueboard

Blueboard

An online educational platform application developed in Java.

 Sep 24, 2023

#Java


Read more
Read less