CSCI 441 - Computer Graphics

Fall 2018

|     Home   |   Syllabus  |   Assignments  |   Leaderboard  |   Schedule  |   Resources    |

"Hero JISEONG !!"


    - Assignments 1

  Description:
  My hero name and crest banner. Size is 700x150px.
  OpenGL primitives are used to draw hero name and crest.
  GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUAD, GL_QUAD_STRIP



Crest


    - Assignments 2

  Description:
  Animation of my hero
  My hero, Jiseong, interacts with user through keyboard and mouse.
  The mouth bobs left and right, and the hat bobs up and down.
  Jiseong looks at where the mouse pointer is.
  Jiseong's eyes shoot red laser beam to the mouse pointer.
  Jiseong's mouth shoots rocket toward the mouse pointer.

  Keyboard Instruction
  Left arrow key: Move left
  Right arrow key: Move right
  Up arrow key: Move up
  Down arrow key: Move down
  R key: Reset hero position
  W key: Increase moving speed ( <=10 )
  S key: Decrease moving speed ( >= 1 )
  I key: Print instructions on the console
  M key: Change map

  Mouse Instruction
  Left click: Shoot laser and change hat color
  Right click: Shoot small rocket
  Shift + Right click: Shoot big rocket


  < Screenshots >
Hero Laser Hero Rocket


    - Assignments 3

  Description:
  3D Character
  The 3D character transports a teapot and moves by user commands.
  It is a scooter type transportation having the red front wheel and the blue rear wheel.
  There is a yellow camera at the front of the character.
  The teapot on the character floats and changes its color.
  The teapot spins as the character moves forward and backward.

  World
  Grid is drawn on XZ-plane. (-200 <= X <= 200, -200 <= Z <= 200)
  Rocks in different size and color are located.
  Trees in different size and color are located.

  Moving Instruction
  W key: Move forward
  S Key: Move backward
  A Key: Turn left
  D Key: Turn right
  Q or ESC key: Exit the program

  View Instruction
  The main view port keeps looking at the character.
  The view direction is changed by dragging the mouse left button.
  The view distance is changed by dragging the mouse left button while the left CTRL key is pressed.

  Mini View Instruction
  5 different types of mini view port are supported.
  The mini view can be toggled by pressing a number key.
  1 key: View type 1 (First-Person Cam)
  2 key: View type 2 (Sky Cam)
  3 key: View type 3 (Third-Person Cam)
  4 key: View type 4 (Reverse Cam)
  5 key: View type 5 (First-Person Movable Cam)
  0 key: Turn off the mini view


  < Screenshots >
Main View Mini View1
Mini View2 Mini View3
Mini View4 Mini View5


    - Assignments 4

  Description:
  A faery along with Bezier Curve
  This program loads control points from a CSV(Comma Separate Value) file.
  Small green spheres are drawn at the control points and control cage is drawn in yellow line.
  Using the control points, Bezier curves with C-0 continuous are drawn in blue line.
  The Bezier curves follow the 3D character and rotate as the 3D character rotates.

  The faery indefinitely moves along the Bezier curves while it spins itself.
  When the faery gets to the end of the Bezier curves, it jumps to the start of the Bezier curves.

  User can show and hide the Bezier curves and the control points.
  Key B: Show/Hide Bezier curves
  Key C: Show/Hide Control points


  < Screenshots >
Bezier Curve1 Bezier Curve2


    - Assignments 5

  Description:
  Create a skybox and an object
  This program loads texture images from the directory 'skybox' and create a box, which encloses the world.
  This program loads an object file from the directory 'models' and place it in the scene.
  This program loads two shader programs from the directory 'shaders', for skybox and object.

  Object Shader
  Blinn-Phong illumination model is applied to the object with material emerald.
  Light source with color (1.0, 1.0, 1.0) is located at (15.0, 15.0, 15.0).

  Skybox Shader
  The texture images are mapped.

  Usage
  Object filename is required to run this program.
  Ex.) ./Jiseong_A5 .\models\dragon.obj
  Ex.) ./Jiseong_A5 .\models\venus.obj


  < Screenshots >
Bezier Curve1 Bezier Curve1 Bezier Curve2 Bezier Curve1


    - Assignments 6

  Description:
  This program creates fountain particle system or rain particle system.
  User can chose one through control files.

  Fountain System
  The particles move under gravity and initial velocity is randomly determined and bounded within [minVel, maxVel].
  Initial direction of the particle movement is randomly determined and bounded within [0, coneAngle].
  Spawn rate of the particles is also defined by control fil. (# per second)
  The particles get smaller as it ages.

  Rain System
  Rain system emits particles over emitter cloud.
  The particles move under gravity and initial velocity is randomly determined and bounded within [minVel, maxVel].
  Spawn position of the particle is randomly determined and bounded within emitter cloud, which is defined by center point, depth and width.
  Spawn rate of the particles is also defined by control fil. (# per second)
  The particles get smaller as it ages.

  Camera
  Free cam mode is available. Dragging mouse left button changes view direction.
  Pressing 'W' and 'S' moves the camera forward and backward respectively.

  Usage
  Control filename is required to run this program.
  Ex.) .\Jiseong_A6.exe .\controlFileR1.txt
  Ex.) .\Jiseong_A6.exe .\controlFileF1.txt


  < Screenshots >
Fountain System1 Fountain System2 Rain System1 Rain System2


    - Assignments 7

  Description:
  We have a hero textured with a sapphire pattern on the glacier ground.
  The hero can move around the ground, and has 3 life points.
  The hero falls off if try to move further than the ground boundary. (-1 life point)
  Bricks textured marbles are tracing the hero. If a marble hits the hero, he loses a life point. (-1 life point)
  The marbles check collision between each other, and change direction like billiard balls.
  If a marble goes further than the ground boundary, it is erased.
  Bricks textured boxes are located on the ground in random position.
  To win this game, the hero should avoid the marbles and collect all the boxes.
  Once the hero collects all the boxes, marbles are disappeared and he is able to freely move around the world.
  If the hero loses all life point, he dies and spins as a death animation.
  One camera mode, an arc ball camera following the hero, is provided.

  User interaction
  User can move the hero back and forth by pressing W and S keys.
  User can rotate the hero left and right by pressing A and D keys.
  Dragging mouse left button can move the position of the arc ball camera.
  Rolling mouse wheel can zoom in and out.


  < Screenshots >
Marbles coming Win the game


    - Final Project

  Description:
  This program is 3D maze game finding the goal.
  User can select a maze map.
  User can move a hero by pressing WSAD or arrow keys.
  The hero swings his arms and legs while he moves forward.
  Two camera modes are provided: Arc ball view and First-person view.
  By pressing number key 1 and 2, user can change the view point.
  The hero cannot pass through walls.
  There is a donut at random location. If the hero gets the donut, sky view is shown for 5 seconds.
  In addition to that, a flower fountain is created on the hero's head.
  Play time is recorded and shown when user finds a goal.

  User interaction
  W - Move forward
  S - Move backward
  A - Turn left
  D - Turn right
  1 - Arc ball camera view
  2 - First-person view
  Mouse left button drag - Move arc ball camera
  Mouse wheel - Zoom in/out
  Q, ESC - Exit the program


  < Screenshots >
Game start Find a donut Map hint Find the goal