package Ġcom . zhang www . openg les _ learning . bean Ċ Ċ import Ġandroid . opengl . GLES 2 0 . GL _ TRI ANGLE _ F AN Ċ import Ġandroid . opengl . GLES 2 0 . gl Draw Arrays Ċ import Ġcom . zhang www . openg les _ learning . gles . program . Texture Shader Program Ċ import Ġcom . zhang www . base module . openg les . BYTES _ PER _ FLOAT Ċ Ċ class ĠTable Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġvertex Array : ĠVertex Array ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġvertex Array Ġ= ĠVertex Array ( VERTEX _ DATA ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind Data ( texture Program : ĠTexture Shader Program ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvertex Array . set VertexAttrib Pointer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtexture Program . a Position Location , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPOSITION _ COMPONENT _ COUNT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTR IDE ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġvertex Array . set VertexAttrib Pointer ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPOSITION _ COMPONENT _ COUNT , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtexture Program . a Texture Coordinates Location , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTEXT URE _ COORD IN ATES _ COMPONENT _ COUNT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSTR IDE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdraw () Ġ{ ĊĠĠĠĠĠĠĠ Ġgl Draw Arrays ( GL _ TRI ANGLE _ F AN , Ġ 0 , Ġ 6 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPOSITION _ COMPONENT _ COUNT Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTEXT URE _ COORD IN ATES _ COMPONENT _ COUNT Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSTR IDE Ġ= Ġ( POSITION _ COMPONENT _ COUNT Ġ+ ĠTEXT URE _ COORD IN ATES _ COMPONENT _ COUNT ) Ġ* ĠBY TES _ PER _ FLOAT ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠV ERT EX _ DATA Ġ= Ġfloat ArrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġorder Ġof Ġcoordinates : ĠX , ĠY , ĠS , ĠT ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTriangle ĠF an ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 f , ĠĠĠĠ 0 f , Ġ 0 . 5 f , Ġ 0 . 5 f , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- 0 . 5 f , Ġ- 0 . 8 f , ĠĠĠ 0 f , Ġ 0 . 9 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 5 f , Ġ- 0 . 8 f , ĠĠĠ 1 f , Ġ 0 . 9 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 5 f , ĠĠ 0 . 8 f , ĠĠĠ 1 f , Ġ 0 . 1 f , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- 0 . 5 f , ĠĠ 0 . 8 f , ĠĠĠ 0 f , Ġ 0 . 1 f , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- 0 . 5 f , Ġ- 0 . 8 f , ĠĠĠ 0 f , Ġ 0 . 9 f ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }