展开

关键词

首页关键词android opengl

android opengl

相关内容

  • Android OpenGL ES开发初探

    而OpenGL ES呢,是OpenGL针对嵌入式设备搞的一个库,所以移动开发上用的基本上就是OpenGL ES了。 二、OpenGL ES的基本使用和一些概念 1.版本 OpenGL ES 有几个版本,对于Android系统API,会有不同的要求。 这里考虑到Android系统版本,选择OpenGL ES 2.0会是比较好。Android上OpenGL ES基本的类 (1) GLSurfaceView OpenGL ES在Android开发上,是以GLSurfaceView为载体进行展示的(或者可以自己用SurfaceViewOpenGL中的各种坐标系 1. 屏幕坐标系 众所周知,Android屏幕坐标系是以左上角为原点,横为x轴,竖为y轴。 2.三、总结 OpenGL就是一个画图用的库; 在Android上,OpenGL呈现的载体是GLSurfaceView; 使用shader语言去告诉OpenGL你要干嘛(画在什么位置和填充什么颜色或者纹理)
    来自:
    浏览:520
  • Android OpenGL ES(二)-正交投影

    上文Android OpenGL ES(一)-开始描绘一个平面三角形中我们已经成功描绘了一个三角形。但是奇怪的是,按照我们的坐标。期望得到的应该是一个等腰三角形。OpenGL ES世界的基本元素着色器 坐标系。矩阵 纹理 ... 本文主要涉及的部分是矩阵。直接开始我们先快速过一下矩阵的基础知识矩阵基础知识单位矩阵?而在OpenGL中,如果我们不去定义这个w。默认就是1. OpenGL的坐标系归一化设备坐标我们之前定义的坐标系。是OpenGL中的坐标系。x,y,z都映射到了的范围内。而OpenGL使用的是右手。所以要转化成归一化坐标,就需要反过来。代码实现基于上一节的代码做下面的修改。 其实还是我们的上一节总结的套路。
    来自:
    浏览:892
  • 广告
    关闭

    50+款云产品免费体验

    提供包括云服务器,云数据库在内的50+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到
  • Android OpenGL ES滤镜开发设计

    一、引入 按照正常的Android OpenGL开发,一般只需引入两个“主角”:GLSurfaceView和Renderer。width, int height); Renderer#onSurfaceChanged时调用 void draw(); Renderer#onDrawFrame时调用} 在这个接口的基础上,按照OpenGL
    来自:
    浏览:486
  • Android OpenGL ES(三)-平面图形

    上一章Android OpenGL ES(二)-正交投影 的学习,我们已经能够画正常的图片图形了,这章我们会继续来绘制正方形和圆的这样的平面图形和绘制纹理。添加indexBuffer 我们同样需要为我们新添加的位置数组的分配内存,让OpenGL来读取。二维纹理坐标.png对比Android系统的Y轴 android系统中的y轴也是向下的。但是纹理坐标是向上的。纹理的大小 在标准的OpenGL ES 2.0中,纹理不必是正方形。Android屏幕的Y坐标是向下的和而纹理中的T坐标是向上的,所以表达同一个点的Y坐标和T坐标是相反的!纹理的基础概念绘制一个纹理的基本套路下一章开始,我们会进入Android的相机和OpenGL的结合。 相机部分结束之后,才会到三维图形的部分。
    来自:
    浏览:708
  • Android OpenGL ES(四)-为平面图添加滤镜

    上文Android OpenGL ES(三)-平面图形的最后,我们通过渲染纹理,终于将我们的2D图片渲染到了OpenGL中。但是OpenGL中处理的是RGB格式的数据,我们要如何去取得灰度图呢? 我们可以通过公式,计算出新的RGB值,就是灰度的图片了。我们添加了一个uniform的属性u_ChangeColor,这样我们可以传递我们自己的系数给OpenGL着色器中取样的其实是小单元的RGB色值(图片每个像素的色彩值),我们可以通过计算操作,色彩值进行调整基于之前的认识,我们知道传递我们的属性uniform给OpenGL的都是通过创建数组,绑定属性,这一套流程。
    来自:
    浏览:745
  • Android OpenGL纹理压缩是怎样的?

    我需要一些帮助来查找关于如何使用Android纹理压缩的信息(或示例)。我现在有很多PNG,我需要减少他们占用的内存量。我在看PVR压缩,但我无法弄清楚如何在OpenGL中使用它。
    来自:
    回答:2
  • 【专业技术】Android平台下使用OpenGL

    存在问题:安卓平台下如何使用opengl?解决方案:1、GLSurfaceViewGLSurfaceView是Android应用程序中实现OpenGl画图的重要组成部分。而android平台下关于图像的现实,差不多都是由Surface来实现的2、Renderer有了GLSurfaceView之后,就相当于我们有了画图的纸。现在我们所需要做的就是如何在这张纸上画图。3、 Android下OpenGL绘图基本流程:我们从画一个三角形开始说起:3.1 MyRender经过前面的介绍,我们应该知道现在需要做的事,就是写好Renderer的三个接口方法。下面,主要讲下,如何将顶点数据和颜色数据放入符合 Android OpenGL 的数组缓冲区中。gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);第一个参数指明了画图的类型——三角形(android 似乎只支持画三角形、点、线,不支持画多边形)。
    来自:
    浏览:478
  • 速读原著-Android应用开发入门教程(使用OpenGL图形接口的程序结构)

    第 10 章 OpenGL 3D图形的使用10.1 使用OpenGL图形接口的程序结构。在 Android 中,可以直接支持 3D 图形的绘制,主要使用 OpenGL 标准的类javax.microedition.khronos.egl,但是需要结合 Android GUI 系统使用。Android 中 OpenGL 接口使用的结构如图所示: ? 在使用 3D 的图形 API 方面,主要的步骤通常如下所示: 1.扩展实现 android.view.GLSurfaceView 类。2.扩展实现 android.opengl.GLSurfaceView 中的 Renderer(渲染器)。android.opengl.GLSurfaceView 扩展了 android.view.SurfaceView , android. view.SurfaceView 扩展了 android.view.View
    来自:
    浏览:252
  • OpenGL ES for Android 深度测试

    什么是深度深度就像是现实世界中物体与我们自己之间的距离,而在OpenGL中,深度是像素点(可以理解为现实世界中的物体)距离相机的距离,深度信息保存在深度缓存中,深度值越大则离相机越远。深度测试有什么作用在OpenGL ES中默认是不开启深度测试的,不使用深度测试的时候,先绘制较近的物体,然后绘制较远的物体,当远处的物体和近处的物体出现重叠时导致近处的物体被远处的物体遮挡,这不符合实际的现象启用深度测试在OpenGL ES中默认是不开启深度测试的,开启深度测试代码如下:GLES20.glEnable(GLES20.GL_DEPTH_TEST)在每次绘制(onDrawFrame方法)时先清楚上次的深度缓存和颜色缓存glDepthFunc方法使用方式如下: GLES20.glDepthFunc(GLES20.GL_LESS)在 OpenGL ES for Android 绘制立方体 中是典型的深度测试用例,通过这篇文章可以查看开启深度测试和不开启的区别
    来自:
    浏览:227
  • Android OpenGL ES 2.0模拟器该怎么使用?

    默认的Android模拟器不支持2.0,androidX86项目和类似的androbox项目不支持本地代码(NDK),所以即使Hello-Jni崩溃(所有示例在标准AVD上工作正常,但Hello-GL2示例的c),不知道支持他们的OpenGL ES 2.0或不,请告诉我。因此,如果有支持OpenGl 2.0的本地开发(NDK) - 如何在没有设备的情况下测试应用程序?
    来自:
    回答:2
  • Android OpenGL开发实践 - 基于OpenGL ES 2.0的Android相机实时图片涂鸦实现思路

    这篇文章将给大家讲解如何在Android系统上基于OpenGL ES 2.0来实现相机实时图片涂鸦效果,所涂内容跟随人脸出现、消失、移动、旋转及缩放,在这里,我们假设您:已经搭建好一个相机框架,能够获得相机的预览图像有了一个人脸检测的基础知识一:OpenGL的坐标系为方便讲解,以下只讲解二维的情况,在OpenGL使用中,我们主要会涉及到以下三个坐标系:屏幕坐标系屏幕坐标系就是我们手机屏幕的坐标系,以像素为单位,左上角是坐标系原点,即世界坐标系它是OpenGL内部的绘图区域的坐标系,x、y的取值范围都是-1~1,坐标原点在绘图区域的中心,见下图,假设绿色区域是一个OpenGL的绘图区域: ?基础知识二:ShaderShader就是OpenGL的着色器,分为顶点着色器(Vertex Shader)和片元着色器(Fragment Shader),这两个着色器都由一段小程序来实现,用OpenGL涉及到多个坐标系的转换,一旦某步出错,可能导致最后结果存在很大偏差Vertext Shader中平移、旋转及缩放代码的编写,本质上是套用变换矩阵 ----作者简介:kenneyqin(覃华峥),天天P图Android
    来自:
    浏览:2433
  • Android开发笔记(一百五十三)OpenGL绘制三维图形的流程

    从这篇文章开始,接下来会连载一系列的OpenGL相关博文,好好探讨如何在Android中进行OpenGL开发。对于Android开发者来说,OpenGL就是用来绘制三维图形的技术手段,当然OpenGL并不仅限于展示静止的三维图形,也能用来播放运动着的三维动画。不过对于初次接触OpenGL的开发者来说,三维绘图的概念可能过于抽象,所以为了方便读者理解,下面就以Android上的二维图形绘制为参考,亦步亦趋地逐步消化OpenGL的相关知识点。有了GLSurfaceView、GLRender和GL10这三驾马车,Android才能实现OpenGL的三维图形渲染功能。例子,在布局文件中放置一个android.opengl.GLSurfaceView节点,后续的三维绘图动作将在该视图上开展。
    来自:
    浏览:544
  • OpenGL-ES-2.0-for-Android 项目介绍

    这是一个OpenGL ES 2.0在Android上的应用实例。包含简单的颜色渲染、纹理渲染、立方体Cube、Assimp模型加载等等。部分功能使用Java编写,另外一部分功能使用C++编写。
    来自:
    浏览:299
  • Android OpenGL开发实践 - GLSurfaceView对摄像头数据的再处理

    GLSurfaceView简介OpenGL ES是OpenGL的一个子集,它针对 移动端或嵌入式系统做了部分精简,而Android系统中集成了OpenGL ES,方便我们通过其接口充分使用GPU的计算和渲染能力GLSurfaceView是管理OpenGL surface的一个特殊的View,它可以帮助我们把OpenGL的surface渲染到Android的View上,并且封装了很多创建OpenGL环境所需要的配置一般来说,NV21和YV12两种格式是所有Android机型都支持的,其他格式可能在不同机型上有兼容性问题。YUV数据格式不是本文关注的重点,在此不对其格式及兼容性作详细说明。OpenGL在安卓端的应用非常广泛,在移动端直播和视频app中,获取摄像头数据并进行再处理是非常常见的场景,需要充分了解摄像头数据的获取方式、OpenGL的相关知识以及在Android端的使用方式,尤其),天天P图Android工程师
    来自:
    浏览:7499
  • Android OpenGL ES(五)-结合相机

    这编文章就是将OpenGl和相机结合到一起。整体流程理解----?image.png将Camera中得到的ImageStream由SurfaceTexture接受,并转换成OpenGL ES纹理。在OpenGL环境下,用GLSurfaceView.Render将这个纹理绘制出来。----SurfaceTexture可以从图像流中捕获帧作为OpenGL ES纹理。直接使用创建的纹理,来创建SurfaceTexture就可以了。在OpenGL ES 2.0着色器必须使用#extension GL_OES_EGL_image_external:require着色器还必须使用samplerExternalOES GLSL采样器类型访问纹理
    来自:
    浏览:972
  • Android中基于OpenGL的特效

    在上一篇中,我们已经展示了Android中,通过OpenGL展示相机预览图片的方法。这一篇主要展示,如何在预览的图片中,加入一些简单的特效。特效概述?----以上就是一个简单的基于OpenGL的动画特效。OpenGL动效的关键在于根据着色器的代码,插入需要变换的变量。
    来自:
    浏览:1246
  • 推荐一款强大的 Android OpenGL ES 调试工具

    GAPID (Graphics API Debugger)是 Google 的一款开源且跨平台的图形开发调试工具,用于记录和检查应用程序对图形驱动程序的调用,支持 OpenGL ES 和 Vulkan很多朋友看到这里,心里可能会有疑问:假如我看上了别人的一个 OpenGL 实现的效果,那我能不能用 GAPID 抓取到它的 shader 脚本源码来学习?答案是肯定的。下载、安装好 GAPID 程序后,将 Android 手机通过 USB 与电脑连接(同时需要关闭 AndroidStudio ),手机处于开发者选项中的 Debug 调试模式。注意, GAPID 支持 Android 5.0 及以上版本手机,待调试的 App 要求是 Debug 版本或者手机被 Root 掉了。实现代码路径:Android_OpenGLES_3_0
    来自:
    浏览:1140
  • 如何使用Android OpenGL ES 3.0创建圆?

    Matrixprivate float mMatrix;private Circle mCircle;private Triangle mTriangle; Called once to set up the views openglprivate final MyGLRenderer mRenderer; public MyGLSurfaceView(Context context){ super(context); Create an OpenGl
    来自:
    回答:1
  • Android OpenGL ES(七) - 生成抖音照片电影

    这期,我们来试试利用OpenGL+MediaCodc,不进行预览直接录制成视频的情况。两个问题录制视频的开始,我们先来思考两个问题:如何直接生成影片。(不同于之前,都是通过Api通知,完成帧之后的回调)直接生成影片 OpenGL绘制 参考 从源码角度剖析Android系统EGL及GL线程 通过之前的学习,我们通过阅读源码和文章,能够了解到整个OpenGL要在屏幕上显示,需要使用SurfaceView或其他Android原生的View来创建对应的EGLSurface利用Encoder进行录制,我们只需要利用它的InputSurface来创建,EGLSurface
    来自:
    浏览:1194
  • OpenGL ES for Android 相机预览适配不同分辨率的手机

    上一篇讲到OpenGL ES for Android 相机预览,相机的预览分辨率设置为1280*720,大家有没有想过如果将GLSurfaceView设置为正方形会如何?不知道大家对OpenGL ES for Android 视频缩放、旋转、平移是否还有印象,这篇文章中是视频对不同分辨率的适配,视频适配的效果和本文中相机适配的效果有一些不同,视频适配的最终效果是视频画面显示完全原理搞清楚了,接下来在OpenGL ES for Android 相机预览的基础上进行修改,顶点shader修改如下:attribute vec4 a_Position;attribute vec4 a_TexCoordinate
    来自:
    浏览:344

扫码关注云+社区

领取腾讯云代金券