From feaaea5b415283160f3255b75903be1df3b728e3 Mon Sep 17 00:00:00 2001 From: Joe Fernandez Date: Fri, 15 Nov 2013 10:33:41 -0800 Subject: [PATCH] docs: code fixes for OpenGL ES training code sample fixes reviewed separately, see Change-Id: I1d760b75d1f2bfe1ec90c71471867577bd146241 fixing bugs: b/10798358 b/10796990 b/10603728 b/7962328 Change-Id: I1e0f6668ec8d2b103b88c385f1f067d30ecc7178 --- docs/downloads/training/OpenGLES.zip | Bin 27980 -> 37670 bytes .../images/opengl/ogl-triangle-projected.png | Bin 12765 -> 11624 bytes .../html/images/opengl/ogl-triangle-touch.png | Bin 14560 -> 12839 bytes docs/html/images/opengl/ogl-triangle.png | Bin 12302 -> 11182 bytes docs/html/training/graphics/opengl/draw.jd | 2 +- .../training/graphics/opengl/environment.jd | 6 ++--- docs/html/training/graphics/opengl/motion.jd | 13 +++++++---- .../training/graphics/opengl/projection.jd | 15 ++++++------- docs/html/training/graphics/opengl/shapes.jd | 21 +++++++++--------- docs/html/training/graphics/opengl/touch.jd | 12 +++++++--- 10 files changed, 40 insertions(+), 29 deletions(-) diff --git a/docs/downloads/training/OpenGLES.zip b/docs/downloads/training/OpenGLES.zip index 862ae1f879846fa2d83f1c8b6328b067bf3e2d01..5bdfee34d12cdf2ef3d80865bdfc3d16d25cf3c9 100644 GIT binary patch delta 24620 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 delta 15542 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%0D*{)Iy2gpFyOIGeA~p5ieS&8 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 literal 12765 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 V_W;ixR~`5Opsu2&3{$d-{9h@eeu@A9 diff --git a/docs/html/images/opengl/ogl-triangle.png b/docs/html/images/opengl/ogl-triangle.png index 3d4a385f198a67ca2e6c54b3ce607eeb1db1a1d9..66047ab1629acc506aa5828f8de8775e5a1271d7 100644 GIT binary patch literal 11182 zcmcI~^bmd(S=3=Xst!&lB~Zwh9peEdd@L9+8@=A_x!fPA%~Je@}5aTca7E>$L`^m0maay0UIcB;=weg-EB z@3v!1_L-y~TM;OdJ?h`b;peVtKE`ET57tgEj#wz}TEj^3zKegS&aS_cpZ%9K>j=Ki zYV#z4V01TZ`{(uX`&M2Xm~f@4AW8zuq5b`|Q)XM7-XTgYY7b+Pi`hS0?Y=*1V}0=7 zR()wGoCXg26(#1k^DExlJ}_;QSxeUHz<21F8BH8yjEZt8;kB*z6UzcQZ%vjeeO3y4 zNW{g(S5{f(?&|8=N$s=GAZyizs*i|xh;9ZEAwG%%+Ukj*NTIV0Q?#m(bHwgsqf8~zvRUh6>R%fDUA>~!iV7!CQO`xzM-nsEVp z;okl`^9hL=LayfmMF?raQpCV!Zc-M)%)($1B6rIm?SFoKv$M0au2T(qyjt8Fm-8Zn zHbZ4vasKbQu=nx#ngrjy7ezg|;cs^WgVne1WkATaSo6PUWk&K|7{zF?<*z5kzg)$g z9k=gBt;JNLuQ$sBL0p{4Qb!S4xX=U6n-xiZjiYaWvBFDNKvp)1V3_X+335^^4I+FE$8*SP^$4w5Ns=>phpo&O6%~D*%g-BM zyxrn9yFFb=CjtJ=!Ts8^53<+ERCRtnEWY%us>-t6UKAVrGoBg8#U1rh;Cc&DY6vw- zgG+sP)0pD#moE0mee2IOV=_guFUVF}z+JtQ$@DGs%zyev`_M6&&hI(#i-*rPKX$Mf z?N92F>71AI5AB%Ah{n+O{W=mQ{oGh7ER0VwhIHVS9zhb*eP*>f`=F~^%}E&}`jD=? ztnBjsWm++f>l3b0sA~O1Rm%^)nMJNR8N6fl6HxnQib;{wyv)b!4#fb^&OD~|{- z9&s$3wl1mo03(igR>)x?>-?MB^eLl(s;8D3Aazd#Ev_-_AC1Ld&avdTkIWZ^C%xZ$ z@k)uP~*4l7Hy9)kkhgBvrD_Pqa$gbBgkk%PJa(qby3 z*xgw(@z^@oR%a$p?N3j+3lSi7t|Haalsu_~#9`0*i1V!2^thDT7KZ=k`xIn)&%wakph9h0VzY6GnY)!zJ3=2mL~{ zep}@~{|YRyvGBguL9rm_=J74_3lT-()pTKm6oajl24bInx5S3(pMQvCst`u zFGWGX;1MH?g6hbd$%lr9x-2}!TNp0Z%8a0Vs->-#0#au-$ z=4TG(TqS^NRyy~5x5_{r*Y_-Me*R4v$yU`x`JP=y#A@dR2P{N4>hX~AaSyj0gpPc- za!Oq?Ia;PGvBLdbwWG(*j}mo`XuNdpX*$>o*|h|NE8GKw$!_vUaCq z;B(&5!1siBErS9koG2rkYR};^(WDYhM*qDgW`zg}Dym$_&4uOud5f$6tf2jOYSyCT z@U=UQyyFwz64-gVKAF&Ax{)UeN4?$?6DGt$v2+J&Yq3kD_8sB2dm17uWSLChV+k3` zikmqP#jgp_p`H)xaUA)FN{w4lA>;g=zPBEX9wxXuq`Lu^PoF)t5B0D*v9zp&>=WwMe8cmePO`^ocUGV9e&Gt*2E#m^{NB!PT#Zp7SC26F}d}Ovh zzD=C3R-Q-O6ds;7f03SHVN&Hbs{i)sw+mYhUn69H#w{BjUKU!<7A6Uwc-ALOjWxj! zB~{9*U5EO-H3daO)k?vSXz{df^*$g#zCU(K7V~PI+g=YxKSnjVNh?M}HzSG*5Bs)} z&>koqUSLF$Ok9@di}18p(k@`nPi}Lw*NKENxb?OB^rp60lzHGTULWa8x;tMY^$Id7 zb0=4+CE@DYqVBlM0Dbz;#sOnW2MK|PZ&F%9LIm=-mgid z(`_cqYz&54b}m<_Akw-}=6bL8%EwBtXlu({o)$Y6lz(C;UP8JK*L-n0w0IxdxH@Bg zw!$D8fcJ%J8fHGOmtPNY%@7>-t)y_uI9EgNZjM{{oP+Kf9XycDM&xM727z}!%A~jph+ofB6WqV6aCpSc&F#NC??nAj z&>EJ&f=bI*cr)9=7Z((Rt8eAX14WZ2sdI5g64C9&9eK>P)N@jdi!5v(6&Duj85l5{ z53{qe6&97GN8~{zu*u2E_4W0IlkrzqKt$ta+9)O>LR~z2xyr+xLi^}RKV6N>S>?Ut zj(7yPLtXB(T?hs)gyJ3oo^k#wNI)HO9p zpo|6~*wIckH8pm2Q~Qye-IEKbkqBAG+PDVR%y0H*0&5r%(QWAMHGkXRE=epbrKb7p zpr0f6>e>bJ{&KTq?>6rC{l*Xc+k?fRNv}K0eT*SHG5novM{sGr)~mzbx33QNTK7#F zDqPHEh@ttUzkT+fOSzn3A7?)49u?_B>g$Hpe1qooK0EF7b6k?#j8ZtmxXtLDrV?4U zlgG@CRf7^YTZ%X5&E?DMPr&O#8l9J0+nwzvDYASWUbh{V*IT{&p=YfcDLesxIw9mS zy*}pre0&}I9gyqX+Y89&&q^98S7mw3Y3b>neGLAU#F!54Alm`|==ux^ zU5zCK$m^56K?bqs_c1|SFAn3Nssxcsr7voI4RNc?#8s_t>0^maS0WvuqvmwB) zjL6{TYao0_m%(s1@&uUFzM%wh<+?;hnwksNQg7yNs1!T{EUsG9LO)cHt>{;F%rfyE~o7CFZ zgR`b%>|7VyN;^9ExVeKC+XCLop6G3xl{nExRJvp+E4CDSqC+hB6A6FAw#uSH+ZT8Y zKrfjQ2zAoODpHh8keg>eB2bXf7Ll=3ee*^R$ltGOHkIawjh&-w|}vjLpeRPp5fwAGonQG&Jt(7V2GQBZYfIHbv&CJ}^KJ`R5qa?8)HTKNZeL*env%Ljb-0VnF zA{iYW9gR&!vCQGm?yC0FUv{a(7rlg?)G~p`3dAyN2Z2TLFu`sC-nqclSlRZA^~_td z)3;R^%w=Zlc3Sg(1Y+a#&PFNw>Oq`VtL$_`vQLr@C+APka27$IzfC)^AGf&W81Is$ zKSwVRdq!@3;fd;8><=DChOaUvxucK9$H%#=nm$40^Iovf0#kN`;Gn85!U`qZff8iP zS+^^nsQ^;5npqe*d6t!)Y?FYVE|EE6=xgmZFExuJ9ms^n6N3Jg?3%4I8 zMEB+cdUX-l2M^kBPZfMo2zJeM$pB|LifkPnRs z?z;$8EL#ysT|im>C1;d(81z-KEVm3sq+PLxCN&YUmVp*A7c7Q0NvEZNHX|;kO(Csk zIYEH>ZZ>0cGbIi_?VAVfJ~IsMBPwn7##S01U34zp?w_0xWs13*bp-dGV9YyRXK}0@ zqVilPi$VKEg@s@(4wealq{PIi4XiBg!X{3p#owbhWqjP!y;(`UsBqGk6_EXbNv9OM zfLA%!xHFI08YPUcxHmo#t7qtgXbSzP?W z93zPxQ$7EI&(yLK&D{}nGL`h=?Q$06u%E*)6f0d{@5|KIxs!Wq<_CBzm+5cDP4AX- zWP&Wh$ikpf)+z zxrLM6tEBK4vlIp6vi-}-o|27KF0?M< z`hpaX=axF0XQ$m7mx^6Xe0_&SF%}w%fWycQzTB*6y!lT(oh0`!K(Xs$T|!zURLt#H z9k3Y>{6{$Q&%^Ieh}>SLieracch@sLgtWXZdpqbnTGUF{$sv)g%Q3fy7*r*>SXNEfT|LWAFqC7;};OgCPS?Sc`Ze#!> z-He#MysWr`oiUiJ_J+`)n%t??)#n;~y1}lkyS1*|)4u!v;XFv>_H*oCdExKZWgLX} zZlK4dl(~#p4LY!#Qv7^^d@5gmmQ_J|3rGCEO@34S!xqs!T|C0Q<)Q%R?baHun2xkC z=Ij>GobaLVTRjj$g_FRL(a{8@Y@`9N7@2`Ies%uu#b=V1J`Gr5{OjB$x0?yyY;T1} zYU&rkp+yLiu4{SqQkNE|w7m>M*!;aWiKL_ex~5H?VY|kl2k-tIT_Qm8EmhBpUg;r% z+ANfZLfTjo<+m8Cq))L~xZqIc@DZ$Tv`OfF)Ht4la|W_JVq(bcuj846uy`S2ZK5+N zX>0_0#P01bP{huL>7oUFSHtI={f^py24kG|y+!bjh}6Sl;v*ZOh@j)=xiBVyQz`41CFYC3<>0leu<*ZRgOtS?LEp zR43oFt`w3%kNcIibCzRtTN_b@um?45rL#i?eHW`?qWIEg!JBUOXLxumaY>!;SXe=p zsrNrWt2zoV{<12e-IQ=i{Ij07wnJ=4ba5~L#HY%ksR;Kbp~lB9$w(ymoyqw zf6fP+IX{;_Uv1{@$c=PMrh?Yj*B9Tf#=6^_2u4m-xV#V-6}`U1bh@{{6H6q;3w-YX z0C5lhY1_@^_U;g~7uszOjYj7P+Muk;pS&ZyEBAKX@0>oSSIlE^{swHyIR*F{->u1R zzM<&dM|d(HGChGId$mjql#u2#5(NF)Y$ibJRT$h^=WWQv;h$nB#sdL1R=ne{!8;Qr zBZq$m2L}c;CtfW|WC+?DPwN|+KVxEg+b3m*-w&XR1Pyp*F-ZIEEVj31+hxqRIy*bV z4Ru&(?tCdpj@{EMD0bRQyG)BCm9J}8{8sGbrc3tkwb-BxI7xnX26FfL<@b;G_&d(6 zLqbBfV^x*$Hk^WA=T>f8R5fNF`SJ`p^K#iBjf{LRdw0HIM@4vrg(pOY$zOvwd#TGyOCLWBn{mg( zS6N`nxNb>SB}E_1>H}S@?WDeO1`6)~2~G!Rqaqh~@!13V`KS8kh`1^Mr2pc0JRpkvy;mQ(1c}Y zaJlN&RK8IN5`9jy>>8&uMi%q&iSRs|6h#d0vZ^8vC8E zhGkaudI4>np+f4F5;hBp0Ko*&%~E3=Px>D*K$VuimU;`hL*7FflHdhWc2|Scf~b5e zL9kJDY}{XXp^pv^fpWXB|K2=s4ieG5e0dqjX}8@S5BsZSJ>~{=k5zJZ zg6{1cXnO~p0HQL*G&v)v2M4R)b6`2dU1Nc=q$tKr7|1gsA|m2sZzO<_3^-cCW_iP{ zsP*;rQ|#(_d5J@IkPLa(Mn1CQvVj5~zwBt1UyKFXP?5@Ctkhj{Z8zt-&RyD#R_Grn z%c-2~FF~%(4_K99B=W%*e^R*(E9W~Qou*2~B_(l8vWrB0TA5-MX3aHiZCB8A6*ks7 z!=C0N;UlVNnyowqmA_W9vLiIS3G>=QhogV??eokwFmIqeR(3xm(JRK$iaH;z^w8CubymU2$|zy;7>*f^@RM3 z7=mJS|JU*cpX=iglkoqFBc)U1CA#_@@HRic1B2;6!|n6S4UgK| zTK?v>#ICL`r5MVo$;qawZseQg8RScSvrirG4n{d^C*FGV0I|NH^a~nT!9DObe z{byZ1F5=lx^2od)S-!PfF!i@n_uR^_z=ix~_j9L>uohcy3{Yj-Fz3ujvN+wUTIQZ@( z6$+P%Y)I+mdcP${{-C-c!SpO;>}}{jO3q|D zs~UN#p(WnUJf@{w<<_0xvJ;zn+9VEGxA%e$)DKD1ivzlBZDGCEK>7uL&z49EHIcsM z8$2Jo7tp1X;7%SB*_D8NmwnwnhyO&D<6!f1(Q-VPn0&cCj5QH00HbqnVy2DFS>v=< z=bR9cVSGE+XQNJ+%Qh~uF5$doN7H!gqY6~Ub~^AsF{rSg2#QryTE2p4u<^_j-u~7K zSAeXFRzPlV7~@I`-qyLbwzbVSxB+6ddDY6ZdYUWde}mk+&I8jYBdlFb!ocB`nntdl z7U^RYdql->m!aZ|;x8!^7Gx<)i`u0)_}w?Y_UzKph1H7zW_7Z99|%jJ=`QTh_ribQ1y_F)#rEibfzKH zPx?0FlQuE5cO7i2$r&BqGs9Uro;U15Cz4ItMfy*58ZZ7vY^aJm0yYH9hBD&eL1}KX z((BhymK)wnB-NIHQabM-CLhEQ&KvC{q#k)mKe8bWK=&YCJK6WQJfD6J_?|j(XpWyT zO6D!`l#hM(A;H)}hgYGIUg&n)+K{?J`<22;9x(e_l7_4dOkrJ}hv zO(%oDe}o8{JCHGif3V%r=X{>L0vonO$OagAD~O0`%$+)m(~nsYsiG`uZ(TIilQWi^ zR}+}Y`LqeAf645a?dfJ%f#=F)uG$Fi;h!lDb`q@WG0F*@!i^}nq%mhd2YUgs>9$>o zkni;*T6U+XhKK9ifSm^f%ywtiBM)8pAK<--JB$#C(*?Bo(vtKvy3t+Cf_~~u%wO;S z4+^=TiwdWU>Eu!0j3OG#W`GaxP7N=gOa3aq(?6qN<9T)by{lIt2{i0zf9UjQ$t0XdCQgmx!;jJBOki_1*0e8r6lxb|N1E!0H^|3Fy{ZoqvsrvU8Gfy&zm)TPZd?mL%ASxQQ1eZ zK0jI|F0SYwD1l-TYOgx`q%ons@W6x=uBz<%sn%|v9f)-n-co30Bu4FRKIoF(e|Q=s%`RsXe$gWodol3@F8sjDZcPEHv!u>^8spe0~k}u&&8x zA@~6~e4OZYfI$mInNJ7_zHK~g)Z9krYe#bj{*8yu(#MVMqHVxf!&$?BzU)$u0Afy%s*14MR!06bUpGr&gXh37 zCA;Sn(g%rk?7ei?|<>qxTDr!Yu&{} zNf34?sOqrspz^~=`X6PJ#dK9rLX3f@tX4fM#`JJltr4KgS&(Ska1Z(z-F4gfqsh@G zz}~;XE*Uez*D5V|m2+~1938JxxwoqWMH5M-nkp6|Hn@d6AQF~pB8q2U1`?1)dQUmk zsXQWnfvApF?+AQF$EV%_C@&H3}?R# zMs*+O1$&w_>AVW@*i7*y+B3S7`9PGlE=pzTqa`*_9J7eE4evfBVUKcg{XzZ!ND#`akiHD1Gp37yeFlL?TT}nUyKYvz5ERkB zZ{hQj5@{Sb0sd!RyLz4G#KjnA=#+v)6OoucYYl~CR(>j=g(PBQk@lbc+36Y-j&eLQ zsWW7y2|9Y{<_5j7(=kaApNBrn5Av1ZQiE5ZwAJ)Mc>p(Nf^2l^#1u<1NJSJ`>1jyo z>kPSlNOJZ%HC0jW6fwk2NN9wk<6{*RknEr|_Y@xWO&C{m_X1H@IsEMb3ym}(CwInSmh4P2ww~EJ9G3fq(Q; zS+-gCMgz6U#!y!dusW)JjrqH5?LoAZ>J*`;p3WSc~MR>)s^emj~FRi2vH z-ctT>Oi4)zV-d7FUZnA_ku4O6DTDS&m!To&21qF|Ji_b){R>d;Z{DQ9iPF4a4Rtxxlz9x~1%3sp}J_cfyiSEw@ zlp{-^n#v#96)0eB;I<>QG|)F>5%4EDDd1{nwl*dvCineH)bx|yS2mGA9;|0(Lr6)b z*><03?C-FwYNXU7aS=wjAYbg~f>jCAM)z!)AU}8aJ)ozg^pC*cn21&q2xu7suzGYy z5GAPgFkEiVz!~PZ*oqF{U$jL=WXZ}@oPPO}Qx!&ZZ)syfaSSS;8M-9geRI??KAbBq zpe*s+I~qvTkiUNY!sZ0IfB$gDqDq{CpdLcav)Ea3t*Z5F7ltfD%6zbV^%}-Hm z7ogydWqREQ9)P%rqJs~9ZS$wxu9s%duw_epdwq#wg+Fx6NXf|wozN2Boo_y>$5^<8 zP&%XFSGQB?c2+92rA}x@xKRT$Lt_c35wQ*g;C-;rQKF=v09yH`zxg<@o$W7Knwy6lE8_bMA+^)+ zH|XWLhDNdyMhjDPI}%`cqjLkap+laHT~_@6cO{Vj59SXRySMk66ho!+r4-Zt!Ko=} LD^|+C`}F?+u2%Ut literal 12302 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 gZ2bO@4!nY*JVO7w!|h@69oPYQC8s7^2{#M
-public Triangle() {
+public class Triangle() {
     ...
 
     int vertexShader = loadShader(GLES20.GL_VERTEX_SHADER, vertexShaderCode);
diff --git a/docs/html/training/graphics/opengl/environment.jd b/docs/html/training/graphics/opengl/environment.jd
index e1e2c8aca6b66..77faabf5ffe70 100644
--- a/docs/html/training/graphics/opengl/environment.jd
+++ b/docs/html/training/graphics/opengl/environment.jd
@@ -92,7 +92,7 @@ also add a {@link android.opengl.GLSurfaceView}.

{@link android.opengl.GLSurfaceView} as its primary view:

-public class OpenGLES20 extends Activity {
+public class OpenGLES20Activity extends Activity {
 
     private GLSurfaceView mGLView;
 
@@ -190,11 +190,11 @@ the geometry of the view changes, for example when the device's screen orientati
 gray background in the {@link android.opengl.GLSurfaceView}:

-public class MyGL20Renderer implements GLSurfaceView.Renderer {
+public class MyGLRenderer implements GLSurfaceView.Renderer {
 
     public void onSurfaceCreated(GL10 unused, EGLConfig config) {
         // Set the background frame color
-        GLES20.glClearColor(0.5f, 0.5f, 0.5f, 1.0f);
+        GLES20.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
     }
 
     public void onDrawFrame(GL10 unused) {
diff --git a/docs/html/training/graphics/opengl/motion.jd b/docs/html/training/graphics/opengl/motion.jd
index af70de0a7f546..fbcdd7fdfcc08 100644
--- a/docs/html/training/graphics/opengl/motion.jd
+++ b/docs/html/training/graphics/opengl/motion.jd
@@ -53,16 +53,20 @@ camera view transformation matrices:

private float[] mRotationMatrix = new float[16]; public void onDrawFrame(GL10 gl) { ... + float[] scratch = new float[16]; + // Create a rotation transformation for the triangle long time = SystemClock.uptimeMillis() % 4000L; float angle = 0.090f * ((int) time); Matrix.setRotateM(mRotationMatrix, 0, angle, 0, 0, -1.0f); // Combine the rotation matrix with the projection and camera view - Matrix.multiplyMM(mMVPMatrix, 0, mRotationMatrix, 0, mMVPMatrix, 0); + // Note that the mMVPMatrix factor *must be first* in order + // for the matrix multiplication product to be correct. + Matrix.multiplyMM(scratch, 0, mMVPMatrix, 0, mRotationMatrix, 0); // Draw triangle - mTriangle.draw(mMVPMatrix); + mTriangle.draw(scratch); }
@@ -82,8 +86,9 @@ android.opengl.GLSurfaceView} container:

 public MyGLSurfaceView(Context context) {
     ...
-    // Render the view only when there is a change in the drawing data
-    //setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); // comment out for auto-rotation
+    // Render the view only when there is a change in the drawing data.
+    // To allow the triangle to rotate automatically, this line is commented out:
+    //setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
 }
 
diff --git a/docs/html/training/graphics/opengl/projection.jd b/docs/html/training/graphics/opengl/projection.jd index 2a91093d8909f..b09e74ce61ea4 100644 --- a/docs/html/training/graphics/opengl/projection.jd +++ b/docs/html/training/graphics/opengl/projection.jd @@ -79,12 +79,12 @@ public void onSurfaceChanged(GL10 unused, int width, int height) { // this projection matrix is applied to object coordinates // in the onDrawFrame() method - Matrix.frustumM(mProjMatrix, 0, -ratio, ratio, -1, 1, 3, 7); + Matrix.frustumM(mProjectionMatrix, 0, -ratio, ratio, -1, 1, 3, 7); }
-

This code populates a projection matrix, {@code mProjMatrix} which you can then combine with a -camera view transformation in the {@link android.opengl.GLSurfaceView.Renderer#onDrawFrame +

This code populates a projection matrix, {@code mProjectionMatrix} which you can then combine +with a camera view transformation in the {@link android.opengl.GLSurfaceView.Renderer#onDrawFrame onDrawFrame()} method, which is shown in the next section.

Note: Just applying a projection transformation to your @@ -104,12 +104,11 @@ are then passed to the drawn shape.

@Override public void onDrawFrame(GL10 unused) { ... - // Set the camera position (View matrix) - Matrix.setLookAtM(mVMatrix, 0, 0, 0, -3, 0f, 0f, 0f, 0f, 1.0f, 0.0f); + Matrix.setLookAtM(mViewMatrix, 0, 0, 0, -3, 0f, 0f, 0f, 0f, 1.0f, 0.0f); // Calculate the projection and view transformation - Matrix.multiplyMM(mMVPMatrix, 0, mProjMatrix, 0, mVMatrix, 0); + Matrix.multiplyMM(mMVPMatrix, 0, mProjectionMatrix, 0, mViewMatrix, 0); // Draw shape mTriangle.draw(mMVPMatrix); @@ -130,7 +129,7 @@ public void draw(float[] mvpMatrix) { // pass in the calculated transformation m // get handle to shape's transformation matrix mMVPMatrixHandle = GLES20.glGetUniformLocation(mProgram, "uMVPMatrix"); - // Apply the projection and view transformation + // Pass the projection and view transformation to the shader GLES20.glUniformMatrix4fv(mMVPMatrixHandle, 1, false, mvpMatrix, 0); // Draw the triangle @@ -139,7 +138,7 @@ public void draw(float[] mvpMatrix) { // pass in the calculated transformation m }
-

Once you have correctly calulated and applied the projection and camera view transformations, +

Once you have correctly calculated and applied the projection and camera view transformations, your graphic objects are drawn in correct proportions and should look like this:

diff --git a/docs/html/training/graphics/opengl/shapes.jd b/docs/html/training/graphics/opengl/shapes.jd index 98381cc6de4b6..b960bb7bd0851 100644 --- a/docs/html/training/graphics/opengl/shapes.jd +++ b/docs/html/training/graphics/opengl/shapes.jd @@ -50,16 +50,16 @@ efficiency, you write these coordinates into a {@link java.nio.ByteBuffer}, that OpenGL ES graphics pipeline for processing.

-class Triangle {
+public class Triangle {
 
     private FloatBuffer vertexBuffer;
 
     // number of coordinates per vertex in this array
     static final int COORDS_PER_VERTEX = 3;
-    static float triangleCoords[] = { // in counterclockwise order:
-         0.0f,  0.622008459f, 0.0f,   // top
-        -0.5f, -0.311004243f, 0.0f,   // bottom left
-         0.5f, -0.311004243f, 0.0f    // bottom right
+    static float triangleCoords[] = {   // in counterclockwise order:
+             0.0f,  0.622008459f, 0.0f, // top
+            -0.5f, -0.311004243f, 0.0f, // bottom left
+             0.5f, -0.311004243f, 0.0f  // bottom right
     };
 
     // Set color with red, green, blue and alpha (opacity) values
@@ -112,17 +112,18 @@ defining the two coordinates shared by each triangle twice, use a drawing list t
 OpenGL ES graphics pipeline how to draw these vertices. Here’s the code for this shape:

-class Square {
+public class Square {
 
     private FloatBuffer vertexBuffer;
     private ShortBuffer drawListBuffer;
 
     // number of coordinates per vertex in this array
     static final int COORDS_PER_VERTEX = 3;
-    static float squareCoords[] = { -0.5f,  0.5f, 0.0f,   // top left
-                                    -0.5f, -0.5f, 0.0f,   // bottom left
-                                     0.5f, -0.5f, 0.0f,   // bottom right
-                                     0.5f,  0.5f, 0.0f }; // top right
+    static float squareCoords[] = {
+            -0.5f,  0.5f, 0.0f,   // top left
+            -0.5f, -0.5f, 0.0f,   // bottom left
+             0.5f, -0.5f, 0.0f,   // bottom right
+             0.5f,  0.5f, 0.0f }; // top right
 
     private short drawOrder[] = { 0, 1, 2, 0, 2, 3 }; // order to draw vertices
 
diff --git a/docs/html/training/graphics/opengl/touch.jd b/docs/html/training/graphics/opengl/touch.jd
index c058a5963ee3f..4c9f0c77be554 100644
--- a/docs/html/training/graphics/opengl/touch.jd
+++ b/docs/html/training/graphics/opengl/touch.jd
@@ -75,7 +75,9 @@ public boolean onTouchEvent(MotionEvent e) {
               dy = dy * -1 ;
             }
 
-            mRenderer.mAngle += (dx + dy) * TOUCH_SCALE_FACTOR;  // = 180.0f / 320
+            mRenderer.setAngle(
+                    mRenderer.getAngle() +
+                    ((dx + dy) * TOUCH_SCALE_FACTOR);  // = 180.0f / 320
             requestRender();
     }
 
@@ -123,16 +125,20 @@ add {@code mAngle}, which contains the touch input generated angle:

 public void onDrawFrame(GL10 gl) {
     ...
+    float[] scratch = new float[16];
+
     // Create a rotation for the triangle
     // long time = SystemClock.uptimeMillis() % 4000L;
     // float angle = 0.090f * ((int) time);
     Matrix.setRotateM(mRotationMatrix, 0, mAngle, 0, 0, -1.0f);
 
     // Combine the rotation matrix with the projection and camera view
-    Matrix.multiplyMM(mMVPMatrix, 0, mRotationMatrix, 0, mMVPMatrix, 0);
+    // Note that the mMVPMatrix factor *must be first* in order
+    // for the matrix multiplication product to be correct.
+    Matrix.multiplyMM(scratch, 0, mMVPMatrix, 0, mRotationMatrix, 0);
 
     // Draw triangle
-    mTriangle.draw(mMVPMatrix);
+    mTriangle.draw(scratch);
 }