在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 52128计算机图形学编程(使用OpenGL和C++).zip

52128计算机图形学编程(使用OpenGL和C++).zip

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:470.45M
  • 下载次数:21
  • 浏览次数:272
  • 发布时间:2021-11-15
  • 实例类别:一般编程问题
  • 发 布 人:js2021
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
本学期上图形学编程课,老师提供的辅助材料,无任何版权问题,可以拿去边看书,边翻阅,里面包含ppt,以及程序的参考答案。
【实例截图】
【核心代码】
16359647393116328509.zip
├── 52128Φ«íτ«ùµ£║σ¢╛σ╜óσ¡ªτ╝ûτ¿ï∩╝êΣ╜┐τö¿OpenGLσÆîC++∩╝ë
│   ├── ΘàìσÑùµûçΣ╗╢
│   │   ├── Cubemaps+Skydomes
│   │   │   ├── AlienWorld
│   │   │   │   ├── alienWorldSkyBox.jpg
│   │   │   │   └── cubeMap
│   │   │   │   ├── xn.tif
│   │   │   │   ├── xp.tif
│   │   │   │   ├── yn.tif
│   │   │   │   ├── yp.tif
│   │   │   │   ├── zn.tif
│   │   │   │   └── zp.tif
│   │   │   ├── FluffyClouds
│   │   │   │   ├── cubeMap
│   │   │   │   │   ├── xn.jpg
│   │   │   │   │   ├── xp.jpg
│   │   │   │   │   ├── yn.jpg
│   │   │   │   │   ├── yp.jpg
│   │   │   │   │   ├── zn.jpg
│   │   │   │   │   └── zp.jpg
│   │   │   │   └── fluffyCloudSkyBox.jpg
│   │   │   ├── hillsSkyDome.jpg
│   │   │   ├── LakeIslands
│   │   │   │   ├── cubeMap
│   │   │   │   │   ├── xn.jpg
│   │   │   │   │   ├── xp.jpg
│   │   │   │   │   ├── yn.jpg
│   │   │   │   │   ├── yp.jpg
│   │   │   │   │   ├── zn.jpg
│   │   │   │   │   └── zp.jpg
│   │   │   │   └── lakeIslandSkyBox.jpg
│   │   │   ├── SourcesReferences.txt
│   │   │   └── StormClouds
│   │   │   ├── cubeMap
│   │   │   │   ├── xn.jpg
│   │   │   │   ├── xp.jpg
│   │   │   │   ├── yn.jpg
│   │   │   │   ├── yp.jpg
│   │   │   │   ├── zn.jpg
│   │   │   │   └── zp.jpg
│   │   │   └── stormCloudSkyBox.jpg
│   │   ├── Figures+Equations
│   │   │   ├── Ch02_TheOpenGLPipeline
│   │   │   │   ├── Fig02_01.TIF
│   │   │   │   ├── Fig02_02.TIF
│   │   │   │   ├── Fig02_03.TIF
│   │   │   │   ├── Fig02_04.TIF
│   │   │   │   ├── Fig02_05.TIF
│   │   │   │   ├── Fig02_06.TIF
│   │   │   │   ├── Fig02_07.TIF
│   │   │   │   ├── Fig02_08.TIF
│   │   │   │   ├── Fig02_09.TIF
│   │   │   │   ├── Fig02_10.TIF
│   │   │   │   ├── Fig02_11.TIF
│   │   │   │   ├── Fig02_12.TIF
│   │   │   │   ├── Fig02_13.TIF
│   │   │   │   ├── Fig02_14.TIF
│   │   │   │   ├── Fig02_15.TIF
│   │   │   │   └── Fig02_16.TIF
│   │   │   ├── Ch03_MathematicalFoundations
│   │   │   │   ├── decorative03_01.TIF
│   │   │   │   ├── Equation03_01.TIF
│   │   │   │   ├── Equation03_02.TIF
│   │   │   │   ├── Equation03_03.TIF
│   │   │   │   ├── Equation03_04.TIF
│   │   │   │   ├── Equation03_05.TIF
│   │   │   │   ├── Equation03_06.TIF
│   │   │   │   ├── Equation03_07.TIF
│   │   │   │   ├── Equation03_08.TIF
│   │   │   │   ├── Equation03_09.TIF
│   │   │   │   ├── Equation03_10.TIF
│   │   │   │   ├── Equation03_11.TIF
│   │   │   │   ├── Equation03_12.TIF
│   │   │   │   ├── Equation03_13.TIF
│   │   │   │   ├── Equation03_14.TIF
│   │   │   │   ├── Equation03_15.TIF
│   │   │   │   ├── Equation03_16.TIF
│   │   │   │   ├── Equation03_17.TIF
│   │   │   │   ├── Fig03_01.TIF
│   │   │   │   ├── Fig03_02.TIF
│   │   │   │   ├── Fig03_03.TIF
│   │   │   │   ├── Fig03_04.TIF
│   │   │   │   ├── Fig03_05.TIF
│   │   │   │   ├── Fig03_06.TIF
│   │   │   │   ├── Fig03_07.TIF
│   │   │   │   ├── Fig03_08.TIF
│   │   │   │   ├── Fig03_09.TIF
│   │   │   │   ├── Fig03_10.TIF
│   │   │   │   ├── Fig03_11.TIF
│   │   │   │   ├── Fig03_12.TIF
│   │   │   │   ├── Fig03_13.TIF
│   │   │   │   ├── Fig03_14.TIF
│   │   │   │   ├── Fig03_15.TIF
│   │   │   │   ├── Fig03_16.TIF
│   │   │   │   ├── Fig03_17.TIF
│   │   │   │   ├── Fig03_18.TIF
│   │   │   │   ├── Fig03_19.TIF
│   │   │   │   └── Fig03_20.TIF
│   │   │   ├── Ch04_Managing3DGraphicsData
│   │   │   │   ├── decorative10.TIF
│   │   │   │   ├── decorative11.TIF
│   │   │   │   ├── decorative12.TIF
│   │   │   │   ├── decorative13.TIF
│   │   │   │   ├── decorative14.TIF
│   │   │   │   ├── decorative15.TIF
│   │   │   │   ├── decorative1.TIF
│   │   │   │   ├── decorative2.TIF
│   │   │   │   ├── decorative3.TIF
│   │   │   │   ├── decorative4.TIF
│   │   │   │   ├── decorative5.TIF
│   │   │   │   ├── decorative6.TIF
│   │   │   │   ├── decorative7.TIF
│   │   │   │   ├── decorative8.TIF
│   │   │   │   ├── decorative9.TIF
│   │   │   │   ├── Fig04_01.TIF
│   │   │   │   ├── Fig04_02.TIF
│   │   │   │   ├── Fig04_03.TIF
│   │   │   │   ├── Fig04_04.TIF
│   │   │   │   ├── Fig04_05.TIF
│   │   │   │   ├── Fig04_06.TIF
│   │   │   │   ├── Fig04_07.TIF
│   │   │   │   ├── Fig04_08.TIF
│   │   │   │   ├── Fig04_09.TIF
│   │   │   │   ├── Fig04_10.TIF
│   │   │   │   ├── Fig04_11.TIF
│   │   │   │   └── Fig04_12.TIF
│   │   │   ├── Ch05_TextureMapping
│   │   │   │   ├── decorative_05_01.TIF
│   │   │   │   ├── decorative_05_02.TIF
│   │   │   │   ├── decorative_05_03.TIF
│   │   │   │   ├── Fig05_01.TIF
│   │   │   │   ├── Fig05_02.TIF
│   │   │   │   ├── Fig05_03.TIF
│   │   │   │   ├── Fig05_04.TIF
│   │   │   │   ├── Fig05_05.TIF
│   │   │   │   ├── Fig05_06.TIF
│   │   │   │   ├── Fig05_07.TIF
│   │   │   │   ├── Fig05_08.TIF
│   │   │   │   ├── Fig05_09.TIF
│   │   │   │   ├── Fig05_10.TIF
│   │   │   │   ├── Fig05_11.TIF
│   │   │   │   ├── Fig05_12.TIF
│   │   │   │   ├── Fig05_13.TIF
│   │   │   │   ├── Fig05_14.TIF
│   │   │   │   ├── Fig05_15.TIF
│   │   │   │   ├── Fig05_16.TIF
│   │   │   │   └── Fig05_17.TIF
│   │   │   ├── Ch06_3DModels
│   │   │   │   ├── Fig06_01.TIF
│   │   │   │   ├── Fig06_02.TIF
│   │   │   │   ├── Fig06_03.TIF
│   │   │   │   ├── Fig06_04.TIF
│   │   │   │   ├── Fig06_05.TIF
│   │   │   │   ├── Fig06_06.TIF
│   │   │   │   ├── Fig06_07.TIF
│   │   │   │   ├── Fig06_08.TIF
│   │   │   │   ├── Fig06_09.TIF
│   │   │   │   ├── Fig06_10.TIF
│   │   │   │   ├── FIg06_11.TIF
│   │   │   │   ├── Fig06_12.TIF
│   │   │   │   ├── Fig06_13.TIF
│   │   │   │   ├── Fig06_14.TIF
│   │   │   │   ├── Fig06_15.TIF
│   │   │   │   └── Fig06_16.TIF
│   │   │   ├── Ch07_Lighting
│   │   │   │   ├── Fig07_01.TIF
│   │   │   │   ├── Fig07_02.TIF
│   │   │   │   ├── Fig07_03.TIF
│   │   │   │   ├── Fig07_04.TIF
│   │   │   │   ├── Fig07_05.TIF
│   │   │   │   ├── Fig07_06.TIF
│   │   │   │   ├── Fig07_07.TIF
│   │   │   │   ├── Fig07_08.TIF
│   │   │   │   ├── Fig07_09.TIF
│   │   │   │   ├── Fig07_10.TIF
│   │   │   │   ├── Fig07_11.TIF
│   │   │   │   ├── Fig07_12.TIF
│   │   │   │   ├── Fig07_13.TIF
│   │   │   │   ├── Fig07_14.TIF
│   │   │   │   ├── Fig07_15.TIF
│   │   │   │   ├── Fig07_16.TIF
│   │   │   │   └── Fig07_17.TIF
│   │   │   ├── Ch08_Shadows
│   │   │   │   ├── Fig08_01.TIF
│   │   │   │   ├── Fig08_02.TIF
│   │   │   │   ├── Fig08_03.TIF
│   │   │   │   ├── Fig08_04.TIF
│   │   │   │   ├── Fig08_05.TIF
│   │   │   │   ├── Fig08_06.TIF
│   │   │   │   ├── Fig08_07.TIF
│   │   │   │   ├── Fig08_08.TIF
│   │   │   │   ├── Fig08_09.TIF
│   │   │   │   ├── Fig08_10.TIF
│   │   │   │   ├── Fig08_11.TIF
│   │   │   │   ├── Fig08_12.TIF
│   │   │   │   ├── Fig08_13.TIF
│   │   │   │   ├── Fig08_14.TIF
│   │   │   │   ├── Fig08_15.TIF
│   │   │   │   ├── Fig08_16.TIF
│   │   │   │   ├── Fig08_17.TIF
│   │   │   │   ├── fig08_18.TIF
│   │   │   │   ├── Fig08_19.TIF
│   │   │   │   ├── Fig08_20.TIF
│   │   │   │   ├── Fig08_21.TIF
│   │   │   │   ├── Fig08_22.TIF
│   │   │   │   ├── Fig08_23.TIF
│   │   │   │   ├── Fig08_24.TIF
│   │   │   │   └── Fig08_25.TIF
│   │   │   ├── Ch09_SkyAndBackgrounds
│   │   │   │   ├── decorative_09_01.TIF
│   │   │   │   ├── Fig09_01.TIF
│   │   │   │   ├── Fig09_02.TIF
│   │   │   │   ├── Fig09_03.TIF
│   │   │   │   ├── Fig09_04.TIF
│   │   │   │   ├── Fig09_05.TIF
│   │   │   │   ├── Fig09_06.TIF
│   │   │   │   ├── Fig09_07.TIF
│   │   │   │   ├── Fig09_08.TIF
│   │   │   │   ├── Fig09_09.TIF
│   │   │   │   └── Fig09_10.TIF
│   │   │   ├── Ch10_EnhancingSurfaceDetail
│   │   │   │   ├── Fig10_01.TIF
│   │   │   │   ├── Fig10_02.TIF
│   │   │   │   ├── Fig10_03.TIF
│   │   │   │   ├── Fig10_04.TIF
│   │   │   │   ├── Fig10_05.TIF
│   │   │   │   ├── Fig10_06.TIF
│   │   │   │   ├── Fig10_07.TIF
│   │   │   │   ├── Fig10_08.TIF
│   │   │   │   ├── Fig10_09.TIF
│   │   │   │   ├── Fig10_10.TIF
│   │   │   │   ├── Fig10_11.TIF
│   │   │   │   ├── Fig10_12.TIF
│   │   │   │   ├── Fig10_13.TIF
│   │   │   │   ├── Fig10_14.TIF
│   │   │   │   └── Fig10_15.TIF
│   │   │   ├── Ch11_ParametricSurfaces
│   │   │   │   ├── Fig11_01.TIF
│   │   │   │   ├── Fig11_02.TIF
│   │   │   │   ├── Fig11_03.TIF
│   │   │   │   ├── Fig11_04.TIF
│   │   │   │   ├── Fig11_05.TIF
│   │   │   │   ├── Fig11_06.TIF
│   │   │   │   ├── Fig11_07.TIF
│   │   │   │   ├── Fig11_08.TIF
│   │   │   │   ├── Fig11_09.TIF
│   │   │   │   ├── Fig11_10.TIF
│   │   │   │   └── Fig11_11.TIF
│   │   │   ├── Ch12_Tessellation
│   │   │   │   ├── Fig12_01.TIF
│   │   │   │   ├── Fig12_02.TIF
│   │   │   │   ├── Fig12_03.TIF
│   │   │   │   ├── Fig12_04.TIF
│   │   │   │   ├── Fig12_05.TIF
│   │   │   │   ├── Fig12_06.TIF
│   │   │   │   ├── Fig12_07.TIF
│   │   │   │   ├── Fig12_08.TIF
│   │   │   │   ├── Fig12_09.TIF
│   │   │   │   └── Fig12_10.TIF
│   │   │   ├── Ch13_GeometryShaders
│   │   │   │   ├── Fig13_01.TIF
│   │   │   │   ├── Fig13_02.TIF
│   │   │   │   ├── Fig13_03.TIF
│   │   │   │   ├── Fig13_04.TIF
│   │   │   │   ├── Fig13_05.TIF
│   │   │   │   ├── Fig13_06.TIF
│   │   │   │   ├── Fig13_07.TIF
│   │   │   │   ├── Fig13_08.TIF
│   │   │   │   ├── Fig13_09.TIF
│   │   │   │   └── Fig13_10.TIF
│   │   │   ├── Ch14_OtherTechniques
│   │   │   │   ├── Fig14_01.TIF
│   │   │   │   ├── Fig14_02.TIF
│   │   │   │   ├── Fig14_03.TIF
│   │   │   │   ├── Fig14_04.TIF
│   │   │   │   ├── Fig14_05.TIF
│   │   │   │   ├── Fig14_06.TIF
│   │   │   │   ├── Fig14_07.TIF
│   │   │   │   ├── Fig14_08.TIF
│   │   │   │   ├── Fig14_09.TIF
│   │   │   │   ├── Fig14_10.TIF
│   │   │   │   ├── Fig14_11.TIF
│   │   │   │   ├── Fig14_12.TIF
│   │   │   │   ├── Fig14_13.TIF
│   │   │   │   ├── Fig14_14.TIF
│   │   │   │   ├── Fig14_15.TIF
│   │   │   │   ├── Fig14_16.TIF
│   │   │   │   ├── Fig14_17.TIF
│   │   │   │   ├── Fig14_18.TIF
│   │   │   │   ├── Fig14_19.TIF
│   │   │   │   ├── Fig14_20.TIF
│   │   │   │   ├── Fig14_21.TIF
│   │   │   │   ├── Fig14_22.TIF
│   │   │   │   ├── Fig14_23.TIF
│   │   │   │   └── Fig14_24.TIF
│   │   │   ├── ChA_SetupForPCWindows
│   │   │   │   └── FigA_01.TIF
│   │   │   └── ChC_Nsight
│   │   │   ├── decorative_C_01.TIF
│   │   │   ├── decorative_C_02.TIF
│   │   │   ├── decorative_C_03.TIF
│   │   │   ├── decorative_C_04.TIF
│   │   │   └── decorative_C_05.TIF
│   │   ├── Models+Textures
│   │   │   ├── BourkeStarfield
│   │   │   │   └── starfield2048.jpg
│   │   │   ├── LunaTextures+NormalMaps
│   │   │   │   ├── bkgd1.jpg
│   │   │   │   ├── brick1.jpg
│   │   │   │   ├── castleroof.jpg
│   │   │   │   ├── castleroofNORMAL.jpg
│   │   │   │   ├── floor_color.jpg
│   │   │   │   ├── floor_nmap.jpg
│   │   │   │   ├── grass.jpg
│   │   │   │   └── ice.jpg
│   │   │   ├── NasaShuttle
│   │   │   │   ├── shuttle.obj
│   │   │   │   └── spstob_1.jpg
│   │   │   ├── otherModels
│   │   │   │   ├── grid.obj
│   │   │   │   └── pyr.obj
│   │   │   ├── PlanetPixelEmporium
│   │   │   │   ├── 8081_earthspec2k.jpg
│   │   │   │   ├── earthmap1k.jpg
│   │   │   │   ├── earthspec1kBLUE.jpg
│   │   │   │   ├── earthspec1kNEG.jpg
│   │   │   │   ├── earthspec1kNORMAL.jpg
│   │   │   │   ├── moonbump4kRGB.jpg
│   │   │   │   ├── moon.jpg
│   │   │   │   ├── moonmap4k.jpg
│   │   │   │   ├── moonNORMAL.jpg
│   │   │   │   ├── squareMoonBump.jpg
│   │   │   │   ├── squareMoonMap.jpg
│   │   │   │   ├── squareMoonNormal.jpg
│   │   │   │   └── sunmap.jpg
│   │   │   ├── SourcesReferences.txt
│   │   │   └── Studio522Dolphin
│   │   │   ├── dolphinHighPoly.obj
│   │   │   ├── Dolphin_HighPolyUV.png
│   │   │   ├── Dolphin_HighPolyUV_wireframe.png
│   │   │   ├── dolphinLowPoly.obj
│   │   │   └── Dolphin_LowPolyUV_wireframe.png
│   │   ├── Programs
│   │   │   ├── Chapter_02_opengl
│   │   │   │   ├── Prog2_1_background
│   │   │   │   │   └── main.cpp
│   │   │   │   ├── Prog2_2_point
│   │   │   │   │   └── main.cpp
│   │   │   │   ├── Prog2_3_errorChecking
│   │   │   │   │   └── main.cpp
│   │   │   │   ├── Prog2_4_files
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog2_5_triangle
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog2_6_animation
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   └── Prog2_supplemental_queryingOpenGL
│   │   │   │   └── main.cpp
│   │   │   ├── Chapter_04_pipeline
│   │   │   │   ├── Prog4_1_1_plainRedCube
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog4_1_2_interpolatedColors
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog4_1_3_tumbling
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog4_1_4_multipleCubes
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog4_2_instancing
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog4_3_multipleModels
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   └── Prog4_4_matrixStack
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Chapter_05_textures
│   │   │   │   ├── Prog5_1b_texturedPyramidMipmapAniso
│   │   │   │   │   ├── brick1.jpg
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   └── Prog5_1_texturedPyramid
│   │   │   │   ├── brick1.jpg
│   │   │   │   ├── brick1upArrow.jpg
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Chapter_06_models
│   │   │   │   ├── Prog6_1_sphere
│   │   │   │   │   ├── earth.jpg
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Sphere.cpp
│   │   │   │   │   ├── Sphere.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog6_2_torus
│   │   │   │   │   ├── brick1.jpg
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Torus.cpp
│   │   │   │   │   ├── Torus.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   └── Prog6_3_objLoaderShuttle
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── shuttle.obj
│   │   │   │   ├── spstob_1.jpg
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Chapter_07_lighting
│   │   │   │   └── Prog7_1_lightingADS
│   │   │   │   ├── BlinnPhongShaders
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── GouraudShaders
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── PhongShaders
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   └── Utils.h
│   │   │   ├── Chapter_08_shadow
│   │   │   │   ├── Prog8_1_shadowMapping
│   │   │   │   │   ├── frag1Shader.glsl
│   │   │   │   │   ├── frag2Shader.glsl
│   │   │   │   │   ├── ImportedModel.cpp
│   │   │   │   │   ├── ImportedModel.h
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── pyr.obj
│   │   │   │   │   ├── Torus.cpp
│   │   │   │   │   ├── Torus.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   ├── vert1Shader.glsl
│   │   │   │   │   └── vert2Shader.glsl
│   │   │   │   └── Prog8_2_softShadowsPCF
│   │   │   │   ├── frag1shader.glsl
│   │   │   │   ├── frag2shader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── pyr.obj
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vert1shader.glsl
│   │   │   │   └── vert2shader.glsl
│   │   │   ├── Chapter_09_skybox
│   │   │   │   ├── Prog9_1_skyboxSimple
│   │   │   │   │   ├── alien.jpg
│   │   │   │   │   ├── brick1.jpg
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Torus.cpp
│   │   │   │   │   ├── Torus.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog9_2_skyboxOpenGL
│   │   │   │   │   ├── brick1.jpg
│   │   │   │   │   ├── cubeMap
│   │   │   │   │   │   ├── xn.jpg
│   │   │   │   │   │   ├── xp.jpg
│   │   │   │   │   │   ├── yn.jpg
│   │   │   │   │   │   ├── yp.jpg
│   │   │   │   │   │   ├── zn.jpg
│   │   │   │   │   │   └── zp.jpg
│   │   │   │   │   ├── fragCShader.glsl
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Torus.cpp
│   │   │   │   │   ├── Torus.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   ├── vertCShader.glsl
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   └── Prog9_3_environmentMapping
│   │   │   │   ├── brick1.jpg
│   │   │   │   ├── cubeMap
│   │   │   │   │   ├── xn.jpg
│   │   │   │   │   ├── xp.jpg
│   │   │   │   │   ├── yn.jpg
│   │   │   │   │   ├── yp.jpg
│   │   │   │   │   ├── zn.jpg
│   │   │   │   │   └── zp.jpg
│   │   │   │   ├── fragCShader.glsl
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertCShader.glsl
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Chapter_10_bump
│   │   │   │   ├── Prog10_1_procBump
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Torus.cpp
│   │   │   │   │   ├── Torus.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog10_2_normalMapping
│   │   │   │   │   ├── castleroofNORMAL.jpg
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Sphere.cpp
│   │   │   │   │   ├── Sphere.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog10_3_texturePlusNormal
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── moon.jpg
│   │   │   │   │   ├── moonNORMAL.jpg
│   │   │   │   │   ├── Sphere.cpp
│   │   │   │   │   ├── Sphere.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog10_4_1_heightMappedTerrain
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── grid.obj
│   │   │   │   │   ├── height.jpg
│   │   │   │   │   ├── heightTexture.jpg
│   │   │   │   │   ├── ImportedModel.cpp
│   │   │   │   │   ├── ImportedModel.h
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   └── Prog10_4_2_sphereVertexHeightMap
│   │   │   │   ├── earthspec1kBLUE.jpg
│   │   │   │   ├── earthspec1kNEG.jpg
│   │   │   │   ├── earthspec1kNORMAL.jpg
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Sphere.cpp
│   │   │   │   ├── Sphere.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Chapter_12_tessellation
│   │   │   │   ├── Prog12_1_tessellationGridOnly
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── tessCShader.glsl
│   │   │   │   │   ├── tessEShader.glsl
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog12_2_tessellationBezier
│   │   │   │   │   ├── floor_color.jpg
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── tessCShader.glsl
│   │   │   │   │   ├── tessEShader.glsl
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog12_3_1_tessHeightMappedInstanced
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── squareMoonMap.jpg
│   │   │   │   │   ├── tessCShader.glsl
│   │   │   │   │   ├── tessEShader.glsl
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog12_3_2_tessHeightMappedInstWLighting
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── squareMoonBump.jpg
│   │   │   │   │   ├── squareMoonMap.jpg
│   │   │   │   │   ├── squareMoonNormal.jpg
│   │   │   │   │   ├── tessCShader.glsl
│   │   │   │   │   ├── tessEShader.glsl
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   └── Prog12_4_TessHeightMapInstancedLOD
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── squareMoonBump.jpg
│   │   │   │   ├── squareMoonMap.jpg
│   │   │   │   ├── tessCShader.glsl
│   │   │   │   ├── tessEShader.glsl
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Chapter_13_geometry
│   │   │   │   ├── Prog13_1_1_geomModInflate
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── geomShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Torus.cpp
│   │   │   │   │   ├── Torus.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog13_1_2_geomModExplodeNobackfaces
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── geomShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Torus.cpp
│   │   │   │   │   ├── Torus.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog13_1_3_geomModExplodeWithbackfaces
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── geomShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Torus.cpp
│   │   │   │   │   ├── Torus.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog13_2_geometryDel
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── geomShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Torus.cpp
│   │   │   │   │   ├── Torus.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   ├── Prog13_3_geometryAdd
│   │   │   │   │   ├── fragShader.glsl
│   │   │   │   │   ├── geomShader.glsl
│   │   │   │   │   ├── main.cpp
│   │   │   │   │   ├── Torus.cpp
│   │   │   │   │   ├── Torus.h
│   │   │   │   │   ├── Utils.cpp
│   │   │   │   │   ├── Utils.h
│   │   │   │   │   └── vertShader.glsl
│   │   │   │   └── Prog13_4_geometryChange
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── geomShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   └── Chapter_14_misc
│   │   │   ├── Prog14_1_fog
│   │   │   │   ├── bkgd1.jpg
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── grid.obj
│   │   │   │   ├── height.jpg
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Prog14_2_blending
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── pyr.obj
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Prog14_3_clipping
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Prog14_4_stripes3Dtex
│   │   │   │   ├── dolphinLowPoly.obj
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Prog14_5_marble
│   │   │   │   ├── dolphinLowPoly.obj
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Prog14_6_wood
│   │   │   │   ├── dolphinLowPoly.obj
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Prog14_7_clouds
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── HalfSphere.cpp
│   │   │   │   ├── HalfSphere.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   ├── Prog14_8_cloudsChanging
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── HalfSphere.cpp
│   │   │   │   ├── HalfSphere.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   └── vertShader.glsl
│   │   │   └── Prog14_9_dissolve
│   │   │   ├── earthmap1k.jpg
│   │   │   ├── fragShader.glsl
│   │   │   ├── main.cpp
│   │   │   ├── Sphere.cpp
│   │   │   ├── Sphere.h
│   │   │   ├── Utils.cpp
│   │   │   ├── Utils.h
│   │   │   └── vertShader.glsl
│   │   ├── README.pdf
│   │   └── SOIL2.library
│   │   └── SpartanJ-soil2-387a4b1269e6.zip
│   ├── ΘàìσÑùµûçΣ╗╢.rar
│   ├── µòÖσ╕êΦ╡äµ║É
│   │   └── TeacherAncillaries
│   │   ├── CourseHints.doc
│   │   ├── ExerciseSolutions
│   │   │   ├── Exercise02_1
│   │   │   │   ├── main.cpp
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise02_2
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise03_1
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise03_2
│   │   │   │   └── gimbalLock.txt
│   │   │   ├── Exercise04_1
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise04_2
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise04_3
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise04_4
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise04_5
│   │   │   │   └── glFrontAndBack.txt
│   │   │   ├── Exercise05_1
│   │   │   │   ├── brick1.jpg
│   │   │   │   ├── brick1upArrow.jpg
│   │   │   │   ├── Exercise05_1.vcxproj.filters
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise05_3
│   │   │   │   ├── earthmap1k.jpg
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── squareMoonMap.jpg
│   │   │   │   ├── sunmap.jpg
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise06_2
│   │   │   │   ├── earthmap1k.jpg
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── shuttle.obj
│   │   │   │   ├── Sphere.cpp
│   │   │   │   ├── Sphere.h
│   │   │   │   ├── spstob_1.jpg
│   │   │   │   ├── squareMoonMap.jpg
│   │   │   │   ├── sunmap.jpg
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise07_1
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise07_2
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise07_3
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise07_4
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise08_2
│   │   │   │   ├── frag1Shader.glsl
│   │   │   │   ├── frag2Shader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── pyr.obj
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vert1Shader.glsl
│   │   │   │   ├── vert2Shader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise08_3
│   │   │   │   ├── frag1Shader.glsl
│   │   │   │   ├── frag2Shader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── pyr.obj
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vert1Shader.glsl
│   │   │   │   ├── vert2Shader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise08_4
│   │   │   │   ├── frag1shader.glsl
│   │   │   │   ├── frag2shader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── pyr.obj
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vert1shader.glsl
│   │   │   │   ├── vert2shader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise09_1
│   │   │   │   ├── brick1.jpg
│   │   │   │   ├── cubeMap
│   │   │   │   │   ├── xn.jpg
│   │   │   │   │   ├── xp.jpg
│   │   │   │   │   ├── yn.jpg
│   │   │   │   │   ├── yp.jpg
│   │   │   │   │   ├── zn.jpg
│   │   │   │   │   └── zp.jpg
│   │   │   │   ├── fragCShader.glsl
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertCShader.glsl
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise09_2
│   │   │   │   ├── brick1.jpg
│   │   │   │   ├── cubeMap
│   │   │   │   │   ├── xn.jpg
│   │   │   │   │   ├── xp.jpg
│   │   │   │   │   ├── yn.jpg
│   │   │   │   │   ├── yp.jpg
│   │   │   │   │   ├── zn.jpg
│   │   │   │   │   └── zp.jpg
│   │   │   │   ├── fragCShader.glsl
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertCShader.glsl
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise09_3
│   │   │   │   └── solutionExplanation.txt
│   │   │   ├── Exercise09_4
│   │   │   │   ├── brick1.jpg
│   │   │   │   ├── cubeMap
│   │   │   │   │   ├── xn.jpg
│   │   │   │   │   ├── xp.jpg
│   │   │   │   │   ├── yn.jpg
│   │   │   │   │   ├── yp.jpg
│   │   │   │   │   ├── zn.jpg
│   │   │   │   │   └── zp.jpg
│   │   │   │   ├── fragCShader.glsl
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertCShader.glsl
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise10_4
│   │   │   │   ├── frag1shader.glsl
│   │   │   │   ├── frag2shader.glsl
│   │   │   │   ├── grid.obj
│   │   │   │   ├── height.jpg
│   │   │   │   ├── heightTexture.jpg
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vert1shader.glsl
│   │   │   │   ├── vert2shader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise11_1
│   │   │   │   └── 11_1.jpg
│   │   │   ├── Exercise11_2
│   │   │   │   └── 11_2.jpg
│   │   │   ├── Exercise12_3
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── squareMoonBump.jpg
│   │   │   │   ├── squareMoonMap.jpg
│   │   │   │   ├── tessCShader.glsl
│   │   │   │   ├── tessEShader.glsl
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise12_4
│   │   │   │   ├── frag1shader.glsl
│   │   │   │   ├── frag2shader.glsl
│   │   │   │   ├── grid.obj
│   │   │   │   ├── height.jpg
│   │   │   │   ├── heightTexture.jpg
│   │   │   │   ├── main.cpp
│   │   │   │   ├── tessC1shader.glsl
│   │   │   │   ├── tessC2shader.glsl
│   │   │   │   ├── tessE1shader.glsl
│   │   │   │   ├── tessE2shader.glsl
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vert1shader.glsl
│   │   │   │   ├── vert2shader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise13_1
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── geomShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise13_2
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── geomShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise13_3
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── fragShaderH.glsl
│   │   │   │   ├── geomShader.glsl
│   │   │   │   ├── geomShaderH.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   ├── vertShaderH.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise13_4
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── geomShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise14_1
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── pyr.obj
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise14_2
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Torus.cpp
│   │   │   │   ├── Torus.h
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise14_3
│   │   │   │   ├── dolphinLowPoly.obj
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise14_4
│   │   │   │   ├── dolphinLowPoly.obj
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   ├── Exercise14_5
│   │   │   │   ├── dolphinLowPoly.obj
│   │   │   │   ├── fragShader.glsl
│   │   │   │   ├── ImportedModel.cpp
│   │   │   │   ├── ImportedModel.h
│   │   │   │   ├── main.cpp
│   │   │   │   ├── Utils.cpp
│   │   │   │   ├── Utils.h
│   │   │   │   ├── vertShader.glsl
│   │   │   │   └── zSolutionExplanation.txt
│   │   │   └── Exercise14_6
│   │   │   ├── earthmap1k.jpg
│   │   │   ├── fragShader.glsl
│   │   │   ├── main.cpp
│   │   │   ├── Sphere.cpp
│   │   │   ├── Sphere.h
│   │   │   ├── Utils.cpp
│   │   │   ├── Utils.h
│   │   │   ├── vertShader.glsl
│   │   │   └── zSolutionExplanation.txt
│   │   ├── PowerPointSlides
│   │   │   ├── Ch02.pptx
│   │   │   ├── Ch03.pptx
│   │   │   ├── Ch04.pptx
│   │   │   ├── Ch05.pptx
│   │   │   ├── Ch06.pptx
│   │   │   ├── Ch07.pptx
│   │   │   ├── Ch08.pptx
│   │   │   ├── Ch09.pptx
│   │   │   ├── Ch10.pptx
│   │   │   ├── Ch11.pptx
│   │   │   ├── Ch12.pptx
│   │   │   ├── Ch13.pptx
│   │   │   └── Ch14.pptx
│   │   └── Syllabus.doc
│   └── µòÖσ╕êΦ╡äµ║É.rar
└── __MACOSX
└── 52128Φ«íτ«ùµ£║σ¢╛σ╜óσ¡ªτ╝ûτ¿ï∩╝êΣ╜┐τö¿OpenGLσÆîC++∩╝ë
├── ΘàìσÑùµûçΣ╗╢
└── µòÖσ╕êΦ╡äµ║É
└── TeacherAncillaries
└── ExerciseSolutions

153 directories, 1030 files

标签:

实例下载地址

52128计算机图形学编程(使用OpenGL和C++).zip

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警