CSCI 444/544 - Advanced Computer GraphicsSpring 2021 |
|
| Home | Syllabus | Assignments | Schedule | Resources | | |
Shinji Weber's Assignment 1A1 - Blinn-Phong Shaders, is a program consisting of two shader programs each with two subroutines which in total allows for both Gouraud and Phong shaders that each have the possibility to have either Phong or Blinn-Phong specular lighting. Shinji Weber's Assignment 2A2 - Tessellate Your Noisy Teapotahedron, is a program consisting of three shader pipelines built of 4 shader parts. What this builds to is a program that can display 3 different models in multiple levels of detail using a tesselation shader and can swap between displaying phong illumination + a wireframe (through a geometry shader) or + a texture given by 4d perlin noise. Shinji Weber's Assignment 3A3 - Particle System, is a program consisting of two shaders doing three passes over a scene. This scene constist of a ground plane, a light source and 1.5 million cubes. The cubes are spawned at a specified location, they are given a random velocity and rotation, and then they are left to flail and fall up to the sky (and to the side a bit). Its supposed to look kind of like an asteroid falling, but its all red color makes it look a bit more nightmarish than that. The first image here is a close up to show the cubes that its made of, and the second image is what it looks like from afar. Shinji Weber's Final ProjectFor the final project, our group decided to implement the marching cubes algorithm. The algorithm itself is a way to create a mesh around a scaler feild based off a boundary float. This leads to a mesh that splits the scalar feild into two sections: less then the boundary and greater than the boundary. This can be seen easiest in the first image, where the inside bit is inside the goop and the outside is outside. And how the algorithm preforms this feat, is by dividing the scalar field into a collection of small cubes which are then processed individually. Each cube has a all 8 corners analized to find out if they are inside or outside then triangles are drawn to seperate the inside corners from outside corners. However, the position and normals can each be calculated 2 different ways. The normals can be got from either a gradient at each point or from the cross product of two edges and the positions can be calculated at the halfway points on the edge or they can be linearly interpolated. As you can see in the bottem 4 images (gradient/interpolated, gradient/halfway, cross/interpolated, cross/ halfway) these each lead to different visual results. Then beyond the basic algorithm, we also implimented two different scalar fields: one calculated at real time (the blop in image 1) and the other calculated once and then drawn (the terrain). Then to make the terrain look good we added two color options: the desert colors and the plains colors. | |