Linux代码画正三角形,OpenGLES 之 绘制三角形 (一)

本文介绍了OpenGL ES的基础知识,包括其在Linux等平台的应用,以及它是如何利用GPU加速图形渲染的。文章以绘制三角形为例,详细讲解了OpenGLES的‘HelloWorld’程序,涉及GLSurfaceView、图形渲染管线、顶点着色器和片段着色器等关键概念。通过存储顶点数据、编写着色器、创建着色器程序、设置视口和传递数据,最后成功绘制出正三角形。
摘要由CSDN通过智能技术生成

一、OpenGL ES

OpenGL是一个供运行在Linux、Unix、Mac和Windows的桌面系统使用的跨平台标准的API,OpenGL ES是以手持和嵌入式设备为目标的高级3D图形应用程序编程接口。即OpenGLES是OpenGL的子集,去除了复杂的不常用的功能,专门为PDA等为目标的图形API。

OpenGLES经常用在对图片、视频、相机、游戏等方面。它是使用了GPU的计算的,从而解放CPU的使用,加速渲染能力。

二、前言

作为一门语言的入门,都是从HelloWord学起的。当然OpenGL也不例外,绘制一个三角形应该就是OpenGLES的“HelloWorld”了,但是这个HelloWorld有的复杂,并不像java等语言输入一句话就行了。绘制一个三角形虽然是“HelloWorld”,但是麻雀虽小五脏俱全,工作量和操作步骤却没有变小。

本文选择的渲染载体为:GLSurfaceView

简单的介绍下GLSurfaceView,它是继承自SurfaceView,一个双缓冲机制并可在子线程更新的具有两个View体系结构的View,在SurfaceView的基础上增加了对EGL的管理。减少了我们对EGL的操作,简化了步骤。简单说EGL是OpenGLES和底层硬件的过渡层,他抽象了硬件的细节,完成了OpenGLES的跨平台性。

编写前,先介绍一个概念:图形渲染管线,它是从输入数据开始到绘制到界面的过程。大体步骤,可以参考如下官方给出的步骤。蓝色部分是用户可定制开发的。

e32edd422b69

管线操作

顶点着色器:它把一个顶点作为输入。把3D坐标转为标准化设备坐标,同时顶点着色器允许我们对顶点属性进行一些基本处理,如矩阵变换。

图元装配:它将所有的顶点作为输入,将其装配成一个具体的形状。

几何着色器:几何着色器把图元形式的一系列顶点的集合作为输入,通过产生新顶点构造出新的图元来生成其他形状。

光栅化: 图元映射为最终屏幕上相应的像素

片段着色器: 计算一个像素的最终颜色

测试和混合: 根据Z轴选择是否抛弃该

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值