- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 OpenGL ES for Android 绘制矩形和正方形
前面的文章介绍了如何绘制三角形,在OpenGL ES中没有直接绘制矩形的方式,通过绘制2个三角形的方式绘制矩形。绘制矩形的顶点shader:attribute vec4 vPosition;void main() { gl_Position = vPosition;}绘制矩形的片段shader:precision mediump float;void main(){...
2020-01-29 15:15:28 2079
原创 OpenGL ES for Android 绘制三角形
在Android中绘制三角形的顶点shader如下:attribute vec4 vPosition;void main() { gl_Position = vPosition;}vPosition是顶点,由应用程序传入。片段shader代码如下:precision mediump float;void main(){ gl_FragColor = vec4(1,0...
2020-01-29 10:57:30 1169
原创 OpenGL ES 变量、结构体、语句、函数、精度
变量void表示空,用于无返回值的函数。比如顶点shader中main函数:void main() { gl_Position = vPosition;}float、int、bool分别代表浮点型,整型,布尔型。定义各类型变量如下:float f = 1.0;int i =0;bool b = true;vec2、vec3、vec4分别包含2、3、4个float...
2020-01-29 10:53:19 2406
原创 OpenGL ES for Android 绘制线
在Android中绘制一条直线的顶点shader如下:attribute vec4 vPosition;void main() { gl_Position = vPosition;}vPosition是顶点,由应用程序传入。片段shader代码如下:precision mediump float;uniform vec4 u_color;void main(){ ...
2020-01-27 14:32:18 4294 2
原创 OpenGL ES for Android 绘制一个点
在Android中开发OpenGL ES的应用程序是无法调试 shader代码的,因此绘制点是一个很好的调试方法,为了定位问题经常会将一些结果输出的屏幕上,比如人脸识别关键点项目,想要确定人脸关键点是否正确,将关键点绘制在人脸对应位置上可以很好的展示人脸关键点正确与否。下面将会完成绘制一个点,点的颜色由应用程序确定,顶点shader代码如下:attribute vec4...
2020-01-26 07:29:28 1321
原创 OpenGL ES 纹理过滤模式-glTexParameteri
Android中GLES20.glTexParameteri函数表示对纹理的设置,函数结构如下:public static native void glTexParameteri( int target, int pname, int param );参数说明如下: target: 活动纹理单元的目标纹理,GLES20...
2020-01-25 07:46:40 2279
原创 OpenGL ES 绘制纹理
在OpenGL ES中绘制一张图片需要使用到纹理(texture),绘制纹理步骤如下:编写shader绘制纹理的shader需要顶点数据、纹理顶点数据和纹理。Vertex Shader代码如下:attribute vec4 a_Position;attribute vec2 a_TexCoordinate;varying vec2 v_TexCoord;void...
2020-01-24 07:09:11 2457
原创 OpenGL ES 之uniform和varying
老孟一个有态度的程序员uniformuniform是GLSL中变量类型的限定符,使用uniform限定的变量是只读值,在Shader中无法更改,只能通过应用程序传递给uniform。uniform变量为全局共享变量,可以在所有的Shader中可以获取,uniform定义如下:uniform float uTexPos;uniform 变量通常是存储在G...
2020-01-23 07:04:39 1792
原创 OpenGL ES 之attribute
春节倒计时02天注意:无特殊说明,文中的GLSL均指OpenGL ES 2.0版本。attribute是GLSL中特殊的变量类型,用于从“外部”到顶点着色器的通信,只能用于Vertex Shader(顶点着色器),不能用于其他Shader中,attribute 通常用来存储位置坐标、法向量、纹理坐标和颜色等,定义如下:attribute vec4 vPosition...
2020-01-22 06:54:24 1841
原创 OpenGL ES for Android 环境搭建
在Android上运行OpenGL ES程序需要用到GLSurfaceView控件,GLSurfaceView继承自SurfaceView并实现了GLThread,通过OpenGL ES进行绘制。OpenGL ES1.0是基于OpenGL 1.3的,OpenGL ES1.1是基于OpenGL 1.5的。Android1.0和更高的版本支持这个API规范。OpenGL ES 1.x是针对固...
2020-01-19 22:52:54 2195
原创 Flutter之SliverAppBar
SliverAppBar控件可以实现页面头部区域展开、折叠的效果,类似于Android中的CollapsingToolbarLayout。先看下SliverAppBar实现的效果,效果图如下:SliverAppBar控件需要和CustomScrollView搭配使用,SliverAppBar要通常放在slivers的第一位,后面接其他sliver控件。CustomScrollView(...
2020-01-18 16:59:51 10023 1
原创 OpenGL ES for Android
经过半年的准备OpenGL ES for Android系列文章终于要和大家见面了,在这里定一个小目标-先吸引1000个粉丝,万一实现了呢。写关于OpenGL ES的文章开始是有一些犹豫...
2020-01-18 16:16:19 460
原创 OpenGL ES for Android 总览
经过半年的准备OpenGL ES for Android系列文章终于要和大家见面了,在这里定一个小目标-先吸引1000个粉丝,万一实现了呢。写关于OpenGL ES的文章开始是有一些犹豫的,因为OpenGL ES的一些概念非常晦涩难懂,很多需要懂得计算机图形算法学相关的知识,您可能学了很久都找不到门道,知其然不知其所以然是常有的事。本系列的文章并不会深入的研究计算机图形算法相关的知识,而是从工...
2020-01-18 15:36:24 5300 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人