开始学习OpenGL,目标是提升编程技能,解决美术背景的局限。主要参考了视频教程、Unity shader入门精要书籍,以及一些辅助网站资源。
环境配置与常见问题
- 更新了2022年的环境设置,需注意属性兼容性和平台调整,如使用86x方案。
- 配置时,确保正确连接附加库目录,以及在关闭Visual Studio后选择Microsoft visual studio versionselector。
初步实践
Hello Window
编写简单代码,窗口显示为暗灰色。
Hello Triangle
- 理解VAO、VBO、EBO的作用,顶点数组和属性,以及GL_POINTS、GL_TRIANGLES和GL_LINE_STRIP的用法。
- 从OBJ到VBO、VAO,解析数据并使用顶点着色器。
- OpenGL作为状态机,理解VAO和EBO的高效数据传输方式。
Shader
学习顶点和片元着色器,输入输出设置,uniform变量,以及纹理处理和贴图缓存的使用。
Transformations与Camera
- 掌握GLM中的变换,注意正确的坐标系统和相机设置。
- 理解格拉姆—施密特正交化,以及欧拉角的推导和摄像机操作。
源码展示
完成了从基本窗口到复杂光照和相机操作的源码编写,标志着入门阶段的初步成果。