diff options
author | KT <tran0563@umn.edu> | 2021-09-06 19:07:33 -0500 |
---|---|---|
committer | KT <tran0563@umn.edu> | 2021-09-06 19:07:33 -0500 |
commit | cccd3186305915d92b1751dc616979d64116a4aa (patch) | |
tree | 5dd4834daef547cd45fc0b643f44a10b581de0ad /dev/a6-harold/sky.cc | |
parent | Added missing images for the A6 worksheet (diff) | |
download | csci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar csci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar.gz csci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar.bz2 csci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar.lz csci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar.xz csci4611-cccd3186305915d92b1751dc616979d64116a4aa.tar.zst csci4611-cccd3186305915d92b1751dc616979d64116a4aa.zip |
Upload a1
Diffstat (limited to 'dev/a6-harold/sky.cc')
-rw-r--r-- | dev/a6-harold/sky.cc | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/dev/a6-harold/sky.cc b/dev/a6-harold/sky.cc deleted file mode 100644 index 0819ebe..0000000 --- a/dev/a6-harold/sky.cc +++ /dev/null @@ -1,74 +0,0 @@ -/** CSci-4611 Assignment 6: Harold - */ - -#include "sky.h" - - -Sky::Sky() { - -} - - -Sky::~Sky() { - -} - -void Sky::Init(ShaderProgram *stroke3d_shaderprog) { - stroke3d_shaderprog_ = stroke3d_shaderprog; -} - - -/// Projects a 2D normalized screen point (e.g., the mouse position in normalized -/// device coordinates) to a 3D point on the "sky", which is really a huge sphere -/// (radius = 1500) that the viewer is inside. This function should always return -/// true since any screen point can successfully be projected onto the sphere. -/// sky_point is set to the resulting 3D point. Note, this function only checks -/// to see if the ray passing through the screen point intersects the sphere; it -/// does not check to see if the ray hits the ground or anything else first. -bool Sky::ScreenPtHitsSky(const Matrix4 &view_matrix, const Matrix4 &proj_matrix, - const Point2 &normalized_screen_pt, Point3 *sky_point) -{ - // TODO: Stitch together your worksheet implementation of this method - return true; -} - - - - -/// Creates a new sky stroke mesh by projecting each vertex of the 2D mesh -/// onto the sky dome and saving the result as a new 3D mesh. -void Sky::AddSkyStroke(const Matrix4 &view_matrix, const Matrix4 &proj_matrix, - const Mesh &stroke2d_mesh, const Color &stroke_color) -{ - // TODO: Create a new SkyStroke and add it to the strokes_ array. - - - - - - - - - - -} - - -/// Draws all of the sky strokes -void Sky::Draw(const Matrix4 &view_matrix, const Matrix4 &proj_matrix) { - - // Precompute matrices needed in the shader - Matrix4 model_matrix; // identity - Matrix4 modelview_matrix = view_matrix * model_matrix; - - // Draw sky meshes - stroke3d_shaderprog_->UseProgram(); - stroke3d_shaderprog_->SetUniform("modelViewMatrix", modelview_matrix); - stroke3d_shaderprog_->SetUniform("projectionMatrix", proj_matrix); - for (int i=0; i<strokes_.size(); i++) { - stroke3d_shaderprog_->SetUniform("strokeColor", strokes_[i].color); - strokes_[i].mesh.Draw(); - } - stroke3d_shaderprog_->StopProgram(); -} - |