xuxiuxi
2017-03-28 a9a69e67c9f78fcf0d8c00930a15db5289f799d5
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
Êþº¾3¬à
á¿ ¿€?     âã    äå    æ    ç    è    é    ê    ë    ì    íÿÿÿÿÿÿÿÿ    î    ï
ðñ
òó
ðô
ðõ    ö
÷ø
÷ù
úû
üý    þ
]ÿ
]
"    
"
„À
"e    
"        
 
" 
"     
ú    
"    
"
"@à
ú
"
"?$›¦?F§ð>dZ
"
 
" !"
H#$%&'
"()*+,-
"./F
"0F/
"123
]4
]5
ú6
"7
"8
"9‹
":;<
gá=
g>
g?@
gA
BC
"D
"E‹1
F‹0
"G
"HI
"J‹‚
"KL
"M
"N
"OPQSVFLOAT_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; StackMapTableQXonSurfaceChanged/(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àYZÂ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);
}
’‘ “ ” • – — žŸ ¢£ ¤¥ ¦¥[ \]^ _` ab cd Že fg hij klm no  ¡ pª qrandroid/opengl/GLES20 st ˜ƒ t glUseProgram ØÙ ut ™ƒ vw œƒ xy glVertexAttribPointer maPosition zt*glEnableVertexAttribArray maPositionHandle ƒ%glVertexAttribPointer maTextureHandle)glEnableVertexAttribArray maTextureHandle {| šƒ }~ ›ƒ  glDrawArrays € ‚ƒ „t …w †‡ ÐÑ    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 ©t  ‘’ “” •– —t ˜™
MyRendererjava/lang/StringBuilderCould not compile shader  š› šœ: žŸ  Ñ ¡¢ £t ÊË ¤¥ IwglAttachShader ¦t §™Could not link program:  ¨¢ ©t ª¥
: 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;)VglEnableVertexAttribArray
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 €‚ƒ„…†ƒ„‡ˆƒ„‰Šƒ„‹ŒŽ‘„’‘„    “”•–—˜ƒ™ƒšƒ›ƒœƒƒžŸ ¡¢£¤¥¦¥§‘„f¨ƒ„* ©ª«Xê*·*¼YQYQY QY QY QYQYQY QY QY     QY
QY QY QY QY QYQY QY QY QY Qµ*µ*    µ
*¼µ *¼µ *¼µ *¼µ*¼µ* µ*µ*µ*    µ**´¾h¸¸¶¶µ*´*´¶¶W*´¸±¬JL,p6vA|J„KŒL”NœO¤X©Z®[µ\ºMÅNÑOáQéR­ ꮯ°ª«+±¬T­ ®¯±ª«6*¸µ±¬
WX­ ®¯²³«Çþ*YMÂ*´™*´¶ *´*´¶!*µ,çN,Ã-¿A¸#*´$¸%*&·'(¸)**´+¸,*´¶W*´-*´¸.*/·'*´-¸0*1·'*´¶W*´2*´¸.*3·'*´2¸0*4·'*´ ¸*´ *´*´ ¸5*´ *´ *´ ¸5*´6*´ ¸7*´8*´¸7¸9*:·'±$''*'¬v\] ^`a"c,i2j9k?mDnMpVqhsntuu{w„x–zœ{£|©‚±†Ã‡Õ‰ãŠñŒ÷ýŽ­þ®¯þ´µ¶ü"·D¸ú¹º«|(¸;*††nµ*´ *´v*´ <¸=±¬”•–'—­*(®¯(´µ(»ƒ(¼ƒ½¾«i P â¸>¸?@AB ¸C**    ·Dµ$*´$š±**´$E¸Fµ-*G·'*´-  »HYI·J¿**´$K¸Fµ2*L·'*´2  »HYM·J¿**´$N¸Oµ6*P·'*´6  »HYQ·J¿**´$R¸Oµ8*S·'*´8  »HYT·J¿¼
N-¸U*-.µ+**´+¸,*V·'*(W¸X*(Y¸X*(Z¸[*(Z¸[*\·'*»]Y*´+·^µ*´*¶_*´ ¸`*Y:Â*µç :ÿ±<DGGLG¬ž'Ÿ ¡¤%¥,¦-¨:©@ªH«R­_®e¯m°w³„´Šµ’¶œ¹©º¯»·¼ÁÄÅÅËÇÒÈÛÉáÌëÎõÑÿÓ    ÕÛÜ&Þ7ã<äAåOæ­*P®¯P´µP¿ÀŋÁ¶#-$$$$ÿ…ÃÄÅÆ·¸ú!ÇÈ«>*µ±¬
î𭮯ɡÊË«áW¸a>™O,¸b¸c¼
:d¸e.š1f»gY·hi¶j¶kl¶j¶m¸nWf¸o¸nW¸p>¬¬2 óô    õö÷ø ù'úEûOüSýU­4>ÌÂW®¯W̓WΑRσ¶üUÐÑ«E{*q+·r>š¬*s,·r6š¬¸t6™S¸u*v·'¸u*v·'¸w¼
:x¸y.Ÿfz¸nWf¸{¸nW¸|6¬¬V     
 #(.4;AFKU]epux­HK-ÒÂ{®¯{ӑ{ԑsՃdփ#X׃¶üüüYØÙ«œE¸}Y=™?f»gY·h+¶j~¶j¶k¶m¸nW»HY»gY·h+¶j~¶j¶k¶m·J¿±¬"#%$D&­ E®¯Eڑ@ۃ¶üCÜÝ«/*´°¬d­ ®¯ÞßU€RT    ]W