
openGL专业知识
hudfang
这个作者很懒,什么都没留下…
展开
-
OpenGL设置线型
OpenGL系统设计-扩展建模(3) 除了直线的宽度可以根据需要进行改变外,直线的线型也可以改变。glLineStipple就可以提供不同于常规的连续线段的中心线、虚线、点划线等等。其函数原型如下 void glLineStipple( GLint factor, GLushort pattern);其中factor 是比例因子,它转载 2014-06-20 18:51:01 · 4696 阅读 · 0 评论 -
opengl纹理贴图(续)
1.纹理贴图就是将任意格式的图片应用到三维模型的一个或多个表面上。这样的图片通常是砖块、围栏、地板等等,可以极大增强三维场景的真实感。2.要实现纹理贴图需要做以下三件事:(1)加载纹理:将图像从硬盘加载至内存,传送到缓存。(2)提供伴随着每一个顶点的纹理坐标(3)纹理采样,得到每一个像素的颜色3.纹理坐标:纹理坐标存在的意义,贴图附着在三角形上,三角形可能被平移、旋转、缩放原创 2015-12-17 16:47:11 · 7113 阅读 · 0 评论 -
OpenGL纹理贴图相关基本概念
1.纹理贴图之所以复杂是因为矩形的纹理数据需要被合理地映射到非矩形的区域上面,纹理就是数据的数组,例如颜色数据亮度数据alpha数据等,纹理的单个数据值 被叫做纹理元素 英文叫做texual,初学者会本能地把纹理当成二维图像,但是纹理也可以是一维和三维的数据。2.纹理贴图的特点:在不进行纹理贴图时,每个图元的绘制或者使用一种颜色单调着色或者根据每个顶点的颜色插值着色。而纹理贴图则是允许把一副图原创 2015-12-15 15:19:10 · 7894 阅读 · 3 评论 -
OpenGL深度测试与深度缓冲以及Z-fighting的消除
1.深度:是指坐标系中像素点距离摄像机的距离,摄像机可能放在坐标系的任何位置,不能简单地说像素的z越大或越小就是越靠近摄像机。2.深度缓冲区原理:就是把一个距离观察平面,也就是所谓的近裁剪面的深度值与窗口中每一个像素关联起来,这个深度值我么哦你吧它存储在一个统一的缓冲区中,那么这个缓冲区就被称为深度缓冲区。3.深度值的产生过程:当GPU执行渲染时,首先要执行的是vertex shader,原创 2015-12-15 16:24:27 · 6911 阅读 · 0 评论 -
OpenGL es 流水线与驱动
一、OpenGL ES Pipeline的概念:OpenGL es 流水线就是将用户输入的3D数据经过一系列的处理最终生成用户在屏幕上看到的3D图像。这一过程由一系列专业的模块组成,如下图所示。二、OpenGL es pipeline的功能特点:3D图形=》3D图像:3D图形是精确描述的矢量数据,而3D图像是在光栅设备上显示的离散的像素数据模块功能专一:每一个模块只处理单一原创 2015-12-08 09:46:56 · 2333 阅读 · 0 评论 -
[OpenGL ES 03]3D变换:模型,视图,投影与Viewport
系列文章:[OpenGL ES 01]OpenGL ES之初体验[OpenGL ES 02]OpenGL ES渲染管线与着色器前言本来打算直接写教程 04 的,但是想到3D 变换涉及的数学知识较多,往往是很多初学者的拦路虎(比如我自己)。再加上OpenGL ES 2.0 不再提供OpenGL ES 1.0中 3D 变换相关的一些重量级函数转载 2015-10-22 15:59:53 · 933 阅读 · 0 评论 -
再议gluPerspective和gluLookAt的关系
本文转自:http://www.cnblogs.com/chengmin/archive/2011/09/12/2174004.html看了Opengl的相关程序,发现有些东西还是特别迷茫,尤其是gluLookAt的函数做啥用的,而gluPerspective又有什么功能.在网上查看到了这篇: 终于搞明白gluPerspective和gluLookAt的转载 2015-10-22 15:24:45 · 684 阅读 · 0 评论 -
OpenGL矩阵转换详解
本文是学习OpenGL过程中的一篇笔记。在学习过程中,主要参照了大名鼎鼎的《OpenGL Programming Guide》(中文名《OpenGL编程指南》,有些人还称之为OpenGL红宝书)《OpenGL SuperBible》(中文名《OpenGL超级宝典》,有些人还称之为OpenGL蓝宝书)另外还有《3D Computer Graphics:转载 2015-10-22 15:22:38 · 1785 阅读 · 0 评论 -
opengl变换
OpenGL变换是本篇的重点内容,它包括计算机图形学中最基本的三维变换,即几何变换、投影变换、裁剪变换、视口变换,以及针对OpenGL的特殊变换概念理解和用法,如相机模拟、矩阵堆栈等。学好了这章,才开始真正走进三维世界。1、从三维空间到二维平面 1.1 相机模拟 在真实世界里,所有的物体都是三维的。但是,这些三维物体在计算机世界中却必须以二维平面物体的形式表现出来。那么,这些物体是转载 2015-10-21 16:31:59 · 720 阅读 · 0 评论 -
opengl数据流向
原创 2015-10-16 19:13:51 · 522 阅读 · 0 评论 -
OpenGL着色器的使用总结
1.把着色器写到文本文件中,以便在程序中读取调用shader.vert;shader.fragment2.用读文件的方式把两个着色器中的代码读到字符串中3.新建shader对象,判断创建是否成功glCreateShader()4.将着色器字符串关联到shader对象glShaderSource()5.编译着色器对象,判断编译是否成功,如果不成功,输出错误日志glCompileSha原创 2015-10-16 19:07:35 · 2425 阅读 · 0 评论 -
opengl中的混合(gl_blend)
Blend 混合是将源色和目标色以某种方式混合生成特效的技术。混合常用来绘制透明或半透明的物体。在混合中起关键作用的α值实际上是将源色和目标色按给定比率进行混合,以达到不同程度的透明。α值为0则完全透明,α值为1则完全不透明。混合操作只能在RGBA模式下进行,颜色索引模式下无法指定α值。物体的绘制顺序会影响到OpenGL的混合处理。 glEnable( GL_BLEND ); //转载 2015-07-02 14:42:41 · 22990 阅读 · 1 评论 -
初学Android OpenGL的一些心得
这是网友初学Android OpenGL的一些心得,在这里和大家一起分享,希望对初学OpenGL的开发者有所帮助。这篇教程主要是一些理论的讲解,可以让你初步了解Android OpenGL的开发。 首先是先把Dev Guide翻译了一下: 1.summary: 通过OpenGL API,Android包含对高性能3D图形的支持 — 具体而言,是指OpenGL ES API 。Op原创 2016-10-14 16:21:32 · 2935 阅读 · 0 评论