摘要: 为什么深度测试没有起作用 OpenGL中使用glEnable(GL_DEPTH_TEST)后深度测试没有起作用? 代码如下: void Display() { glEnable(GL_DEPTH_TEST); //do rendering } int main(int argc,char **arg 阅读全文
posted @ 2018-04-07 20:25 北冥有鱼其名为鲲 阅读(563) 评论(0) 推荐(0) 编辑
摘要: OpenGL中如何使用多重纹理? 参考:OpenGL-实践 纹理 使用glGetUniformLocation获取着色器中采样器索引; 使用glUniformxxx函数绑定采样器; 使用glActiveTexture 激活纹理单元; 使用glBindTexture 绑定纹理; 在OpenGL中使用g 阅读全文
posted @ 2018-04-04 00:50 北冥有鱼其名为鲲 阅读(3233) 评论(0) 推荐(0) 编辑
摘要: OpenGL 中如何开启背面剔除 在OpenGL种可使用glEnable(GL_CULL_FACE)开启背面剔除功能,即把那些我们看不见的面删除。但在剔除之前我们需要定义正面和背面,这个可以用法线来理解。在数学学科中,法线是用右手法则定义的,如图: 右手法则 首先右手手指全部张开,使右手除拇指之外的 阅读全文
posted @ 2018-04-01 22:32 北冥有鱼其名为鲲 阅读(984) 评论(0) 推荐(0) 编辑
摘要: 纹理 在之前的实践中,我们所渲染的物体的表面颜色都是纯色或者根据顶点位置计算出的一个颜色,这种方式在表现物体细节方面是比较吃资源的,因为我们每增加一个细节,我们就需要定义更多的顶点及其属性。所以美术人员和程序员更多的是使用纹理来表现模型的细节。 纹理简单来说就是一个二维图片,OpenGL通过顶点的U 阅读全文
posted @ 2018-03-31 18:44 北冥有鱼其名为鲲 阅读(1016) 评论(0) 推荐(0) 编辑
摘要: OpenGL坐标系 OpenGL中顶点经过顶点着色器后会变为标准设备坐标系。标准设备坐标系的各坐标的取值范围是[-1,1],超过这个范围的点将会被剔除。而这个变换的过程可描述为顶点在几个坐标系统的变换,这几个坐标系统为: 模型空间(Local Sapce) 世界空间(world Space) 观察空 阅读全文
posted @ 2018-03-27 22:16 北冥有鱼其名为鲲 阅读(621) 评论(0) 推荐(0) 编辑
摘要: 本次实践是绘制两个三角形,重点理解顶点数组对象和OpenGL缓存的使用。 顶点数组对象 顶点数组对象负责管理一组顶点属性,顶点属性包括位置、法线、纹理坐标等。 OpenGL缓存 OpenGL缓存实质上是OpenGL服务端的一块内存区域,用于存储数据。OpenGL的所有数据都是存储在缓存对象中的。 在 阅读全文
posted @ 2018-02-26 23:11 北冥有鱼其名为鲲 阅读(1961) 评论(0) 推荐(0) 编辑
摘要: OpenGL 作为一个图形接口,并没有包含窗口的相关内容,但OpenGL使用必须依赖窗口,即必须在窗口中绘制。这就要求我们必须了解一种窗口系统,但不同的操作系统提供的创建窗口的API都不相同,如果我们在学习OpenGL时要去学习一整套的窗口系统,这将带来很多的不便,所以出现了GLUT。GLUT全称O 阅读全文
posted @ 2018-02-26 22:23 北冥有鱼其名为鲲 阅读(1181) 评论(0) 推荐(0) 编辑
摘要: 开发环境 本次实践所使用环境为CentOS 7。 参考:http://www.xuebuyuan.com/1472808.html OpenGL库安装 1.opengl库安装 opengl库使用mesa库,安装命令: yum intall mesa* mesa库是一个开源的三维计算机图形库,以开源的 阅读全文
posted @ 2018-01-27 23:33 北冥有鱼其名为鲲 阅读(6833) 评论(0) 推荐(0) 编辑
摘要: 这段时间在Centos 7上开发c++程序,想为vim安装YouCompleteMe插件,参照几个博客无果,果断上官网找解决方案。功夫不负苦心人,终于搞定。 学习东西还是要多上官网。 下面送上本次的收获。 简单的介绍以下llvm和clang。clang本质上就是一个编译器,可支持c,c++,obje 阅读全文
posted @ 2018-01-27 00:01 北冥有鱼其名为鲲 阅读(333) 评论(0) 推荐(0) 编辑
摘要: SVN 分支合并 阅读全文
posted @ 2015-04-10 16:55 北冥有鱼其名为鲲 阅读(327) 评论(0) 推荐(0) 编辑