openGL
文章平均质量分 83
sunyong445
这个作者很懒,什么都没留下…
展开
-
OpenGL ES 基础篇
+ (Class)layerClass{ return [CAEAGLLayerclass];}/*为了让 UIView 显示 opengl内容,我们必须将默认的 layer 类型修改为 CAEAGLLayer类型默认的 CALayer 是透明的,我们需要将它设置为 opaque才能看到在它上面描绘的东西。为此,我们使用匿名 category转载 2013-08-23 16:17:08 · 1027 阅读 · 0 评论 -
GLSL 笔记
GLuint glCreateShader(GLenum shaderType); 这个接口用于创建一个着色器。这里的参数 shaderType 是个枚举值,用于指定要创建哪种类型的着色器。GL_VERTEX_SHADER 表示顶点着色器;GL_TESS_CONTROL_SHADER 用于细分 曲面的控制阶段(流水线级,OpenGL4.1);GL_TESS_EVA转载 2013-12-19 11:28:21 · 1070 阅读 · 0 评论 -
GLSL opengl着色器参数传递Shader
iOS 的shader实际上是iOS平台shang 基于GLSL的opengl开发框架,该框架采用填空式编程的思想,application需要实现的是两个着色器-顶点着色器(Vertex Shader)和片段着色器(Fragment Shader)。着色器面对单点或单面编程,opengl库在运行时应该会采用单指令多数据流的方式工作。 对于顶点着色器,输入有三类:1.转载 2013-10-25 17:37:00 · 4030 阅读 · 0 评论 -
GLSL和深度测试解释
depth testing(深度测试)的功能,启动它,OpenGL就可以跟踪在z轴上的像素。这样它只会在那个像素前方没有东西时,才会绘画这个像素。在OpenGL ES2.0 的世界,在场景中渲染任何一种几何图形,你都需要创建两个称之为“着色器”的小程序。着色器由一个类似C的语言编写- GLSL这个世界有两种着色器(Shader): Vertex shaders – 在你的转载 2013-11-08 11:47:03 · 2939 阅读 · 0 评论 -
OpenGL基础知识
OpenGL 数据类型首先我们要讨论的是OpenGL的数据类型。因为OpenGL是一个跨平台的API,数据类型的大小会随使用的编程语言以及处理器(64位,32位,16位)等的不同而不同,所以OpenGL定义了自己的数据类型。当传递数据到OpenGL时,你应该坚持使用这些OpenGL的数据类型,从而保证传递数据的尺寸和精度正确。不这样做的后果是可能会导致无法预料的结果或由于运行时的数据转换造原创 2013-11-13 16:44:49 · 792 阅读 · 0 评论 -
3D模型-OBJ材质文件 MTL格式分析
OBJ文件不包含面的颜色定义信息,不过可以引用材质库,材质库信息储存在一个后缀是".mtl"的独立文件中。关键字"mtllib"即材质库的意思。 材质库中包含材质的漫射(diffuse),环境(ambient),光泽(specular)的RGB(红绿蓝)的定义值,以及反射(specularity),折射(refraction),透明度(transparency)等其它特征。 "usemtl"指定转载 2013-11-13 12:05:32 · 9053 阅读 · 0 评论 -
纹理寻址方式
Direct3D应用程序可以为任何图元的任何顶点指定纹理坐标,通常使用的 u、v 纹理坐标的取值范围是[0.0, 1.0],但是通过设置该范围外的坐标值,可以得到纹理映射的特殊效果。虽然系统允许纹理坐标取[0.0, 1.0]范围外的值,但硬件极限常常影响纹理坐标的取值范围。当调用函数IDirect3DDevice9::GetDeviceCaps()得到设备性能后,一个渲染设备将此极限值放在转载 2013-11-25 18:23:14 · 3631 阅读 · 0 评论 -
opengl 矩阵
许多图形应用涉及到几何变换,主要包括平移、旋转、缩放。以矩阵表达式来计算这些变换时,平移是矩阵相加,旋转和缩放则是矩阵相乘,综合起来可以表示为p' = p *m1+ m2(m1旋转缩放矩阵, m2为平移矩阵, p为原向量 ,p'为变换后的向量)。引入齐次坐标的目的主要是合并矩阵运算中的乘法和加法,表示为p' = p*M的形式。即它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系原创 2013-10-31 12:16:46 · 923 阅读 · 0 评论 -
OpenGL矩阵推导——模型视图变化
http://blog.sina.com.cn/s/blog_a401a1ea0101f1k3.htmlOpenGL矩阵推导——模型视图变化在三维编程中,模型视图变换是从三维世界到二维屏幕中一个很重要的变换,但是这个变换往往很多人都不太理解,要么是事而非。而这方面的文章不是太少就是讲的太浅没有真正的理解模型视图变换,本人在这个过程中曾经走过很多歪路,不过好在最终在自己的不懈努力转载 2013-10-29 10:56:26 · 1747 阅读 · 0 评论 -
openGL 深度格式 深度测试
penGL里常出现深度测试,一直不清楚。今天就来弄清楚。 (1)什么是深度? 深度其实就是该象素点在3d世界中距离摄象机的距离(绘制坐标),深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值! 深度值(Z值)越大,则离摄像机越远。 深度值是存贮在深度缓存里面的,我们用深度缓存的位数来衡量深度缓存的精度。深度缓存位数越高,则精确度越高,目前的转载 2013-10-16 16:06:38 · 906 阅读 · 0 评论 -
opengl深度缓冲区简介
【颜色缓冲区】 颜色缓冲区(COLOR_BUFFER)就是帧缓冲区(FRAME_BUFFER),你需要渲染的场景最终每一个像素都要写入该缓冲区,然后由它在渲染到屏幕上显示.【深度缓冲区】 深度缓冲区(DEPTH_BUFFER)与帧缓冲区对应,用于记录上面每个像素的深度值,通过深度缓冲区,我们可以进行深度测试,从而确定像素的遮挡关系,保证渲染正确.【模板缓冲区】原创 2013-08-31 17:19:32 · 1870 阅读 · 0 评论 -
OpenGL常用API
开发基于OpenGL的应用程序,必须先了解OpenGL的库函数。它采用C语言风格,提供大量的函数来进行图形的处理和显示。OpenGL库函数的命名方式非常有规律。所有OpenGL函数采用了以下格式: 库前缀有gl、glu、aux、glut、wgl、glx、agl等等,分别表示该函数属于OpenGL那个开发库,从函数名后面中还可以看出需要多少个参数以及参数的类型。I代表int型,f代表fl转载 2013-08-29 14:37:27 · 1096 阅读 · 0 评论 -
IOS的OpenGL基础
一组顶点数据这是一个正方形顶点的数组,实际上它是由二个三角形接合而成的。 每行顶点数据的排列含义是:顶点X、顶点Y,顶点Z、法线X、法线Y、法线Z、纹理S、纹理T。在后面解析此数组时,将参考此规则。顶点位置用于确定在什么地方显示,法线用于光照模型计算,纹理则用在贴图中。一般约定为“顶点以逆时针次序出现在屏幕上的面”为“转载 2013-08-29 12:05:32 · 2109 阅读 · 1 评论