opengles_Android_java学习笔记
文章平均质量分 79
hb707934728
这个作者很懒,什么都没留下…
展开
-
opengles-绘制旋转三角形
opengles绘制旋转三角形原创 2016-07-27 13:32:20 · 2441 阅读 · 0 评论 -
opengles之展翅飞翔的雄鹰
效果图:核心看 顶点 shader的实现uniform mat4 uMVPMatrix; //总变换矩阵attribute vec3 aPosition; //顶点位置 来自1号关键帧attribute vec3 bPosition; //顶点位置 来自2号关键帧attribute vec3 cPosition; //顶点位置 来自3号关键帧attri原创 2016-11-03 14:52:46 · 1012 阅读 · 0 评论 -
opengles绘制天空盒
效果图核心代码//纹理矩形public class TextureRect { int mProgram;//自定义渲染管线程序id int muMVPMatrixHandle;//总变换矩阵引用id int maPositionHandle; //顶点位置属性引用id int maTexCoorHandle; //顶点纹理坐标属性引用i原创 2016-10-13 10:32:57 · 1722 阅读 · 0 评论 -
opengles之卡通着色算法
顶点着色器uniform mat4 uMVPMatrix; //总变换矩阵uniform mat4 uMMatrix; //变换矩阵uniform vec3 uLightLocation; //光源位置uniform vec3 uCamera; //摄像机位置attribute vec3 aPosition; //顶点位置attribute vec3 aNormal; //顶原创 2016-10-24 10:55:23 · 689 阅读 · 0 评论 -
opengles膨胀吹气特效
效果图基本原理: 实现吹气膨胀特效时,由顶点着色器根据收到的参数将当前处理的顶点沿当前顶点的法向量移动一定的距离,每次处理时移动距离的大小由传入的参数控制。顶点shader中实现uniform float uFatFactor;//变胖系数uniform mat4 uMVPMatrix; //总变换矩阵uniform mat4 uMMat原创 2016-11-04 11:01:42 · 1631 阅读 · 0 评论 -
opengles开发中遇到的问题
问题一1,设置了摄像机的投影矩阵和位置矩阵后,发现绘制的物体离屏幕很近,很大,看不完全 //调用此方法计算产生透视投影矩阵 MatrixState.setProjectFrustum(-ratio, ratio, -1, 1, 2, 100); //调用此方法产生摄像机9参数位置矩阵 Mat原创 2016-10-25 10:33:44 · 547 阅读 · 0 评论 -
opengles裁剪平面
裁剪原理:给出用于定义剪裁平面的4个参数,A,B,C,D这4个参数分别是平面解析方程 Ax+By+Cz+D=0中的4个系数将剪裁平面的4个参数传入渲染管线,以备着色器使用,将顶点(x,y,z)代入平面方程Ax+By+Cz+D=0,完成计算后将得到的值传入片元着色器,若Ax+By+Cz+D>0 则顶点在平面一侧,反之在平面的另一侧。效果图主要计算在shader原创 2016-10-28 14:13:21 · 1741 阅读 · 0 评论 -
opengles绘制天空穹
天空穹技术中不再使用立方体模拟天空,而是用一个半球面模拟天空,此半球面上贴上对应的天空纹理,摄像机位于天空穹内部。效果图核心代码 半球的绘制package test.com.opengles11_6;import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.nio.FloatBuff原创 2016-10-19 09:40:11 · 1948 阅读 · 0 评论 -
opengles图像处理之平滑过滤
本文利用卷积实现图像的平滑过滤,卷积是一种很常见的数字图像处理操作,可以用来过滤一副图像,实现过滤的方法是计算原图像与卷积内核之间的积,所谓卷积内核是指一个nxn的矩阵,n一般为奇数,进行卷积计算时将卷积内核对待处理图像中的每个像素都应用一次。效果图核心实现在片元shader中precision mediump float;//给出默认浮点精度varying vec2 vTe原创 2016-11-09 15:29:34 · 2021 阅读 · 0 评论 -
opengles图像处理之边缘检测
实现原理见 http://blog.csdn.net/hb707934728/article/details/53100334实现边缘检测的卷积内核0101-41010效果图:片元shader实现 precision mediump float;//给出默认的浮点精度varying vec原创 2016-11-09 15:58:14 · 2240 阅读 · 0 评论 -
opengles图像处理之图片锐化处理
实现原理见 http://blog.csdn.NET/hb707934728/article/details/53100334实现锐化处理内核0-10-15-10-10效果图片元shader实现precision mediump float;//给出默认的浮点精度varying vec2 v原创 2016-11-11 10:49:04 · 2166 阅读 · 0 评论 -
opengles图像处理之浮雕效果
实现原理见 http://blog.csdn.NET/hb707934728/article/details/53100334实现浮雕效果的卷积内核20200030-6核心代码片元shader实现precision mediump float;//给出默认的浮点精度varying vec2 vT原创 2016-11-11 11:00:20 · 841 阅读 · 0 评论 -
opengles特效之飘扬的旗帜
效果图核心代码 主要看shader中的实现x方向飘扬shaderuniform mat4 uMVPMatrix; //总变换矩阵uniform float uStartAngle;//本帧起始角度uniform float uWidthSpan;//横向长度总跨度attribute vec3 aPosition; //顶点位置attribute原创 2016-11-01 18:44:48 · 1609 阅读 · 1 评论 -
opengles图像处理之渐变
本节介绍用opengles实现opencv中线性混合的效果,基本原理是在片元着色器中按一定比例混合两个纹理。precision mediump float;varying vec2 vTextureCoord;//接收从顶点着色器过来的参数uniform sampler2D sTexture1;//纹理内容数据1uniform sampler2D sTexture2;//纹理内容数据2原创 2016-11-14 11:53:48 · 3003 阅读 · 0 评论 -
opengles构建过程纹理地形
效果图原理参考 http://blog.csdn.net/hb707934728/article/details/52766057唯一区别是 shader中uniform mat4 uMVPMatrix; //总变换矩阵attribute vec3 aPosition; //顶点位置attribute vec2 aTexCoor; //顶点纹原创 2016-10-11 10:35:03 · 873 阅读 · 0 评论 -
opengles绘制圆锥体(光照+纹理)
效果图圆面的绘制package test.com.opengles8_2;/** * Created by hbin on 2016/9/7. */import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.nio.FloatBuffer;import android.opengl.GLES原创 2016-09-08 13:36:09 · 4475 阅读 · 2 评论 -
纹理坐标的计算方式
1,根据顶点坐标的计算方式来构造纹理坐标,典型的如圆柱体纹理坐标2,根据其取值范围 0圆心纹理坐标为:(0.5, 0.5)选取图片的中心。圆圈上的点的分配:纹理坐标必须在0,1之间,而且这些纹理坐标和圆的半径没有关系,只和圆心角有关。因为-1 0 同理:0原创 2016-10-10 09:31:06 · 5529 阅读 · 0 评论 -
GPU图形与shader
本文转自:http://jingyan.baidu.com/article/9f7e7ec054f4cf6f28155405.html本篇介绍 shader language 的基本原理和运行流程 百度经验:jingyan.baidu.comshader lab 初步了解1shader language 被定位为高级语言,转载 2016-07-28 11:04:05 · 864 阅读 · 0 评论 -
opengles绘制立方体
本人比较懒,不说废话,直接贴代码,代码后附有完整项目package test.com.opengles5_3;import android.opengl.GLES20;import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.nio.FloatBuffer;/** * Created by hbin on原创 2016-08-03 16:51:24 · 2528 阅读 · 2 评论 -
三维图像技术与OpenGL基础理论
原文 http://blog.csdn.net/yarkey09/article/details/38026413主题 OpenGL英文原文: 3D Graphics with OpenGL Basic Theory中文译文: 三维图像技术与OpenGL基础理论1. 计算机图像硬件1.1 GPU(图像处理单元)如今,计算机拥有用来专转载 2016-08-04 11:58:50 · 3620 阅读 · 0 评论 -
opengles绘制纹理(一)
矩阵变换类package test.com.opengles7_1;import android.opengl.Matrix;/** * Created by hbin on 2016/8/15. */public class MatrixState { private static float[] mProjMatrix = new float[16];//4x4矩阵原创 2016-08-16 11:08:27 · 3490 阅读 · 2 评论 -
opengles绘制可旋转的六角星
package com.bn.Sample5_1;import android.opengl.Matrix;//存储系统矩阵状态的类public class MatrixState { private static float[] mProjMatrix = new float[16];//4x4矩阵 投影用 private static float[] mVMatrix =原创 2016-08-01 15:22:25 · 1971 阅读 · 0 评论 -
opengles绘制可旋转的球体
球体绘制类package test.com.opengles6_1;import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.nio.FloatBuffer;import java.util.ArrayList;import android.annotation.SuppressLint;import and原创 2016-08-08 13:30:39 · 3875 阅读 · 3 评论 -
openges绘制可旋转的球体-增加光照效果之散射光
矩阵变换类package test.com.opengles6_3;import android.opengl.Matrix;import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.nio.FloatBuffer;/** * Created by hbin on 2016/8/9. * //存储系统矩原创 2016-08-10 11:47:22 · 938 阅读 · 0 评论 -
opengles之3D模型加载(obj模型文件)
效果图模型加载类package test.com.opengles9_1;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import android.content.原创 2016-09-09 17:39:05 · 9029 阅读 · 14 评论 -
opengles加载obj格式3D模型含光照和纹理
效果图顶点加载类package test.com.opengles9_5;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.HashMa原创 2016-09-12 16:17:49 · 8721 阅读 · 15 评论 -
opengles绘制球体之三种光照通道的合成(环境光,散射光,镜面光)
主要的变化在于shader中要对三种光照通道进行合成下面给出代码顶点着色器uniform mat4 uMVPMatrix; //总变换矩阵uniform mat4 uMMatrix; //变换矩阵uniform vec3 uLightLocation; //光源位置uniform vec3 uCamera; //摄像机位置attribute vec3 aPositi原创 2016-08-11 10:57:46 · 1843 阅读 · 2 评论 -
opengles之多重纹理与过程纹理
本例子包含若干shader文件,在项目assests文件夹下 矩阵变换类package test.com.opengles7_4;import android.opengl.Matrix;import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.nio.FloatBuffer;import java.ut原创 2016-08-24 14:26:12 · 2211 阅读 · 1 评论 -
opengles绘制圆柱体(光照+纹理)
先看效果图圆面的绘制:package test.com.opengles8_1;import java.nio.ByteBuffer;import java.nio.ByteOrder;import java.nio.FloatBuffer;import android.opengl.GLES20;/** * Created by hbin on 20原创 2016-09-05 14:26:04 · 3006 阅读 · 1 评论 -
使用opengles绘制灰度地形图
效果图:基本原理:灰度地形图生成技术的基本原理是利用MxN的网格表示地形,同时提供一副对应尺寸的灰度图,根据灰度图中每个像素的灰度来确定网格中顶点的海拔,黑色像素(RGB各个色彩通道的值为0)代表海拔最低的位置,白色像素(RGB中各个色彩通道的值为255)代表海拔最高的位置,实际开发中用如下公式来计算某像素顶点的海拔高度: 实际海拔=最原创 2016-10-09 14:05:13 · 5999 阅读 · 0 评论 -
EGL工作流程
流程(1)Display 是图形显示设备(显示屏)的抽象表示。大部分EGL函数都要带一个 Display 作为参数 (2)Context 是 OpenGL 状态机。Context 与 Surface 可以是一对一、多对一、一对多的关系 (3)Surface 是绘图缓冲,可以是 window、pbuffer、pixmap 三种类型之一 EGL 工作流程为: (1)初始化 (...原创 2018-12-27 16:13:58 · 1071 阅读 · 0 评论