我找到了解决方案,但我忘了发布了:)对不起

package at.bartinger.opengl;

import javax.microedition.khronos.egl.EGLConfig;

import javax.microedition.khronos.opengles.GL10;

import android.content.Context;

import android.opengl.GLSurfaceView;

import android.opengl.GLU;

import android.util.AttributeSet;

public class GLGameView extends GLSurfaceView implements GLSurfaceView.Renderer{

public GLGameView(Context context) {

super(context);

setRenderer(this);

}

public GLGameView(Context context, AttributeSet attrs) {

super(context, attrs);

// TODO Auto-generated constructor stub

}

@Override

public void onSurfaceCreated(GL10 gl, EGLConfig config) {

init(gl);

}

@Override

public void onDrawFrame(GL10 gl) {

//Standard

gl.glClear( GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT );

gl.glViewport( 0, 0, getWidth(), getHeight() );

gl.glDisable( GL10.GL_DITHER );

gl.glEnable( GL10.GL_DEPTH_TEST );

gl.glEnable( GL10.GL_CULL_FACE );

//Set 3D

gl.glMatrixMode( GL10.GL_PROJECTION );

gl.glLoadIdentity();

gluPerspective( gl);

draw3D(gl);

gl.glDisable( GL10.GL_CULL_FACE );

gl.glDisable( GL10.GL_DEPTH_TEST );

//Set 2D

gl.glMatrixMode( GL10.GL_PROJECTION );

gl.glLoadIdentity();

gluOrtho2D(gl);

gl.glMatrixMode( GL10.GL_MODELVIEW );

gl.glLoadIdentity();

draw2D(gl);

}

@Override

public void onSurfaceChanged(GL10 gl, int width, int height) {

}

public void init(GL10 gl){}

public void draw2D(GL10 gl){};

public void draw3D(GL10 gl){};

/**

* Sets the projection to the ortho matrix

*/

public void gluOrtho2D(GL10 gl){

gl.glMatrixMode( GL10.GL_PROJECTION );

gl.glLoadIdentity();

GLU.gluOrtho2D( gl, 0, getWidth(), 0, getHeight() );

}

/**

* Sets the projection to the perspective matrix

*/

public void gluPerspective(GL10 gl){

gl.glMatrixMode( GL10.GL_PROJECTION );

gl.glLoadIdentity();

float aspectRatio = (float)getWidth() / getHeight();

GLU.gluPerspective( gl, 67, aspectRatio, 1, 100 );

}

/**

* Sets the projection to the perspective matrix

*/

public void gluPerspective(GL10 gl, float near, float far){

gl.glMatrixMode( GL10.GL_PROJECTION );

gl.glLoadIdentity();

float aspectRatio = (float)getWidth() / getHeight();

GLU.gluPerspective( gl, 67, aspectRatio, near, far );

}

/**

* Sets the projection to the model view matrix

*/

public void gluLookAt(GL10 gl,

float positionX, float positionY, float positionZ,

float zentrumX, float zentrumY, float zentrumZ,

float upX, float upY, float upZ ){

gl.glMatrixMode( GL10.GL_MODELVIEW );

gl.glLoadIdentity();

GLU.gluLookAt( gl,positionX, positionY, positionZ, zentrumX, zentrumY, zentrumZ, upX, upY, upZ );

}

}

java opengl es_Java-Android-使用openGL ES绘制3D然后绘制2D相关推荐

  1. android opengl图片,Android平台openGL ES实现全景图片

    全景又被称为3D实景,是一种新兴的富媒体技术,其与视频,声音,图片等传统的流媒体最大的区别是"可操作,可交互". 全景分为虚拟现实和3D实景两种.虚拟现实是利用maya等软件,制作 ...

  2. python代码示例图形-Python使用matplotlib绘制3D图形(代码示例)

    本篇文章给大家带来的内容是关于Python使用matplotlib绘制3D图形(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 3D图形在数据分析.数据建模.图形和图像处理 ...

  3. ogre绘制3d图形_R语言统计与绘图:绘制饼图

    饼图也是最常见的图形之一,饼图在商业世界中无所不在,然而多数统计学家,包括相应R文档的编写者却都对它持否定态度. 相对于饼图,更推荐使用条形图或点图,因为相对于面积,人们对长度的判断更精确. 今天来学 ...

  4. python matplotlib绘制 3D图像专题 (三维柱状图、曲面图、散点图、曲线图合集)

    python matplotlib 绘制3D图表 文章目录 1. 绘制3D柱状图 2. 绘制3D曲面图 ① 示例1 ② 示例2 3.绘制3D散点图 4. 绘制3D曲线图       ʚʕ̯•͡˔•̯᷅ ...

  5. python画3d圆形图,Python绘制3D图形

    3d图形在数据分析.数据建模.图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行3d图形的绘制,包括3d散点.3d表面.3d轮廓.3d直线(曲线)以及3d文字等的绘制 ...

  6. python 绘制3D散点图

    绘制3D散点图 """绘制三维散点图 """ import numpy as np import matplotlib.pyplot as ...

  7. python制作3d相册代码_Python使用matplotlib绘制3D图形(代码示例)

    本篇文章给大家带来的内容是关于Python使用matplotlib绘制3D图形(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 3D图形在数据分析.数据建模.图形和图像处理 ...

  8. 【Qt for Android】OpenGL ES 绘制彩色立方体

    Qt 内置对OpenGL ES的支持.选用Qt进行OpenGL ES的开发是很方便的,很多辅助类都已经具备.从Qt 5.0開始添加了一个QWindow类,该类既能够使用OpenGL绘制3D图形,也能够 ...

  9. OpenGl文章 Android OpenGL ES 简明开发教程

    Android OpenGL ES 简明开发教程 分类:android学习笔记2011-12-14 15:04375人阅读评论(0)收藏举报 ApiDemos 的Graphics示例中含有OpenGL ...

最新文章

  1. c语言图像浏览器,单片机采用浏览器进行监控将给软件的编程带来极大的便利...
  2. xshell 设置屏幕字体
  3. 使用 Visual Studio Code SQLite 扩展来浏览 SAP Cloud Application Programming 数据库
  4. Android—APK、JVM-Dalvik-ART
  5. ant接口用什么天线_手机听收音机时,为什么必须用耳机作为天线?
  6. 谈谈头条创作者最近几个月的一些改变吧
  7. 地理坐标系转换工具,支持WGS84/GCJ02/BD09等常用坐标系互转
  8. curry化 js_Javascript函数柯里化(curry)
  9. 微信小程序之weui的引用及使用说明
  10. 开发者的多媒体梦工厂: AV Pipeline Kit究竟是什么?
  11. java 分布式缓存 开源_Java开源分布式键-值缓存系统Voldemort
  12. Halcon示例程序Circle 解析
  13. java集合框架学习笔记
  14. 第2次作业:软件案例分析
  15. Google hack语法
  16. vs编译错误:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”?
  17. linux下su的demos编译,SU Demos-02Filtering-05Suk1k2filter
  18. Oracle OCM之路
  19. 一阶电路误差分析_RC有源低通滤波器的一阶二阶原理分析及其推导!
  20. 达人评测 锐龙r7 5800x3D相当于i几 r75800x3d参数

热门文章

  1. Stream流与Lambda表达式(一) 杂谈
  2. Android Pie提供了自适应供电、神经网络API 1.1等新特性
  3. laravel-admin集成ueditor编辑器的图片列表显示问题解决方法
  4. 云计算正在告别DIY时代 阿里云专有云挑起企业级市场大梁
  5. java面试常问问题(中级及以下工程师)
  6. redis必杀高级:性能测试
  7. 哈佛大学 NLP 组开源神经机器翻译系统 OpenNMT
  8. mysql基础语句整理
  9. Java基础—ClassLoader的理解
  10. 【iOS-Cocos2d游戏开发之五】【1】多触点与触屏事件详解(单一监听、事件分发)...