GL线程

news/2024/11/24 6:36:26/



1
public class MiniLauncher extends AndroidApplication implements MenuActionListener { 2 3 public View glView =null; 4 public DesktopListener mListener; 5 @Override 6 public void onCreate(Bundle savedInstanceState) { 7 8 //得到的是一个surfaceView 9 glView = initializeDesktop(mListener, true); 10 setContentView(glView); 11 12 } 13 14 public View initializeDesktop(DesktopListener listener, 15 boolean useGL2IfAvailable) { 16 17 return initializeForView(listener, config); 18 19 20 21 } 22 }

   以下是gdx自己创建新线程的流程:

 1 AndroidApplication:
 2 
 3 protected AndroidGraphics graphics;
 4 protected ApplicationListener listener;
 5 public View initializeForView (ApplicationListener listener, AndroidApplicationConfiguration config) {
 6     //graphics will create another thread for ui drawing
 7     graphics = new AndroidGraphics(this, config, config.resolutionStrategy == null ? new FillResolutionStrategy()
 8             : config.resolutionStrategy);
 9     this.listener = listener;
10 }
11 
12 AndroidGraphics:
13 final View view;
14     public AndroidGraphics (AndroidApplication activity, AndroidApplicationConfiguration config,
15         ResolutionStrategy resolutionStrategy) {
16         //thread created here
17         view = createGLSurfaceView(activity, config.useGL20, resolutionStrategy);    
18         this.app = activity;
19     }
20     
21     private View createGLSurfaceView (Activity activity, boolean useGL2, final ResolutionStrategy resolutionStrategy) {
22         GLSurfaceView20 view = new GLSurfaceView20(activity, true,16,0,resolutionStrategy);
23         view.setRenderer(this);
24         return view;
25     }
26     
27     @Override
28     public void onDrawFrame (javax.microedition.khronos.opengles.GL10 gl) {
29     
30         //这里的 listener 就是 d3dListener
31        if (lresume) {
32            app.listener.resume();
33        }
34        if (lrunning) {
35               app.listener.render();
36        }
37        if (lpause) {
38             app.listener.pause();
39         }
40         if (ldestroy) {
41             app.listener.dispose();
42         }
43     
44     }
45 GLSurfaceView:
46 
47  public void setRenderer(Renderer renderer) {
48       mGLThread = new GLThread(renderer);
49       mGLThread.start();
50  }
51  
52   class GLThread extends Thread {
53     mRenderer = renderer;
54       public void run() {
55        guardedRun();
56     }
57       
58     private void guardedRun() throws InterruptedException {
59          while (true) {
60          
61             //mRenderer 就是 graphics
62             mRenderer.onDrawFrame(gl);
63          
64          }
65        
66        }
67   }

 

转载于:https://www.cnblogs.com/mogul/archive/2013/03/22/2975870.html


http://www.ppmy.cn/news/168610.html

相关文章

Open GL的渲染流程

OpenGL渲染流程 </h1><div class"clear"></div><div class"postBody">一.什么是openGL OpenGL被定义为“图形硬件的一种软件接口”。从本质上说&#xff0c;它是一个3D图形和模型库&#xff0c;具有高度的可移植性&#xff0c;具有…

记录:微星 GE63 屏轴断裂 之后。。。

2022/11/25 记录 微星 GE63 1070 笔记本&#xff0c;使用的第三年&#xff0c;已过保了一年&#xff0c;上周使用时&#xff0c;准备合上笔记本盖。啪一下&#xff0c;左侧屏轴断裂&#xff0c;B面翘起&#xff0c;A面左下角轴盖断了一截。 网上好多人都有类似的情况&#xff…

## 微星gl63笔记本安装ubuntu18.04双系统

微星gl63笔记本安装ubuntu18.04双系统 List item 笔记本安装ubuntu18.04双系统&#xff0c;windows10本身是自带的&#xff0c;想再安装一个Ubuntu18.04构成双系统。 首先&#xff0c;利用UltralSO做好ubuntu18.04启动盘。U盘内存4g以上就可以。 Ubuntu下载地址 https://ubun…

记录微星gl63的ubuntu 18.04重装rtl8821ce驱动,重获wifi

由于不知是windows更新还是其他原因&#xff0c;双系统的Ubuntu 18.04在一次重启后就没有WiFi功能了。没办法只能重新安装rtl8821ce驱动&#xff0c;我的系统内核是5.4.0-53-generic&#xff0c; 1.打开rtl8821ce文件夹&#xff0c;再打开makefile文件夹&#xff0c;找到如下图…

STM32F4_SPI协议详解

目录 1. 什么是SPI 2. SPI物理层 3. SPI协议层 3.1 SPI基本通讯过程 3.2 数据有效性 3.3 CPOL/CPHA及通讯模式 4. SPI框图及通讯过程 4.1 SPI框图 4.2 通讯过程 5. SPI初始化结构体 6. Flash芯片(W25Q128)简介 7. 库函数配置SPI1的主模式 8. 实验程序 8.1 实验程…

联想笔记本触控版双指手势

使用范围&#xff1a;synaptics定点装置的联想笔记本电脑&#xff0c; 亲测yoga710&#xff0c;小新潮5000适用。 一、按winR输入regedit回车打开注册表。 二、定位到&#xff1a;计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTP\Win10修改值 三、定位到&#xff1a;计算机…

联想M7650DF加粉和重置/清零的正确方法

加墨粉的步骤&#xff1a; 在淘宝搜联想M7650DF墨粉卖墨粉的店家主图上有换粉视频&#xff0c;可直接参考 淘链接&#xff1a; 5.0覆置内容€xt6ecULkzU7€打開绹…寶或掂击链街 https://m.tb.cn/h.Vz0qTPw?sm06cd34 至瀏lan嘂…【适用联想M7400碳粉M7600D M7450F M7650 LJ24…

支持2018的ibm服务器,联想支持Win10 2018年4月更新(RS4版本1803)的机型

安装或升级系统太麻烦&#xff1f;没有时间&#xff1f;联想专家一对一重装系统服务&#xff0c;通过远程的方式重装系统&#xff0c;让电脑重新恢复活力&#xff0c;速度更快&#xff1b;清除电脑存在的潜在威胁&#xff0c;让您的数据更安全&#xff01;更有装机必备软件合集…