2011-06-09 71 views
2

呈现在试图建立一些其他平台的Java之外/ Dalvik的Android上,我已停用受精卵,并试图在这里列出的观点:的OpenGL Android上

http://jiggawatt.org/badc0de/android/index.html#opengl

我已经成功编译了OpenGL测试代码并将其推送到Android模拟器(我正在运行2.3 /姜饼)。而不是彩色三角形,它只是导致闪烁的“ANDROID_”文本引导屏幕闪烁。下面是输出:

[email protected]:/data/misC# ./test1            
GL version: 1.4 
Window specs: 0*0 format=-1416517231 
GL context: 162f8 
GL surface: 163d0 

这似乎表明,android_createDisplaySurface()从libui不返回正确大小的窗口。但是,在模拟器上的logcat显示以下,这似乎意味着相反:

D/libEGL ( 73): loaded /system/lib/egl/libEGL_emul.so 
D/libEGL ( 73): loaded /system/lib/egl/libGLESv1_CM_emul.so 
D/libEGL ( 73): loaded /system/lib/egl/libGLESv2_emul.so 
D/eglWrapper( 73): Loading egl dispatch for test1 
D/eglWrapper( 73): isNeedEncode? for test1 
D/eglWrapper( 73): Initializing native opengl for test1 
D/eglWrapper( 73): loading /system/lib/egl/libGLES_android.so into /system/lib/egl/libGLESv1_CM_emul.so complete 
D/eglWrapper( 73): loading /system/lib/egl/libGLES_android.so into /system/lib/egl/libGLESv2_emul.so complete 
I/gralloc ( 73): using (fd=6) 
I/gralloc ( 73): id   = 
I/gralloc ( 73): xres   = 320 px 
I/gralloc ( 73): yres   = 480 px 
I/gralloc ( 73): xres_virtual = 320 px 
I/gralloc ( 73): yres_virtual = 960 px 
I/gralloc ( 73): bpp   = 16 
I/gralloc ( 73): r   = 11:5 
I/gralloc ( 73): g   = 5:6 
I/gralloc ( 73): b   = 0:5 
I/gralloc ( 73): width  = 49 mm (165.877548 dpi) 
I/gralloc ( 73): height  = 74 mm (164.756760 dpi) 
I/gralloc ( 73): refresh rate = 651.04 Hz 
I/pixelflinger( 73): Needs: n=0x03010144 p=0x00000177 t0=0x00000000 t1=0x00000000 
I/ARMAssembler( 73): generated scanline__00000177:03010144_00000000_00000000 [ 26 ipp] (63 ins) at [0x4009f1e8:0x4009f2e4] in 9552233 ns 

我只能猜测到目前为止,也许事情在堆栈上正在等待SurfaceFlinger的,这也不是没有的Dalvik运行。但它不在日志中。我认识到这是一条脱节的道路,但是希望一些android/OpenGL专业人士可能会对发生的事情有一些线索。任何帮助真诚赞赏。

+0

已经有一段时间了,没有人回答这个问题。我也有这个问题,我正在努力寻找解决方案。如果你解决了这个问题,请你在这里发表你的答案。非常感谢。 – Markus 2012-07-04 14:37:48

回答