zhangbo
2017-03-02 80f61dfdab1e7f7fabdfa0fb4931b5d585e4c7d9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Êþº¾3Áë
‡ì¿ ¿€?     íî    ïð    ñ    ò    ó    ô    õ    ö    ÷    øÿÿÿÿÿÿÿÿ    ù    ú
ûü
ýþ
ûÿ
û    
 
 
 
        
d
 
d 
"     
"
„À
"e    
"    
"
"    AÍÍeAð
 
 
 
!    "
"#    $
"%&
"'@@@à
(
")
"*?$›¦?F§ð>dZ
"+
,-
"./01
O23456
"789:;<
"=>F
"?F/
"@AB
dC
dD@€
E
"F
"G
"H‹
"IJK
oìL
oM
oNO
oP
QR
"S
"T‹1
U‹0
"V
"WX
"Y‹‚
"Z[
"\
"]
"^_`beFLOAT_SIZE_BYTESI ConstantValueVERTICES_DATA_STRIDE_BYTESVERTICES_DATA_POS_OFFSETVERTICES_DATA_UV_OFFSET mVerticesData[F    mVerticesLjava/nio/FloatBuffer; mVertexShaderLjava/lang/String;mFragmentShader
mMVPMatrix mProjMatrixmMMatrixmVMatrix    mSTMatrixmProgram
mTextureIDmuMVPMatrixHandlemuSTMatrixHandlemaPositionHandlemaTextureHandlemRatioFmSurface!Landroid/graphics/SurfaceTexture; updateSurfaceZ    mLastTimeJmRunTimeTAGGL_TEXTURE_EXTERNAL_OES<init>()VCodeLineNumberTableLocalVariableTablethis.Lcom/bsk/zhangbo/demoforbsk/widget/MyRenderer;onPauseonResume onDrawFrame-(Ljavax/microedition/khronos/opengles/GL10;)VglUnused*Ljavax/microedition/khronos/opengles/GL10;nowdD StackMapTable`gonSurfaceChanged/(Ljavax/microedition/khronos/opengles/GL10;II)VwidthheightonSurfaceCreatedW(Ljavax/microedition/khronos/opengles/GL10;Ljavax/microedition/khronos/egl/EGLConfig;)Vconfig*Ljavax/microedition/khronos/egl/EGLConfig;textures[IëhiÍonFrameAvailable$(Landroid/graphics/SurfaceTexture;)Vsurface
loadShader(ILjava/lang/String;)Icompiled
shaderTypesourceshader createProgram'(Ljava/lang/String;Ljava/lang/String;)I
linkStatus vertexSourcefragmentSource vertexShader pixelShaderprogram checkGlError(Ljava/lang/String;)VoperrorgetSurfaceTexture#()Landroid/graphics/SurfaceTexture;
SourceFileMyGLSurfaceView.java,com/bsk/zhangbo/demoforbsk/widget/MyRenderer ±² ”•ïuniform mat4 uMVPMatrix;
uniform mat4 uSTMatrix;
attribute vec4 aPosition;
attribute vec4 aTextureCoord;
varying vec2 vTextureCoord;
void main() {
  gl_Position = uMVPMatrix * aPosition;
  vTextureCoord = (uSTMatrix * aTextureCoord).xy;
}
˜™Î#extension GL_OES_EGL_image_external : require
precision mediump float;
varying vec2 vTextureCoord;
uniform samplerExternalOES sTexture;
void main() {
  gl_FragColor = texture2D(sTexture, vTextureCoord);
}
š™ ›• œ• • ž• Ÿ• ¦§ ª« ¬­ ®­j klm no pq rs –—t uv wxy z{| }~ ¨© ² €android/opengl/GLES20 ‚ƒ  ‹ ƒ glUseProgram ãä „ƒ ¡‹ …† ¤‹ ‡ˆ glVertexAttribPointer maPosition ‰ƒ*glEnableVertexAttribArray maPositionHandle ¥‹%glVertexAttribPointer maTextureHandle)glEnableVertexAttribArray maTextureHandleŠ ‹Œ Œ Ž ‘ ¢‹ ’“ £‹ &” glDrawArrays •– —˜ ™ƒ š† ›œ ÛÜ    aPosition ÖglGetAttribLocation aPositionjava/lang/RuntimeException+Could not get attrib location for aPosition ±ä aTextureCoord!glGetAttribLocation aTextureCoord/Could not get attrib location for aTextureCoord
uMVPMatrix žÖglGetUniformLocation uMVPMatrix,Could not get attrib location for uMVPMatrix    uSTMatrixglGetUniformLocation uSTMatrix+Could not get attrib location for uSTMatrix Ÿ glBindTexture mTextureID ¡¢ £”glTexParameteri mTextureIDandroid/graphics/SurfaceTexture ±ƒ ¤¥ ¦§ ¨© ª« ¬ƒ ­®
MyRendererjava/lang/StringBuilderCould not compile shader  ¯° ¯±: ²³´ µÜ ¶· ¸ƒ ÕÖ ¹º X†glAttachShader »ƒ ¼®Could not link program:  ½· ¾ƒ ¿º
: glError java/lang/ObjectÀ%android/opengl/GLSurfaceView$RendererRenderer InnerClasses8android/graphics/SurfaceTexture$OnFrameAvailableListenerOnFrameAvailableListenerjava/lang/Throwable(javax/microedition/khronos/opengles/GL10(javax/microedition/khronos/egl/EGLConfigjava/nio/ByteBufferallocateDirect(I)Ljava/nio/ByteBuffer;java/nio/ByteOrder nativeOrder()Ljava/nio/ByteOrder;order+(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer; asFloatBuffer()Ljava/nio/FloatBuffer;java/nio/FloatBufferput([F)Ljava/nio/FloatBuffer;position(I)Ljava/nio/Buffer;android/opengl/Matrix setIdentityM([FI)Vandroid/os/SystemClockelapsedRealtimeNanos()JupdateTexImagegetTransformMatrix([F)VglClear(I)VglActiveTexture glBindTexture(II)VglVertexAttribPointer(IIIZILjava/nio/Buffer;)VglEnableVertexAttribArrayjava/lang/Mathsin(D)DcosrotateM
([FIFFFF)V
multiplyMM ([FI[FI[FI)VglUniformMatrix4fv    (IIZ[FI)V(III)V
glViewport(IIII)VfrustumM ([FIFFFFFF)VglEnable glBlendFunc glClearColor(FFFF)VglGetAttribLocationglGetUniformLocation glGenTextures(I[II)VglTexParameterf(IIF)VglTexParameterisetOnFrameAvailableListener=(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;)V
setLookAtM([FIFFFFFFFFF)VglCreateShader(I)IglShaderSource(ILjava/lang/String;)VglCompileShader glGetShaderiv(II[II)Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;toString()Ljava/lang/String;android/util/LogeglGetShaderInfoLog(I)Ljava/lang/String;glDeleteShaderglCreateProgram()I glLinkProgramglGetProgramivglGetProgramInfoLogglDeleteProgram
glGetErrorandroid/opengl/GLSurfaceView ‡ˆ‰Š‹ŒŽ‹Œ‹Œ‘’‹Œ“”•–—˜™Œš™Œ    ›•œ••ž•Ÿ• ‹¡‹¢‹£‹¤‹¥‹¦§¨©ª«¬­®­¯™Œn°‹Œ* ±²³Xê*·*¼YQYQY QY QY QYQYQY QY QY     QY
QY QY QY QY QYQY QY QY QY Qµ*µ*    µ
*¼µ *¼µ *¼µ *¼µ*¼µ* µ*µ*µ*    µ**´¾h¸¸¶¶µ*´*´¶¶W*´¸±´JJ#p-v8|A„BŒC”DœE¤N©P®QµRºKÅLÑMáOéPµ ê¶·¸²³+±´Rµ ¶·¹²³6*¸µ±´
UVµ ¶·º»³)8*YMÂ*´™*´¶ *´*´¶!*µ,çN,Ã-¿A¸#*´$¸%*&·'(¸)**´+¸,*´¶W*´-*´¸.*/·'*´-¸0*1·'*´¶W*´2*´¸.*3·'*´2¸0*4·'¸A*Y´ *´eaµ* µ*´Š5o9*´ ¸*´ 7¸8¸9 ¸:*´ *´*´ ¸;*´ *´ *´ ¸;*´<*´ ¸=*´>*´¸=¸?*@·'±$''*'´Š"Z[ \^_"a,e2f9g?iDjMlVmhonpuq{s„t–vœw£x©z­{¼|Á}Ì~Ôë€ýƒ„+†1‡7ˆµ*8¶·8¼½­‹¾­Ìl¿ÀÁü"ÂDÃúÄų})¸A*††nµ*´ *´v*´ BC¸D±´Ž(‘µ*)¶·)¼½)Ƌ)NjÈɳj Q â¸E¸FGHI ¸J**    ·Kµ$*´$š±**´$L¸Mµ-*N·'*´-  »OYP·Q¿**´$R¸Mµ2*S·'*´2  »OYT·Q¿**´$U¸Vµ<*W·'*´<  »OYX·Q¿**´$Y¸Vµ>*Z·'*´>  »OY[·Q¿¼
N-¸\*-.µ+**´+¸,*]·'*(^¸_*(`¸_*(a¸b*(a¸b*c·'*»dY*´+·eµ*´*¶f*´ g ¸h*Y:Â*µç :ÿ±=EHHMH´ž'™š›ž%Ÿ, -¢:£@¤H¥R§_¨e©mªw­„®Š¯’°œ³©´¯µ·¶Á¾Å¿ËÁÒÂÛÃáÆëÈõËÿÍ    ÏÕÖ&Ø8Ú=ÛBÜPݵ*Q¶·Q¼½QÊËŌÌÍÁ#-$$$$ÿ†ÎÏÐÑÂÃú!ÒÓ³>*µ±´
åçµ¶·Ô©ÕÖ³áW¸i>™O,¸j¸k¼
:l¸m.š1n»oY·pq¶r¶st¶r¶u¸vWn¸w¸vW¸x>¬´2 êë    ìíîï ð'ñEòOóSôU÷µ4>×ÍW¶·W؋WٙRڋÁüUÛܳE{*y+·z>š¬*{,·z6š¬¸|6™S¸}*~·'¸}*~·'¸¼
:€¸.Ÿn‚¸vWn¸ƒ¸vW¸„6¬´Vûü ýÿ#(.4;    A
F K U ]epuxµHK-ÝÍ{¶·{ޙ{ߙsà‹dá‹#Xâ‹ÁüüüYã䳜E¸…Y=™?n»oY·p+¶r†¶r¶s¶u¸vW»OY»oY·p+¶r†¶r¶s¶u·Q¿±´%Dµ E¶·Eå™@æ‹ÁüCçè³/*´°´Zµ ¶·éêdˆac    ‰df