Android OpenGL
文章平均质量分 77
jeffreyliu
这个作者很懒,什么都没留下…
展开
-
Android OpenGL ES 分析与实践(4)
由我以上图表可以看出,加载驱动的时候,会尝试先从libGLES_android.so中加载EGL、GLESV1_CM、GLESV2三个部分的函数,如 果加载失败,则会尝试从libEGL_android.so,libGLESV1_cm.so,libGLESV2.so三个动态库中对应的函数。在这部分代码中,我们可以看到一个非常重要的结构体,egl_connection_t,struct e转载 2012-04-24 14:14:01 · 1033 阅读 · 0 评论 -
Android OpenGL ES 分析与实践(1)
1. OpenGL ES 简介Android 3D引擎采用的是OpenGL ES。OpenGL ES是一套为手持和嵌入式系统设计的3D引擎API,由Khronos公司维护。在PC领域,一直有两种标准的3D API进行竞争,OpenGL 和 DirectX。一般主流的游戏和显卡都支持这两种渲染方式,DirectX在Windows平台上有很大的优势,但是OpenGL具有更好的跨平台性。由转载 2012-04-24 14:09:21 · 790 阅读 · 0 评论 -
Android OpenGL ES 分析与实践(2)
3.3 使用OpenGL ES画图必经的步骤 1、获取Display,Display代表显示器。 函数原型: EGLDisplay eglGetDisplay(NativeDisplayType display); display参数是native系统的窗口显示ID值,一般为 EGL_DEFAULT_DISPLAY。该参数实际的意义是平台实现转载 2012-04-24 14:10:38 · 864 阅读 · 0 评论 -
Android OpenGL ES 分析与实践 (3)
<!--@page {margin:2cm}h3 {margin-top:0.46cm; margin-bottom:0.46cm; line-height:173%; page-break-inside:avoid}h3.western {font-family:"Droid Sans Fallback",serif; font-size:16pt}h转载 2012-04-24 14:15:18 · 938 阅读 · 0 评论 -
Android OpenGL ES 分析与实践(5)
看一下load_driver中到底做了什么手脚。1.首先调用dlopen打开动态链接库,返回值是void*,这个void*指向的是什么内容呢?追踪到bionic/linker/Dlfcn.c中。其中调用了find_library函数,这个函数是一个奇怪的函数,因为它虽然叫做find_library,在其实现中,不但在系统的so链表中去查找指定的文件名的动态链接库信息,而且对其动态链接库进行加载转载 2012-04-24 14:18:15 · 1121 阅读 · 0 评论 -
Android OpenGL ES 分析与实践(6)
egl_connection_t的第二个变量是一个指针数组,类型是gl_hooks_t,从名字可以看出,它指向的是一组函数指针。跟踪一下struct gl_hooks_t { struct gl_t { #include "entries.in" } gl; struct gl_ext_t { void (*extensions转载 2012-04-24 14:19:04 · 821 阅读 · 0 评论 -
Android EGL接口解析
EGL 是 OpenGL ES 和底层 Native 平台视窗系统之间的接口。本章主要讲述 OpenGL ES 的 EGL API ,以及如何用它创建 Context 和绘制 Surface 等,并对用于 OpenGL 的其他视窗 API 做了比较分析,比如 WGL 和 GLX 。本章中将涵盖如下几个方面: EGL 综述 EGL 主要构成( Dis转载 2012-06-14 13:54:41 · 766 阅读 · 0 评论 -
深入学习EGL .
1.获取Display:Display代表显示器,在有些系统上可以有多个显示器,也就会有多个Display。(Sam觉得这个观点有点牵强,Sam觉得Display理解为显存Framebuffer比较合适一些)。获得Display要调用EGLbooleaneglGetDisplay(NativeDisplay dpy),参数一般为EGL_DEFAULT_DISPLAY 。该参数实际的意义是平台实转载 2012-06-14 13:55:23 · 876 阅读 · 0 评论