Opengl
fu_shuwu
这个作者很懒,什么都没留下…
展开
-
How to get the Projection ProjectionMatrixFromCameraIntrinsics
ProjectionMatrixForCameraIntrinsics(float width, float height, float fx, float fy,float cx, float cy, float near, float far) { const float xscale = near / fx; const float yscale = near / fy; c原创 2017-06-16 16:16:22 · 1382 阅读 · 0 评论 -
convert roation matrix to quat
//rotation_mat get from the decompose matrix's output of rotationglm::quat *rotation = glm::quat_cast(rotation_mat);template typename T, precision P>GLM_FUNC_QUALIFIER detail::tquat quat_原创 2017-06-21 21:26:26 · 1602 阅读 · 0 评论 -
Android平台Camera实时滤镜实现方法探讨(三)--通过Shader实现YUV转换RBG
http://blog.csdn.net/oshunz/article/details/50055057文章例如该链接通过将YUV分成三个纹理,在shader中取出并且经过公式变换,转换成RGB。我尝试了下,显示的是灰色的,可能是这篇文章采用的是planar格式的YUV,与Android平台的packed格式的YUV不同,因此需要在纹理绑定处进行数据指针的修改。转载 2017-06-09 21:56:56 · 2206 阅读 · 0 评论 -
通过opengl es 2.0来实现yuv(NV21)的显示
基本思路参考如下文章,用opengl es2.0 来实现yuv(NV21)的显示。 http://blog.csdn.net/fu_shuwu/article/details/72972312public static String VERTEX_SHADER = "attribute vec4 vPosition; \n"+原创 2017-06-10 14:03:17 · 5456 阅读 · 2 评论 -
Android平台美颜相机/Camera实时滤镜/视频编解码/影像后期/人脸技术探索——2.1 GPUImage结构简析
Github项目地址回到目录说到基于GPU的图像处理和实时滤镜,大家肯定会想到鼎鼎大名的GPUImage,这个项目确实为后续开发提供了很多方便,基本的图像处理工具一应俱全。iOS版的项目比较活跃,Android的好像已经被遗弃好久了,一堆bug没人解决。但是学习借鉴GPUImage的项目结构,可以为我们提供不小的帮助。GPUImage项目结构GPUImage的项目结转载 2017-07-02 16:24:09 · 2395 阅读 · 0 评论 -
Android平台Camera实时滤镜实现方法探讨(十一)--实时美颜滤镜
http://blog.csdn.net/oShunz/article/details/50536031上一章完成了对图片的磨皮处理,经过简单算法流程优化,可以达到很快的速度,但是不能用于实时美颜。经实验,若采用只处理Y信号的方案,半径极限大约是5-10,超过10则明显感受到卡顿,但对于1920X1080的预览分辨率来说,取10为半径很难得到理想效果。即使将分辨率降低到1280X720也差转载 2017-07-02 16:31:25 · 2977 阅读 · 0 评论 -
Android+JNI+OpenGL开发自己的美图秀秀
http://blog.csdn.net/oShunz/article/details/50537631代码地址网上对于Android相机的开发博文较少,碰巧闲着无聊,遂完成此工程,仅供学习交流,可根据地址中的示例完成类似于美图秀秀的APP,包含40+种滤镜与实时美颜与后处理美颜功能。若对您有帮助,点开地址并且点击右上角的Star。1.相机预转载 2017-07-02 16:36:15 · 3369 阅读 · 0 评论 -
基于bitmap 位图格式创建一个纹理(texture)
public int createTexture(Bitmap bmptexture) { int [] mTextures = new int[1]; GLES20.glGenTextures(1, mTextures, 0); GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, mTextures[0]); GLES20.glTe原创 2017-06-22 21:07:12 · 7876 阅读 · 0 评论 -
基于video texture(camera流,视频流) 创建一个纹理
public int createTexture(){ int[] mTextures = new int[1]; GLES20.glGenTextures(1, mTextures , 0); GLES20.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, mTextures[0]);GLES20.glT原创 2017-06-22 22:06:33 · 5687 阅读 · 1 评论 -
OpenGL技术之View Volume, Viewport, Screen的关系
http://blog.csdn.net/i_dovelemon/article/details/50830847作者:i_dovelemon日期:2016 / 03 / 08来源:CSDN主题:OpenGL,View Volume,Viewport,Screen引言 今天在公司的时候,基本工作做转载 2017-06-11 21:34:13 · 2215 阅读 · 0 评论 -
gpufilter for the demo download
下面的网址里有一个关于opengl gpufilter 的一个demo,主要是基于android studio 2.2.2 , 如果您的android studio 不是android studio 2.2.2 的话,需要做简单修改,最好是比2.2.2高级的版本,大致步骤1 下载并解压下载好的项目2 这样需要修改项目根目录下的build.gradle//classp原创 2017-07-08 09:35:30 · 4463 阅读 · 0 评论 -
To get the View matrix from the rotation,translation,scale
glm::mat4 Camera::GetViewMatrix() const { return glm::inverse(GetTransformationMatrix());}glm::vec3 position_; //translation vector (tx,ty,tz)glm::quat rotation_; //quat (w,x,y,z)glm::ve原创 2017-06-21 21:24:18 · 1318 阅读 · 0 评论 -
Decomposing a matrix(用于分解变换矩阵至旋转、平移,缩放分量)
http://blog.csdn.net/gissirclyx/article/details/4730543文章来源:http://www.ziggyware.com/readarticle.php?article_id=15 Matrix decomposition is very useful when you would like to get the tran转载 2017-06-21 20:38:18 · 1711 阅读 · 0 评论 -
再议gluPerspective和gluLookAt的关系
http://blog.csdn.net/augusdi/article/details/19936239http://www.cnblogs.com/chengmin/archive/2011/09/12/2174004.html看了Opengl的相关程序,发现有些东西还是特别迷茫,尤其是gluLookAt的函数做啥用的,而gluPerspective又有什么功能.转载 2017-06-21 09:37:29 · 1181 阅读 · 0 评论 -
OpenGL学习脚印: 坐标和变换的数学基础(math-coordinates and transformations)
http://blog.csdn.net/wangdingqiaoit/article/details/51394238写在前面 ,上一节介绍了向量和矩阵,本节将熟悉坐标、线性变换、仿射变换以及坐标转换等概念和计算方法,这些内容对后续的学习将会有很大帮助。部分内容不是OpenGL编程初学者所必须掌握的,可以在以后需要时再回头来看。这里是对这些知识点的一个总结,旨在对他们有个整体把握,后面具转载 2017-06-05 20:35:36 · 1619 阅读 · 0 评论 -
OpenGL学习脚印: 二维纹理映射(2D textures)
写在前面 前面两节介绍了向量和矩阵,以及坐标和转换相关的数学,再继续讨论模型变换等其他包含数学内容的部分之前,本节介绍二维纹理映射,为后面学习做一个准备。纹理映射本身也是比较大的主题,本节只限于讨论二维纹理的基本使用,对于纹理映射的其他方法,后面会继续学习。可以从我的github下载本节代码。通过本节可以了解到纹理映射的概念和原理二维纹理映射的处理方法使用纹理增加物体表转载 2017-06-05 20:39:40 · 1341 阅读 · 0 评论 -
OpenGL学习脚印: 模型变换(model transformation)
http://blog.csdn.net/wangdingqiaoit/article/details/51531002写在前面 前面为本节内容准备了向量和矩阵、线性变换等内容,本节开始学习OpenGL中的坐标处理。OpenGL中的坐标处理过程包括模型变换、视变换、投影变换、视口变换等内容,这个主题的内容有些多,因此分节学习,主题将分为5节内容来学习。本节主要学习模型变换。本节示例转载 2017-06-05 20:43:34 · 1491 阅读 · 0 评论 -
OpenGL学习脚印: 视变换(view transformation)
http://blog.csdn.net/wangdingqiaoit/article/details/51570001写在前面 OpenGL中的坐标处理过程包括模型变换、视变换、投影变换、视口变换等内容,这个主题的内容有些多,因此分节学习,主题将分为5节内容来学习。上一节模型变换,本节学习模型变换的下一阶段——视变换。到目前位置,主要在2D下编写程序,学习了视变换后,我们可以看到转载 2017-06-05 20:45:58 · 1656 阅读 · 0 评论 -
OpenGL 矩阵变换GLM库的使用
http://blog.csdn.net/qq_23225317/article/details/65937396GLM和MVP矩阵操作速记 include “glm/glm.hpp”include “glm/gtc/matrix_transform.hpp”若未特别说明,以下示例均假设矩阵/向量为四维 glm::mat4 mat; glm:转载 2017-06-06 08:52:51 · 4474 阅读 · 0 评论 -
yuv420sp crop from any startpoint and width and height
做图像处理的时候,经常需要进行相关图像的裁剪,旋转,复制等处理,前文有一些这方面的文档,但是不适合我的要求,我的要求是:剪裁一个yuv420sp 的数据,调试了一段时间,现把相关代码分享出来。当初有一个坑,就是在x_start ,y_start/2的时候写成x_start>>1,y_start>>1 的时候,出现错误,后来改为x_start ,y_start/2 问题就好了。原创 2017-06-17 12:10:58 · 2115 阅读 · 0 评论 -
OpenGL学习脚印: 绘制一个三角形
http://blog.csdn.net/wangdingqiaoit/article/details/51318793写在前面 接着上一节内容,开发环境搭建好后,我们当然想立即编写3D应用程序了。不过我们还需要些耐心,因为OpenGL是一套底层的API,因而我们要掌握的基本知识稍微多一点,在开始绘制3D图形之前,本节我们将通过绘制一个三角形的程序来熟悉现代OpenGL的概念和流程转载 2017-06-03 18:56:24 · 1314 阅读 · 0 评论 -
OpenGL学习脚印: 使用索引绘图(index drawing)
http://blog.csdn.net/wangdingqiaoit/article/details/51324516写在前面 上一节熟悉了OpenGL绘图的中基本的VAO和VBO,以及着色器,并绘制了一个三角形。本节在上一节基础上,介绍利用EBO的索引绘图。通过本节可以了解到索引绘图使用方法索引绘图应用场合使用EBO开始索引绘图EBO即Ele转载 2017-06-03 19:01:09 · 1188 阅读 · 0 评论 -
OpenGL学习脚印: 向量和矩阵要点(math-vector and matrices)
http://blog.csdn.net/wangdingqiaoit/article/details/51383052写在前面 前面几节内容环境搭建,绘制三角形,以及使用索引绘制,让我们对现代OpenGL中绘图做了简单了解。要继续后面的部分,需要熟悉OpenGL中涉及的数学知识。因此本节开始介绍OpenGL中的基本数学。介绍这部分内容的主旨在于对OpenGL涉及的转载 2017-06-03 19:11:39 · 1384 阅读 · 0 评论 -
两种基于opengl 画球面体的方式
1 以球体中心(0,0,0)去连接各个三角形,然后通过 GLES20.glDrawArrays(GLES20.GL_TRIANGLE_FAN,0,vSize);进行public class Ball1 extends Shape { private float step=2f; private FloatBuffer vertexBuffer; private i原创 2017-06-07 21:26:05 · 3437 阅读 · 0 评论 -
ARCore 1.0 实践:在直播场景中加入AR特效
https://blog.csdn.net/agora_cloud/article/details/79494145ARKit 和 ARCore 给我们 AR 应用的开发带来了极大便利。ARCore 在 2 月 24 日发布了 1.0 正式版本,Android Studio Beta 模拟器也开始支持 AR Core,这是 AR 的一个里程碑。往常,我们看过的大多数 AR 应用或直播应用中,都是以...转载 2018-04-25 19:17:13 · 4992 阅读 · 0 评论