`
lanhuidong
  • 浏览: 227646 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

OpenGL学习1

阅读更多

1.创建一个Activity

import android.app.Activity;
import android.opengl.GLSurfaceView;
import android.os.Bundle;

public class OpenGLActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        GLSurfaceView glView = new GLSurfaceView(this);
        glView.setRenderer(new OpenGLRender());
        setContentView(glView);
    }
}

 

2.实现Renderer接口

import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;

import android.opengl.GLSurfaceView.Renderer

public class OpenGLRender implements Renderer{

    /**
     * 调用此方法绘制当前窗口
     */
    @Override
    public void onDrawFrame(GL10 gl) {
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);  //清楚屏幕和深度缓存
    }

    /**
     * 窗口被创建或者窗口大小改变时被调用
     */
    @Override
    public void onSurfaceChanged(GL10 gl, int width, int height) {
        gl.glViewport(0, 0, width, height);
        
        float ratio = (float) width / height;
        gl.glMatrixMode(GL10.GL_PROJECTION);        //设置投影矩阵
        gl.glLoadIdentity();      //重置投影矩阵
        gl.glFrustumf(-ratio, ratio, -1, 1, 1, 10);    //设置视口大小
    }

    /**
     * 窗口被创建或者被重新创建时调用,做初始化工作
     */
    @Override
    public void onSurfaceCreated(GL10 gl, EGLConfig config) {
        gl.glClearColor(0, 0, 1.0f, 0.5f);    //设置背景色,蓝色
    }

}

 3.效果如下所示



 

  • 大小: 12.9 KB
分享到:
评论

相关推荐

    openGL学习

    ### OpenGL学习知识点详解 #### 一、OpenGl简介与预备知识 **1.1 引言** 本教程旨在为读者提供一个系统性学习OpenGl的平台。OpenGl是一种跨语言、跨平台的应用程序接口(API),用于渲染二维、三维矢量图形。它是...

    Qt Opengl学习绝好资料

    标题“Qt Opengl学习绝好资料”说明这是一份优秀的学习资源,它旨在指导读者如何在Qt环境中使用OpenGL进行图形绘制。标题中提到的“学习”和“资料”暗示了本资源的教育性质,它更侧重于入门和基础知识的传递。描述...

    OpenGL 学习资料大全

    收集到的OpenGL学习资料,内容包括: 1.OpenGL着色语言.rar 2.NEHE教程.pdf 3.openglapi.CHM 4.opengl编程与实例.pdf 5.openGL图像系统详解(英).pdf 6.vc下OpenGL开发框架与应用.pdf 7.北大 openGL 课程.pdf

    opengl 学习 网站

    1. **OpenGL官方文档** (opengl.org/developers/documentation):这是所有OpenGL学习者的基础起点。官方网站提供了完整的OpenGL规范、参考手册和API文档,详细介绍了各个函数、枚举和常量的作用。同时,这里也有...

    opengl类学习文件

    在这个"opengl类学习文件"中,包含了多个关键元素,可以帮助你深入理解并掌握OpenGL编程。 首先,"gltools"可能是一个包含GLUT(OpenGL Utility Toolkit)和其他辅助工具的库,它为OpenGL程序员提供了基本的窗口...

    OpenGL.rar_OpenGL pdf_OpenGL 参考手册_opengl_opengl 参考_中英文

    1. **渲染管道**:OpenGL的渲染过程可以看作是一条数据流经过的管道,包括顶点处理、几何变换、光栅化和像素操作四个阶段。程序员可以通过设置管道的不同阶段来控制图形的生成和显示。 2. **顶点着色器**:在管道的...

    OpenGL编程入门学习

    1. **OpenGL简介**:OpenGL是一个开放源代码的图形库,作为主流的图形应用程序接口(API)之一,它提供了丰富的图形渲染功能。OpenGL的特点包括与C语言紧密集成,使得学习曲线相对平缓;强大的可移植性,不仅适用于...

    OpenGL ES学习资料

    它提供了两个版本,OpenGL ES 1.x系列更侧重于固定功能管线,而OpenGL ES 2.x和3.x系列引入了可编程管线的概念,使开发者能够更好地控制渲染管线和优化性能。在iOS平台上,随着iOS系统的升级,所支持的OpenGL ES版本...

    OpenGL学习必备,红宝书及蓝宝书

    "红宝书"通常指的是"OpenGL编程指南",而"蓝宝书"则是"OpenGL超级宝典",这两本书是OpenGL学习者的重要参考资料。 红宝书,全名《OpenGL编程指南》(The OpenGL Programming Guide),由OpenGL Architecture Review...

    OpenGL入门学习(1~17)

    OpenGL入门学习整理资源(1~17)

    android OpenGL学习笔记(一)

    在本篇“Android OpenGL 学习笔记(一)”中,我们将探讨如何在Android平台上使用OpenGL ES进行图形渲染。OpenGL ES是OpenGL的一个轻量级版本,专为嵌入式系统设计,包括移动设备如智能手机和平板电脑。这篇笔记将...

    opengl 入门学习资料整理

    OpenGL 入门学习资料整理 OpenGL 作为当前主流的图形 API 之一,它在一些场合具有比 DirectX 更优越的特性。本文主要介绍了入门的基础知识。 一、OpenGL 的优点 1. 与 C 语言紧密结合 OpenGL 命令最初就是用 C ...

    OpenGL学习资料文档.rar

    本资源集合包含了一套完整的OpenGL学习资料,适合初学者入门。 首先,"OpenGL编程指南第七版"是学习OpenGL的基础书籍,它深入浅出地介绍了OpenGL的工作原理和基本概念,包括上下文创建、窗口系统集成、绘图函数、...

    QT OPENGL学习

    QT OpenGL学习是一个面向初学者和有一定基础的开发者的学习资源,主要关注如何在QT4框架下有效地使用OpenGL进行图形渲染和交互。OpenGL是一个跨语言、跨平台的编程接口,用于渲染2D、3D矢量图形,而QT则是一个强大的...

    openGL 学习手册

    openGL 学习手册 自己从网上总结的 希望对大家有用

    OpenGL学习资料

    OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API,其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、...

    OpenGL经典学习书籍

    其次,《OpenGL编程指南》第七版,也被称为“红宝书”,是OpenGL学习的经典之作。这本书全面介绍了OpenGL 4.x版本,包括新的核心模式、固定功能管道的移除、向量和矩阵运算、着色语言GLSL、纹理、帧缓冲对象、几何...

    NeHe OpenGL教程 学习笔记1

    这篇学习笔记1主要会探讨基础的OpenGL设置和渲染原理。 在OpenGL编程中,我们首先需要设置上下文环境,这通常通过窗口系统接口(如GLUT或SDL)完成。在"base.cpp"这个文件中,我们可能看到初始化OpenGL窗口的代码,...

    OPENGL学习 3D小雪人

    这个“OPENGL学习 3D小雪人”资源是为初学者设计的,旨在帮助他们理解并掌握OpenGL的基础知识,通过创建一个3D小雪人的实例来实践。 3D小雪人的实现涉及多个OpenGL的关键概念和技术: 1. **窗口系统绑定**:在...

Global site tag (gtag.js) - Google Analytics