一、第一章示例程序编译运行。
1、配置include和lib路径,项目属性,vc++目录中的 包含目录 和 库目录 分别包含各自路径。
2、在triangles.cpp 的main()函数中添加
glewExperimental = GL_TRUE;
否则会提示错误如下:
3、在下载的源码中找到 LoadShaders.cpp文件,添加到创建的项目中。
4、在项目属性-链接器-输入 将 libcmtd.lib 添加到 忽略特定默认库中。
错误提示:
至此,程序已经可以正常编译运行(运行结果没有图片)。
如下所示:
5、在项目所在目录下新建 triangles.frag 和 triangles.vert 文件。
具体如下:
(1)、 triangles.frag
#version 430 core
out vec4 fColor;
void
main()
{
fColor = vec4(0.0, 0.0, 1.0, 1.0);
}
(2)、triangles.vert
#version 430 core
layout(location = 0) in vec4 vPosition;
void
main()
{
gl_Position = vPosition;
}
最后直接运行,显示结果:
完成 例1.1。
小结:
1、顶点着色器决定了图元应该位于屏幕的什么位置,片元着色器使用这些信息决定某个片元的显示颜色。
2、glutMainLoop()是一个无限循环,不会执行它之后的命令。
3、glclear()和 glclearcolor()函数解释
glclearcolor()设置当前使用的清除颜色值。
glclear()清除工作。
也就是说,你只调用 glclearcolor()而没有执行 glclear(),相当于选了一个颜色,却没有使用。
glclear()函数是必须存在的。