程序功能和技术 模型数据规范化 读取模型时,找到x,y,z坐标的最大最小值,然后将原始坐标线性映射到[-1, 1]^3的空间 着色器变换 使用着色器变化实现平移,缩放和旋转,见着色器代码 右键菜单 使用右键菜单可以切换模型,退出 编译环境 Ubuntu 19.04 5.0.0-32-generic gcc version 8.3.0 编译运行 cmake方式: $mkdir build $cd build $cmake .. $make -j $cd .. $build/model_view 直接编译: $g++ main.cpp InitShader.cpp -o model_view -std=c++11 -lGL -lGLEW -lglut -I. $./model_view 文件说明 model_view linux可执行文件 main.cpp 主要代码文件 Angle.h 教材提供的工具头文件 mat.h .. vec.h .. InitShader.cpp 初始化着色器 vshader36.glsl 顶点着色器 fshader36.glsl 片段着色器 bunny_color_HoleFill.obj 模型文件,未包含,运行时需要放在执行目录下 gargoyle_color.obj .. v1_color.obj ..