随笔分类 -  OPENGL

摘要:这两天配了一下现代OpenGL的开发环境,同时看了一下基础知识和编程规范 写了一个编译GLSL语言的前端程序和一个Hello trangle的程序 另外,推荐两个资源 1.学习网站Learn Opengl 2.OpenGL编程指南第八版(俗称红宝书) 网站有的地方降得不好可以看书 接下来总结一下知识 阅读全文
posted @ 2017-04-26 12:24 LT.C# 阅读(349) 评论(0) 推荐(1)
摘要:opengl渲染管线梳理 http://www.cnblogs.com/zhanglitong/p/3238989.html 坐标系变换和矩阵 http://www.cppblog.com/guojingjia2006/archive/2012/12/07/196089.html OpenGL渲染管 阅读全文
posted @ 2017-02-25 20:41 LT.C# 阅读(302) 评论(0) 推荐(0)
摘要:1.注意多边形图元中的多边形只能是平面的,而且必须为凸多边形,且多边形的边不能弯曲 2.细分和边界,可以人为设置边界边和非边界边 glEdgeFlag(true)//接下来所有点均为边界边起点 glEdgeFlag(false)//接下来所有点均为非边界边起点 3.操纵深度缓冲区 glutinitd 阅读全文
posted @ 2016-07-23 21:09 LT.C# 阅读(174) 评论(0) 推荐(0)
摘要:1.四边形图元 glBegin(GL_QUADS); glend(); 2.通用多边形 glBegin(GL_POLYGONS); glend(); 3.多边形点画模式 glenable(GL_POLYGON_STIPPLE); glPolygonStipple(pBitmp); 其中pBitmap 阅读全文
posted @ 2016-07-23 20:57 LT.C# 阅读(527) 评论(0) 推荐(0)
摘要:1. glBegin(GL_TRANGLES); ........ glend(); 2.多边形的环绕方向:逆时针和顺时针的正反面 GLFront(GL_CCW)和GLFront(GL_CW); 3.三角形带 glBegin(GL_TRANGLE_STRIP); ....... glend(); 4 阅读全文
posted @ 2016-07-23 20:38 LT.C# 阅读(549) 评论(0) 推荐(0)
摘要:一.直线的点画模式:即并不完全填充所有像素来画一条直线,而是用点画的形式,间隔地画一条直线 首先启用点画模式: glEnable(GL_LINE_STIPPLE); 然后自定义创建自己的点画模式 glLineStipple(GLlint factor,GLushort pattern); 其中第一个 阅读全文
posted @ 2016-07-23 20:17 LT.C# 阅读(368) 评论(0) 推荐(0)
摘要:一. glBegin(GL_LINES); glend(); 二.线带和线环 glBegin(GL_LINE_STRIP); glend(); glBegin(GL_LINE_LOOP); glend(); 三.设置直线宽度 glLineWidth(GLfloat width); 四.获得直线宽度范 阅读全文
posted @ 2016-07-23 19:55 LT.C# 阅读(298) 评论(0) 推荐(0)
摘要:1.图元 1.点图元 glBegin(GL_POINTS); glend(); 程序:点图元的应用 知识点: 1.键盘响应函数 2.矩阵堆栈 3.矩阵初始化 4.点图元的大小:glpointsize(); 5.获得点图元的大小范围和增量大小 GLfloat sizes[2]; GLfloat ste 阅读全文
posted @ 2016-07-23 19:44 LT.C# 阅读(303) 评论(0) 推荐(0)
摘要:相关知识点 1.包含文件:gl,glu,glut,glee等等 2.命名规范 3.其他 阅读全文
posted @ 2016-07-23 18:37 LT.C# 阅读(323) 评论(0) 推荐(0)
摘要:http://www.bubuko.com/infodetail-1312937.html 阅读全文
posted @ 2016-05-26 14:11 LT.C# 阅读(152) 评论(0) 推荐(0)
摘要:定时器一般用于控制隔一段时间调用某函数 函数原型glutTimerFunc(unsigned int msecs,void(*func)(int value),int value) 说明:msecs为在调用func函数之前要等待的时间(单位:毫秒) func为被注册的函数,在等待msecs毫秒之后执 阅读全文
posted @ 2016-04-10 14:33 LT.C# 阅读(2203) 评论(0) 推荐(1)
摘要:深度测试是为了解决那些在绘图过程中本应该被隐藏的面结果却出现了,例如: 绘图代码中先绘制了一个一个近处的立方体,后绘制了一个远处的立方体,结果在绘制过程中,远处的立方体总是在近处的立方体后绘制,所以在显示时,远处的立方体总是显示在近处的那个立方体的前面(将他覆盖住了),这样显然不符合我们想要的效果 阅读全文
posted @ 2016-04-10 12:06 LT.C# 阅读(333) 评论(0) 推荐(0)
摘要:将OPENGL绘制对象的过程类比为摄像机拍摄物体的过程 视图变换:对摄像机位置与朝向(还有朝上朝下)进行定义 模型变换:对物体的位置,旋转,缩放进行定义 以上是对摄像机和物体的两个基础定义 投影:对摄像机的拍摄进行调节 正投影: 一个六个面均为矩形的六面体 透视投影 同一物体,近处大,远处小 fov 阅读全文
posted @ 2016-04-06 18:08 LT.C# 阅读(417) 评论(0) 推荐(0)
摘要:前面的若干重要概念中描述了OPENGL中的几个重要变换,而矩阵是线性代数中的重要数学工具,它被用来对这些变换进行数学上的实现。 矩阵主要有以下几种: 模型视图矩阵:模型视图矩阵是个4*4的矩阵,代表经过变换的坐标系统,我们可以用这个坐标系统放置物体并设置其方向,顶点坐标以单列矩阵的形式表示,乘以模型 阅读全文
posted @ 2016-04-06 17:05 LT.C# 阅读(733) 评论(0) 推荐(0)
摘要:投影:3D数据“压平”到2D的计算机屏幕上,即将真正的三维物体显示到二维屏幕上,这种3D压平到2D的过程称为投影。 投影类型:正投影,透视投影 正投影:垂直于投影平面的平行投影(不垂直的投影平面的平行投影称为斜投影) 透视投影:不好解释,脑袋被削掉的金字塔 若干变换: 1.视图变换:定义摄像机(观察 阅读全文
posted @ 2016-04-03 12:09 LT.C# 阅读(259) 评论(0) 推荐(0)
摘要:Opengl 表面剔除是提高 Opengl 程序渲染效率的一个有效途径。 我们知道,OpenGL 渲染的基本单位是一个个的三角形面片。无论多么复杂的3D 模 型都是由一个个基本的三角型的面片组成的。 既然是一个面片,那必然就有两个面,如果其中有一个面被称为正面,那相应的另一 面就被称为背面。同一时刻 阅读全文
posted @ 2016-03-28 20:49 LT.C# 阅读(2899) 评论(1) 推荐(0)