一.前期基础知识储备笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点: ①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分 ②使用OpenGLES绘制2D/3D图形的第一步:定义图形:——运用部分 ③使用OpenGLES绘制出②步骤中定义好的图形:——运用部分,难点所在 通过这三篇文章的分析,就像给万丈高楼垫定了基石,万丈高楼平地起,后面利用OpenGLES做各种效果,各种变换都是建立在这三步的图形编程理解之上的. 今天开始第三节——绘制图形部分的分…
一.前期基础知识储备笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点: ①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分 ②使用OpenGLES绘制2D/3D图形的第一步:定义图形:——运用部分 ③使用OpenGL ES绘制出②步骤中定义好的图形:——运用部分,难点所在 通过这三篇文章的分析,就像给万丈高楼垫定了基石,万丈高楼平地起,后面利用OpenGLES做各种效果,各种变换都是建立在这三步的图形编程理解之上的. 在前面的一篇文章<在Androi…
一.前期基础是知识储备笔者计划写三篇文章来详细分析OpenGL ES基础的同时也是入门关键的三个点: ①OpenGL ES是什么?与OpenGL的关系是什么?——概念部分 ②使用OpenGL ES绘制2D/3D图形的第一步:定义图形:——运用部分 ③使用OpenGL ES绘制出②步骤中定义好的图形:——运用部分,难点所在 通过这三篇文章的分析,就像给万丈高楼垫定了基石,万丈高楼平地起,后面利用OpenGLES做各种效果,各种变换都是建立在这三步的图形编程理解之上的. 话不多说正文开始 (1)什么…
一.前期基础储备笔者之前的四篇文综述了Android中使用OpenGL ES绘制基本图形和实现了简单的相机预览,初次接触OpenGL ES开发的读者可能对其中新的概念比较迷惑,尤其是其中的顶点着色器(Vertex Shader)和片元着色器(Fragment Shader),我们知道,在OpenGL中顶点着色器是针对每个顶点执行一次,用于确定顶点的位置.片元着色器是针对每个片元,片元可以理解为每个像素,用于确定每个片元(像素)的颜色或者纹理.如下是在相机预览中使用的两个着色器的代码段: priv…
笔者之前写了三篇Android中使用OpenGL ES入门级的文章,从OpenGL ES的相关概念出发,分析了利用OpenGL ES实现3D绘图的重要的两个步骤:定义形状和绘制形状,简单的绘制了一个三角形. 这里再简单回顾下:Android中使用OpenGL一共会涉及到四个类: 1)Activity——自不用说,Android界面展示的类: 2)GLSurfaceView——SurfaceView(API Level 1)的子类,View的孪生兄弟-SurfaceView专用于要求频繁刷新的界面…
引自:http://www.2cto.com/kf/201506/404366.html Android的媒体效果框架允许开发者可以很容易的应用多种令人印象深刻的视觉效果到照片或视频之上.作为这个媒体效果的框架,它使用GPU来处理图片处理的过程,它仅仅接收OpenGL的纹理(texture)作为输入.在本次教程中,你将会学习到如何使用OpenGL ES2.0将图片资源转化为纹理,以及如何使用框架为图片应用不同的处理效果. 准备 为了开始本次的教程,你必须具备:1.一款支持Android开发的ID…
转自: http://wiki.eoe.cn/page/Building_an_OpenGL_ES_Environment.html 负责人:zhangql原文链接:http://docs.eoeandroid.com/training/graphics/opengl/environment.html 要用OpenGl ES在应用程序中绘制图像,首先你要创建与之对应的视图容器.当中最直接的方法就是使用GLSurfaceView和GLSurfaceView.Renderer接口.GLSurface…
<OpenGL ES应用开发实践指南:iOS卷> 基本信息 原书名:Learning OpenGL ES for iOS:A Hands-On Guide to Modern 3D Graphics Programming 作者: (美)Erik M.Buck 译者: 徐学磊 丛书名: 华章程序员书库 出版社:机械工业出版社 ISBN:9787111428671 上架时间:2013-6-19 出版日期:2013 年6月 开本:16开 页码:1 版次:1-1 所属分类:计算机 > 软件与程…
首先申明下,本文为笔者学习<OpenGL ES应用开发实践指南(Android卷)>的笔记,涉及的代码均出自原书,如有需要,请到原书指定源码地址下载. <OpenGL ES学习笔记(二)--平滑着色.自适应宽高及三维图像生成>中阐述的平滑着色.自适应宽高是为了实现在移动端模拟真实场景采用的方法,并且通过w分量增加了三维视角,在具体实现上采用了正交投影.透视投影的理论.本文将在此基础上,构建更加精美的三维场景.三维效果本质上是点.直线和三角形的组合,纹理是将图像或者照片覆盖到物体表面…
引自:http://www.cnitblog.com/zouzheng/archive/2011/05/30/74326.html EGL 是 OpenGL ES 和底层 Native 平台视窗系统之间的接口.本章主要讲述 OpenGL ES 的 EGL API ,以及如何用它创建 Context 和绘制Surface 等,并对用于 OpenGL 的其他视窗 API 做了比较分析,比如 WGL 和 GLX .本章中将涵盖如下几个方面:          EGL 综述          E…
接上篇博客 (5)TableLayout     表格布局管理器 在android中,线性布局和表格布局用的是最多的. 在很多的输出操作中,往往会使用表格的形式对显示的数据进行排版,tablelayout采用表格形式对控件的布局进行管理的,在布局的管理中,要使用TableRow进行表格行的控制,之后               所有的组件要在tableRow中进行增加. 在表格布局管理器中可以添加多个TableRow标记,TableRow标记占用一行,由于TableRow标记也是容器,所以在该标…
本节是OpenGL学习的第六个课时,下面介绍OpenGL图形的相关知识:     (1)多边形的概念: 多边形是由多条线段首尾相连而形成的闭合区域.OpenGL规定,一个多边形必须是一个“凸多边形”.通过点.直线和多边形,就可以组合成各种几何图形.一段弧可以看成是是很多短的直线段相连,这些直线段足够短,以至于其长度小于一个像素的宽度.通过位于不同平面的相连的小多边形,还可以组成一个“曲面”. 什么是凸边形: 凸边形:多边形内任意两点所确定的线段都在多边形内,由此也可以推导出,凸多边形不能是空心的…
Activity的四种启动模式:standard.singleTop.singleTask.singleInstance   清单文件中的Activity配置使用:android:launchMode=""属性指定启动模式  1.standard:默认模式,每次启动都会创建一个新的Activity对象,放到目标任务栈的栈顶  2.singleTop:判断当前的任务栈顶是否存在相同的Activity,如果存在,直接使用,如果不存在,创建一个新的Activity对象放入栈顶  3.sing…
(1)首先添加权限开机启动权限 <!--开机启动权限--> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> (2)注册一个BroadcastReceiver来检测android系统开机时发出的开机广播 package com.wxyz.dengchaoqun.testswf; import android.content.BroadcastReceiver;…
延迟线程执行 Timer timer=new Timer();//实例化Timer类 timer.schedule(new TimerTask(){ public void run(){ buyed(true); this.cancel();}},500);…
本文主要抛砖引玉,粗略介绍下Android平台RTMP/RTSP播放器中解码和绘制相关的部分(Github). 解码 提到解码,大家都知道软硬解,甚至一些公司觉得硬解码已经足够通用,慢慢抛弃软解了,如果考虑到设备匹配,软硬解码都支持,是个不错的选择,为此,大牛直播SDK在开发这块的时候,分类是这样的: 1. 软解码:解码后获取到原始数据,可进行后续的原始数据回调和快照等操作: 2. 硬解码:解码后获取到原始数据,可进行后续的原始数据回调和快照等操作: 3. 硬解码:设置surface模式,直接r…
Git功能十分复杂,简单来说它使你的开发更为快捷和可控,尤其是在开源项目上展现的友好的交互和回馈. 熟悉一些git指令操作对开发者的帮助可以避免开发者受到一些外在因素打断开发进度,甚至延误项目的check日期.提交指定代码库需要RSA身份验证,而且需要公钥确定设备能够提交管理代码库. 如果源代码是最能体现软件作者的真正思路的.就像学习Linux内核开发,值找基本所谓的“权威”书籍来看,并不能真正体会Linux内核的核心设计理念.以Andorid源代码的解析和编译测试为基础的驱动开发.要使用内嵌在…
1. 什么是Git? Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. 2. Git的安装. # apt-get install git #apt-get install git-doc git-svn git-email git-gui gitk 在Linux下可以直接使用man命令查看指定命令的帮助文档 #git help <sub-comm…
先来个宏观上的理解: 其实这块逻辑是个标准流程,而且其他地方介绍的也很多了,这里简单提下. 坐标转换,其实是不同坐标系之间的变换,一个渲染顶点,要想让它呈现在屏幕上的某个位置,是需要让这个顶点经过一个个坐标系的变换来进行的,每经过一个坐标系,它的坐标就会使用矩阵来执行变化一次,最终变化成为屏幕上的位置. 第一个Object Coordinates,这个比较好理解,就是模型的局部坐标系.这种坐标一般是美术建模的时候就会设定的,当然使用程序代码绘制出来的坐标自然是代码指定的. 比方说,一个坦克,美术…
感谢,摘自:http://blog.csdn.net/mapdigit/article/details/7526556 Android OpenGL ES 简明开发教程 Android OpenGL ES 简明开发教程一:概述 Android OpenGL ES 简明开发教程二:构造OpenGL ES View Android OpenGL ES 简明开发教程三:3D绘图基本概念 Android OpenGL ES 简明开发教程四:3D 坐标变换 Android OpenGL ES 简明开发教程…
Android为OpenGL  ES支持提供了GLSurfaceView组件,这个组件用于显示3D图形.GLSurfaceView本身并不提供绘制3D图形的功能,而是由GLSurfaceView.Renderer来完成了SurfaceView中3D图形的绘制. 归纳起来,在Android中使用OpenGL  ES需要三个步骤: 1.创建GLSurfaceView组件,使用Activity来显示GLSurfaceView组件. 2.为GLSurfaceView组件创建GLSurfaceView.R…
在上篇文章,我们能够配置好基本的Android OpenGL 使用的环境.但是如果我们不了解OpenGL ES如何定义图像的一些基本知识就使用OpenGL ES进行绘图还是有点棘手的.所以能够在OpenGL ES的View里面定义要绘制的形状是进行高端绘图操作的第一步. 本文主要做的事情就是为了讲解Android设备屏幕相关的OpenGL ES坐标系统,定义形状,形状面的基础知识,以及定义三角形和正方形. 一.定义三角形 OpenGL ES允许你使用三维空间坐标系定义绘制的图像,所以你在绘制一个…
OpenGL(Open Graphics Library) 是开放图形库,是一个跨平台的图形 API.OpenGL ES(OpenGL for Embedded System)是专为移动端提供的一个子集.目前主要版本有1.0/1.1/2.0/3.0/3.1: 1.0:Android 1.0和更高的版本支持这个API规范 2.0:不兼容 OpenGL ES 1.x.Android 2.2(API 8)和更高的版本支持这个API规范 3.0:向下兼容 OpenGL ES 2.x.Android 4.…
零:环境搭建目的 为了在Android应用程序中使用OpenGL ES绘制图形,必须要为他们创建一个视图容器.其中最直接或者最常用的方式就是实现一个GLSurfaceView和一个GLSurfaceView.Renderer.GLSurfaceView是用OpenGL绘制图形的视图容器,GLSurfaceView.Renderer控制在该视图内绘制的内容. 下面将讲解如何使用GLSurfaceView 和 GLSurfaceView.Renderer 在一个简单的应用程序的Activity上面做…
在屏幕上绘制图形只是OpenGL的相当基础的特点,你也可以用其他的Android图形框架类来实现这些,包括Canvas和Drawable对象.OpenGL ES为在三维空间中移动和变换提供了额外的功能,并提供了创建引人注目的用户体验的独特方式. 在本文中,你将进一步使用OpenGL ES学习怎样为你的图形添加一个旋转动作. 一.旋转一个图形 用OpenGL ES 2.0来旋转一个绘制对象是相对简单的.在你的渲染器中,添加一个新的变换矩阵(旋转矩阵),然后把它与你的投影与相机视图变换矩阵合并到一起…
在使用OpenGL ES做开发的时候,发现不是所有机型对OpenGL的代码都兼容的那么好,同样的代码在某些机型上总是会出现问题,但是在其他手机上就是好的.下面是本人总结的OpengGL 兼容问题: 一.验证当前手机支持的Opengl版本 android获取当前手机Opengl版本的方法 ActivityManager am =(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); ConfigurationInfo info =…
本人最近从Android平台的OpenGL ES开发转到iOS平台的OpenGL ES开发,由于平台不同,所以开发中会有一些区别,再次列出需要注意的几点. 1.首先需要了解iOS主要开发框架,再次仅介绍开发OpenGL ES应用常用的几个: CoreGraphics.framework  ——包含Quartz 2D接口(Core Graphics框架参考) Foundation.framework ——包含Cocoa Foundation层的类和方法(Foundation框架参考) OpenGL…
Qt 内置对OpenGL ES的支持.选用Qt进行OpenGL ES的开发是很方便的,很多辅助类都已经具备.从Qt 5.0開始添加了一个QWindow类,该类既能够使用OpenGL绘制3D图形,也能够使用QPainter绘制2D传统的GDI+图形.5.0曾经的QGLWidget不推荐再使用.在即将到来(官方时间是今年秋天)Qt 5.4会全然废弃QGLWidget.作为替代将会新增QOpenGLWidget和QOpenGLWindow类来方便OpenGL的编程. 好了废话不多说了.今天我会使用Op…
在学习Android OpenGL ES开发之前,你必须具备Java 语言开发经验和一些Android开发的基本知识,但并不需要有图形开发的经验,本教程也会涉及到一些基本的线性几何知识,如矢量,矩阵运算等. 此外Android SDK 中有关OpenGL ES API的开发文档 android.opengl javax.microedition.khronos.egl javax.microedition.khronos.opengles java.nio 注:上述Android 文档基本为空,…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/graphics/opengl/environment.html 要在你的应用中使用OpenGL ES绘制图像,你必须为它们创建一个视图容器.一个比较直接的方法是同时实现一个GLSurfaceView和一个GLSurfaceView.Renderer.GL…