响应式网站开发源码,网站不做301可以吗,温州建设管理处网站,网站建设方案平台文章目录 OpenGL 学习笔记OpenGL 是什么#xff1f;OpenGL ES是什么#xff1f;怎么用#xff1f;hello world如何实现动画效果 参考文章 OpenGL 学习笔记
OpenGL 是什么#xff1f; OpenGL#xff08;Open Graphics Library#xff09;是一个跨平台的图形编程接口… 文章目录 OpenGL 学习笔记OpenGL 是什么OpenGL ES是什么怎么用hello world如何实现动画效果 参考文章 OpenGL 学习笔记
OpenGL 是什么 OpenGLOpen Graphics Library是一个跨平台的图形编程接口用于渲染2D和3D图形。它提供了一系列函数和状态机用于操作图形对象、设置渲染状态和执行图形操作。 OpenGL具有以下特点 1、跨平台OpenGL可以在多个操作系统上运行包括Windows、MacOS、Linux等。 2、硬件加速OpenGL可以利用计算机的图形硬件加速渲染过程提高图形性能。 3、开放标准OpenGL是一个开放的标准由Khronos Group维护和发展可以由各个硬件和软件厂商实现和扩展 4、低级接口OpenGL是一个底层的图形接口提供了对图形硬件的直接访问开发者可以更加灵活地控制图形渲染过程。 使用OpenGL可以实现各种图形效果包括渲染三维模型、绘制2D图形、实现光照效果、进行纹理映射等。它广泛应用于游戏开发、计算机辅助设计、科学可视化等领域。 OpenGL ES是什么 OpenGL ESOpenGL for EmbeddedSystems是一种用于嵌入式系统的图形渲染API应用程序编程接口。它是OpenGL的子集专门设计用于在移动设备、游戏机和其他嵌入式系统上进行图形渲染。 OpenGL ES提供了一组函数和状态机用于管理图形渲染管线实现2D和3D图形的绘制和渲染。它支持各种图形特效、纹理映射、光照、深度测试等功能可以实现高性能的图形渲染。 OpenGL ES有三个版本OpenGL ES 1.0、OpenGL ES 2.0和OpenGL ES 3.0。每个版本都有不同的特性和功能集适用于不同的硬件和应用需求。 怎么用
我是看 安卓 OpenGL ES 2.0 完全入门一基本概念和 hello world 学习的大佬贴心的写了 demo GitHub 获取 下载即用非常贴心。
hello world
1、准备一个布局文件使用 GLSurfaceView 控件用于最终的画面显示
?xml version1.0 encodingutf-8?
FrameLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid.opengl.GLSurfaceViewandroid:idid/surfaceandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent/
/FrameLayout2、绑定 GLSurfaceView 设置相关参数最重要的是设置一个 Renderer大部分的工作就是在这个 Renderer 中进行
mGLSurfaceView (GLSurfaceView) findViewById(R.id.surface);mGLSurfaceView.setEGLContextClientVersion(2);
mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
mRenderer new MyRenderer(this);
mGLSurfaceView.setRenderer(mRenderer);
mGLSurfaceView.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);3、新建一个 Renderer 这里有很多的东西需要配置初始化例如Vertex Buffer、Shader、Viewport、Projection Matrix、Texture 等等。 GLSurfaceView.Renderer是Android中用于渲染OpenGL图形的接口。它定义了三个主要的回调方法用于处理OpenGL图形的初始化、绘制和变化。 onSurfaceCreated方法在Surface被创建时调用用于进行OpenGL的初始化工作比如设置背景色、启用深度测试等。 onSurfaceChanged方法在Surface尺寸变化时调用比如屏幕旋转或者窗口大小改变。在这个方法中可以更新OpenGL的视口(Viewport)和投影矩阵(Projection Matrix)等。 onDrawFrame方法在每一帧绘制时调用用于实际的绘制操作。在这个方法中可以进行顶点数据的绑定、纹理的绑定、着色器的使用等。 OK简单记了一下实现 OpenGL 步骤然后具体实现中有非常多的概念以及操作细节需要去理解与记忆 也用思维导图头脑风暴了一下。 如何实现动画效果
1、每一帧绘制时清除上一帧的颜色缓冲区再绘制纹理 2、通过插值器更新设置的参数坐标矩阵等即可
Override
public void onDrawFrame(GL10 unused) {// 清除颜色缓冲区GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);// 绘制纹理
}参考文章
安卓 OpenGL ES 2.0 完全入门一基本概念和 hello world
OpenGL 学习系列—投影矩阵
《OpenGL ES 应用开发实践指南》