当前搜索:

【OpenGL ES】同步对象和栅栏

OpenGL ES 3.0为客户-服务器模型,客户即应用程序,发送命令,服务器即OpenGL ES实现,处理命令,因为针对的是手持和嵌入平台,所以客户和服务器通常在同一个设备上。在客户-服务器模型中,一个常见的问题是,客户如何发送命令,每次发送一个命令还是缓存后批量发送,服务器如何处理命令,同步等...
阅读(509) 评论(0)

【OpenGL ES】帧缓冲区对象FBO

1、FBO使用OpenGL ES,一般要通过EGL来配置本地窗口系统,关于EGL的介绍可参照“【OpenGL ES】EGL简介”http://blog.csdn.net/ieearth/article/details/71180457。默认情况下,OpenGL ES使用窗口系统提供的帧缓冲区作为绘...
阅读(435) 评论(0)

【OpenGL ES】片段操作

在OpenGL ES 3.0的可编程管线中,片段操作在片断着色器之后,下一步是帧缓冲区。片段着色器执行之后,片断着色器的输出是片段的颜色和深度值,片段在前往帧缓冲区途中经历的测试和操作包括裁剪区域测试、模板缓冲区测试、深度缓冲区测试、混合、抖动,下面逐个介绍。1、缓冲区缓冲区包括颜色缓冲区、深度缓...
阅读(365) 评论(0)

【OpenGL ES】片段着色器

1、管线片段着色器在OpenGL ES 3.0的可编程管线的位置如下图所示。 2、输入输出片段着色器为片段操作提供了通用功能的可编程方法,输入和输出如下图所示。 输入或者可变值,in,是顶点着色器生成的插值数据,顶点着色器输出跨图元进行插值,并作为输入传递给片段着色器。 统一变量,unifo...
阅读(524) 评论(0)

【OpenGL ES】纹理

1、2D纹理2D纹理是OpenGL ES中最基本和最常用的纹理形式,它是一个图像数据的二维数组,纹理坐标(s, t)或(u, v)用作纹理图像中的索引,代表用于查找一个纹理贴图的规范化坐标。纹理图像的左下角由st坐标(0.0, 0.0)指定,右上角由坐标(1.0, 1.0)指定,在[0.0, 1....
阅读(562) 评论(0)

【OpenGL ES】顶点着色器

1、输入输出顶点着色器可用于传统的基于顶点操作,例如通过矩阵变换位置、计算照明方程式以生成逐顶点的颜色以及生成或者变换纹理坐标。顶点着色器的输入、输出如下图所示。输入变量或属性:用顶点数组提供的逐顶点数据。 统一变量和统一变量缓冲区:顶点着色器使用的不变数据。 采样器:代表顶点着色器使用的纹理...
阅读(531) 评论(0)

【Wayland】初识Wayland(X、Mir)

【声明】下图copy自wikipedia,如有侵权请告知。在介绍Wayland之前,先熟悉一下X与Mir,简单来说,同样作为显示服务,X是一个老派的庞然大物,Wayland是一颗节节高的芝麻,Mir是一个颇受争议的新秀,其它的显示服务还包括Android的SurfaceFlinger,MacOS家...
阅读(3192) 评论(0)

【OpenGL ES】图元装配与光栅化

OpenGL ES 3.0支持三种基本图元,三角形、直线和点,它们由一组表示顶点位置的顶点描述,其它如颜色、纹理坐标和几何法线等也作为通用属性与每个顶点关联。1、三角形三角形有三种类型,GL_TRIANGLES用于绘制一系列单独的三角形,GL_TRIANGLE_STRIPE用于绘制一系列相互连接的...
阅读(1646) 评论(0)

【OpenGL ES】顶点缓冲区对象VBO与顶点数组对象VAO

【完整示例代码】https://github.com/geminy/aidear/tree/master/graphics/mu/examples/opengles3顶点属性即顶点数据,可以通过顶点数组逐顶点指定,也可以为所有顶点指定一个常量,所有OpenGL ES 3.0实现必须支持至少16个顶...
阅读(1879) 评论(0)

【OpenGL ES】着色语言GLSL

OpenGL ES 3.0顶点着色器和片段着色器的第一行总是声明着色器版本(如#version 300 es),通知着色器编译器预期在着色器中出现的语法和结构,检查着色器语法,默认为OpenGL ES着色语言的1.00版本,用于OpenGL ES 2.0,对于OpenGL ES 3.0,版本号为3...
阅读(1398) 评论(0)

【OpenGL ES】uniform变量缓冲区对象layout

在uniform变量缓冲区对象中,uniform变量在内存中以如下形式出现: (1)类型为bool、int、uint和float的成员保存在内存的特定偏移,分别作为单个uint、int、uint和float类型的分量。 (2)基本数据类型bool、int、uint或者float的向量保存在始于...
阅读(1190) 评论(0)

【OpenGL ES】着色器Shader与程序Program

在OpenGL ES 3程序中,Shader和Program是两个重要的概念,至少需要创建一个顶点Shader对象、一个片段Shader对象和一个Program对象,才能用着色器进行渲染,理解Shader对象和Program对象的最佳方式是将它们比作C语言的编译器和链接程序,从Shader的创建到...
阅读(2372) 评论(0)

【OpenGL ES】EGL简介

【参考-khronos-egl】https://www.khronos.org/egl 【参考-khronos-egl-api(目前共34个API)】https://www.khronos.org/registry/EGL/sdk/docs/man/ 【参考-khronos-egl-intro...
阅读(3320) 评论(0)

【OpenGL ES】Hello Triangle

像Hello World一样,Hello Triangle是OpenGL ES的一个入门级例子,OpenGL ES 3.0完全基于着色器,如果没有绑定和加载合适的着色器,就无法绘制任何几何形状。下面介绍Hello Triangle的一般步骤,如何用OpenGL ES绘制一个三角形,需要做哪些事情,...
阅读(889) 评论(0)

【OpenGL ES】OpenGL ES简介

【参考-khronos】https://www.khronos.org/opengles/1、简介OpenGL ES(OpenGL for Embeded System)是OpenGL(Open Graphics Library)的精简子集,是以手持和嵌入式设备为目标的高级3D图形API,如现在火...
阅读(1405) 评论(0)

【CEGUI】CEGUI入门篇之注入输入事件(五)

CEGUI中的事件通过CEGUI::InjectedInputReceiver处理,需要从外部注入输入事件,具体包括如下几个函数:bool InjectedInputReceiver::injectMouseMove( float delta_x, float delta_y ); bool In...
阅读(898) 评论(0)

【CEGUI】CEGUI入门篇之创建window(四)

以下内容翻译自http://static.cegui.org.uk/docs/0.8.7/window_tutorial.html这里介绍CEGUI window的创建及如何让window在屏幕上显示出来,在此之前,需要了解“CEGUI入门篇之初始化(一)”、“CEGUI入门篇之使用Resourc...
阅读(1146) 评论(0)

【CEGUI】CEGUI入门篇之数据文件及默认初始化(三)

以下内容翻译自http://static.cegui.org.uk/docs/0.8.7/datafile_tutorial.html开始之前需要了解CEGUI Render和System的创建及ResourceProvider的用法,不懂的请参考“CEGUI入门篇之初始化(一)”和“CEGUI入...
阅读(1104) 评论(0)

【CEGUI】CEGUI入门篇之使用ResourceProvider加载资源(二)

以下内容翻译自http://static.cegui.org.uk/docs/0.8.7/resprov_tutorial.html这里主要介绍CEGUI::ResourceProvider的相关概念及DefaultResourceProvider的用法。1、什么是ResourceProvider...
阅读(1294) 评论(0)

【CEGUI】CEGUI入门篇之初始化(一)

以下内容翻译自http://static.cegui.org.uk/docs/0.8.7/rendering_tutorial.html1、简介初始化CEGUI时,不管其渲染API或渲染引擎是什么,都包括三个基本步骤: (1)创建一个基于CEGUI::Renderer对象的实例。 (2)创建C...
阅读(1465) 评论(0)
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 41万+
    积分: 7088
    排名: 4007
    HELLO WORLD
    博客专栏
    文章分类