配置OpenGL开发库
下载所需要的OpenGL库按如下方式配置文件
1.将开发库中的.h文件拷贝到VS的\Include\GL目录中
2.将.lib文件拷贝到VS的\lib目录中
3.将.dll文件拷贝到操作系统的system32目录中
运行一个OpenGL程序测试
三维物体茶壶
利用glut绘制,实现旋转,鼠标移动,键盘和鼠标操作
从现有项目文件生成项目
(v=vs.80).aspx glTexParameter()纹理过滤函数.
图象从纹理图象空间映射到帧缓冲图象空间(映射需要重新构造纹理图像,这样就会造成应用到多边形上的图像失真),这时就可用glTexParmeteri()函数来确定如何把纹理象素映射成像素.
参数功能说明如下:
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_CLAMP);
GL_TEXTURE_2D: 操作2D纹理
GL_TEXTURE_WRAP_S: S方向上的贴图模式.
GL_CLAMP: 将纹理坐标限制在0.0,1.0的范围之内.如果超出了不会错误,只是会边缘拉伸填充
其他参数p288说明
GL_TEXTURE_MAG_FILTER: 放大过滤
GL_LINEAR: 线性过滤, 使用距离当前渲染像素中心最近的4个纹素加权平均值.GL_TEXTURE_MIN_FILTER: 缩小过滤
GL_LINEAR_MIpmap_NEAREST: 使用GL_NEAREST对最接近当前多边形的解析度的两个层级贴图进行采样,然后用这两个值进行线性插值.
纹理帖图会出现在物体表面的(u,v)位置上,这些值在[0.0,1.0]范围内。超出这个值域怎么去办呢,在OpenGL中用Texture Wrapping Mode来处理。
1 重复(GL_REPEAT):图象在表面上重复出现。忽略纹理坐标的整数部分,并将纹理图的拷贝粘贴在物体表面上,这样才能做到无缝连接。
2. 截取(GL_CLAMP):将大于1.0的数值设置为1.0,将小于0.0的数值设置为0.0,即将超出[0.0,1.0]范围的数值截取到[0.0,1.0]范围内,这样会导致纹理边缘的重复。
3. 镜像重复(GL_MIRRORED_REPEAT):图象在物体表面上不断重复,但是每次重复的时候对图象进行镜像或者反转。这样在纹理边缘处比较连贯。
4. 边界截取(CLAMP_TO_BORDER):[0.0,1.0]范围外的参数值用单独定义的边界颜色或纹理边缘进行绘制。适合于绘制物体表面的贴花纸。CLAMP_TO_BORDER_ARB 在所有mipmap层次上对纹理坐标进行截取,使nearest和linear过滤只返回边界纹理单元的颜色。
5. 边缘截取(GL_CLAMP_TO_EDGE):总是忽略边界。处于纹理边缘或者靠近纹理边缘的纹理单元都用作纹理计算,但是不包括边界上的纹理单元。
glPolygonMode(GL_FRONT_AND_BACK,GL_LINE)
三种绘图模式:GL_FILL满屏,GL_LINE线,GL_POINT点