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.h | |
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 '')
-rw-r--r-- | dev/a6-harold/sky.h | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/dev/a6-harold/sky.h b/dev/a6-harold/sky.h deleted file mode 100644 index 06fcca1..0000000 --- a/dev/a6-harold/sky.h +++ /dev/null @@ -1,52 +0,0 @@ -/** CSci-4611 Assignment 6: Harold - */ - -#ifndef SKY_H_ -#define SKY_H_ - -#include <mingfx.h> -using namespace mingfx; - -/** Creates, holds, and draws all of the strokes on the sky. - */ -class Sky { -public: - Sky(); - virtual ~Sky(); - - void Init(ShaderProgram *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 ScreenPtHitsSky(const Matrix4 &view_matrix, const Matrix4 &proj_matrix, - const Point2 &normalized_screen_pt, Point3 *sky_point); - - /// 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 AddSkyStroke(const Matrix4 &view_matrix, const Matrix4 &proj_matrix, - const Mesh &stroke2d_mesh, const Color &stroke_color); - - /// Draws all of the sky strokes - void Draw(const Matrix4 &view_matrix, const Matrix4 &proj_matrix); - -private: - - // Each stroke has a 3D mesh and a color - struct SkyStroke { - Mesh mesh; - Color color; - }; - - // To store a new stroke to draw, add it to this array - std::vector<SkyStroke> strokes_; - - - ShaderProgram *stroke3d_shaderprog_; -}; - -#endif |