在androi平台上使用opengl画简单图形
GLRender.java
//单位向量
int one = 0x10000;
//设置图形顶点的坐标
private IntBuffer fourBuffer = IntBuffer.wrap(new int[]{0,one,0,one,0,0,-one,0,0,0,-one,0});
@Override
public void onDrawFrame(GL10 gl) {
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
//设置图形的中心点
gl.glTranslatef(-1.5f, 2.0f,-6.0f);//其中整个android机屏幕的坐标为0,0,0,看附图
//开启设置顶点坐标
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glVertexPointer(3, GL10.GL_FIXED, 0, fourBuffer);
//参数说明:
//1.类型:使用不同类型画出的效果也不一样
//GL_POINTS_单独画出顶点;GL_LINES_单独画出直线;GL_LINE_STRIP_连贯地将直线画出来;
//GL_LINE_LOOP_ 连贯地将直线画出来,自动将最后一个顶点和第一个顶点通过直线连接起来。
//GL_TRIANGLES_OpenGL使用三个顶点来组成图形;
//GL_TRIANGLE_STRIP_最开始的两个顶点出发,遍历每个顶点并使用前2个顶点一起组成一个三角形。
//2.开始点
//3.总共顶点数
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);
gl.glLoadIdentity();
gl.glTranslatef(-1.5f, -2.0f, -4.5f);
gl.glVertexPointer(3, GL10.GL_FIXED, 0, fourBuffer);
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);
gl.glLoadIdentity();
gl.glTranslatef(1.5f, -2.0f, -3.0f);//z的参数必须为负数,且其绝对值越小越接近屏幕
gl.glVertexPointer(3, GL10.GL_FIXED, 0, fourBuffer);
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);
//关闭设置顶点坐标
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
}
附带代码
- 大小: 28.2 KB
分享到:
相关推荐
这个文件主要是使用opengl代码通过函数在屏幕上画一个简单的茶壶
Android openGl 绘制简单图形的实现示例 在 Android 开发中,OpenGl 是一个非常重要的图形库,它提供了跨平台的图形 API,用于指定 3D 图形处理硬件中的标准软件接口。OpenGl 一般用于在图形工作站、PC 端使用,...
在Android平台上,JNI(Java Native Interface)允许开发者使用C++代码来增强应用程序的功能,尤其是在处理图形和计算密集型任务时,如使用OpenGL ES和OpenCV。这个特定的项目旨在通过JNI调用来结合这两个强大的库...
在Android平台上,OpenGL是一个强大的图形处理工具,常用于创建丰富的2D和3D动画效果。在本项目"z.h-android openGL 翻折动画效果"中,开发者使用OpenGL ES (Embedded Systems version of OpenGL) 创建了一个日历...
在Android系统中,OpenGL ES是主要的图形库,它允许开发者创建丰富的视觉体验,包括“画中画”功能。 画中画(Picture-in-Picture,简称PiP)是一种显示技术,它可以在主屏幕显示的同时,小窗口显示另一个视频或...
本教程将引导你入门Android上的OpenGL ES,讲解如何在屏幕上画点和画图。 首先,我们需要理解OpenGL ES的基本概念。OpenGL ES是一个基于状态机的API,它的操作会影响一系列的状态变量。这些状态变量包括颜色、深度...
在Android平台上,OpenGL(Open Graphics Library)是一种强大的图形处理API,常用于开发高性能的游戏和图形密集型应用。在本毕业设计项目中,你将学习如何使用OpenGL ES(针对嵌入式系统的OpenGL版本)来创建动态...
在Android平台上,OpenGL ES是一种广泛使用的图形库,用于在移动设备上实现高性能的2D和3D图形渲染。本文将深入探讨如何使用OpenGL ES在Android上实现图片的3D旋转。 首先,理解OpenGL ES的基本概念至关重要。...
c++ 读取 pcm 16位 双通道 文件,使用OpenGL画出双声道波形图。 c++ 读取 pcm 16位 双通道 文件,使用OpenGL画出双声道波形图。
OpenGL ES 是一种在嵌入式设备上广泛使用的图形库,特别是在Android系统中,它用于创建复杂的3D图形和动画。Android OpenGL ES 提供了一个接口,让开发者能够利用硬件加速的图形处理能力,来绘制出立方体、球体、...
在Android平台上,OpenGL ES是一种广泛使用的图形库,用于在移动设备上实现高性能的2D和3D图形渲染。本文将深入探讨如何使用OpenGL ES来绘制圆点,并介绍一种方法来优化圆点边缘的锯齿问题,提升视觉效果。 首先,...
在Android平台上,OpenGL ES(Embedded Systems的缩写)被广泛使用,它是OpenGL的一个精简版本,专为嵌入式设备如智能手机和平板电脑设计。Android OpenGL ES提供了丰富的接口,让开发者能够创建复杂的图形应用程序...
在本文中,我们将深入探讨如何使用OpenGL ES在Android应用中画点,并了解如何设置点的大小。 首先,要使用OpenGL ES,你需要在Android项目中添加对应的依赖。在AndroidManifest.xml中开启硬件加速,添加以下属性到`...
对于初次接触OpenGL ES的Android开发者,构建一个简单的OpenGL ES应用通常遵循以下步骤: 1. **创建GLSurfaceView实例**:在布局XML文件中定义或通过代码动态创建`GLSurfaceView`。 2. **设置Renderer**:通过`...
OpenGL ES 是一种在嵌入式设备上广泛使用的图形库,特别是在Android系统中,它用于创建高性能的2D和3D图形。在这个主题中,我们主要关注如何在Android平台上使用OpenGL ES绘制一个透明的三维/空间坐标系。这个过程...
这一课主要介绍如何设置Android项目以使用OpenGL ES,并展示一个简单的“Hello Triangle”程序。开发者会学习如何创建一个SurfaceView来承载OpenGL渲染,并理解如何初始化和管理OpenGL上下文。此外,还会讲解顶点...
在“android-openGL-canvas-master.zip”这个项目中,开发者可能结合了这两者,创建了一个示例应用来展示如何在 Android 上使用 OpenGL ES(OpenGL 的嵌入式版本)与 Canvas 进行交互,以实现更高效的图形绘制和动画...
2. **渲染管线**:OpenGL ES 使用渲染管线模型,将图形数据转化为屏幕上可见像素的过程分为多个阶段,包括顶点处理、几何变换、光栅化和纹理映射等。 3. **上下文(Context)**:OpenGL ES 需要在特定的上下文中执行...
OpenGL ES是一个跨平台的2D和3D图形库,尤其适合移动设备,因为它能够优化资源消耗并保持流畅的动画效果。通过`GLWallpaperService`,开发者可以直接操作GPU,创建出丰富的3D图形和动画效果,为动态壁纸带来无与伦比...