summaryrefslogtreecommitdiffstats
path: root/dev/a6-harold/sky.cc
diff options
context:
space:
mode:
authorKT <tran0563@umn.edu>2021-09-06 19:07:33 -0500
committerKT <tran0563@umn.edu>2021-09-06 19:07:33 -0500
commitcccd3186305915d92b1751dc616979d64116a4aa (patch)
tree5dd4834daef547cd45fc0b643f44a10b581de0ad /dev/a6-harold/sky.cc
parentAdded missing images for the A6 worksheet (diff)
downloadcsci4611-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 '')
-rw-r--r--dev/a6-harold/sky.cc74
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();
-}
-