package Ġjp . cor dea . openg les demo Ċ Ċ import Ġandroid . opengl . GLES 2 0 Ċ import Ġandroid . opengl . GL Surface View Ċ import Ġandroid . opengl . Matrix Ċ import Ġjavax . micro edition . kh ronos . e gl . EGL Config Ċ import Ġjavax . micro edition . kh ronos . openg les . GL 1 0 Ċ Ċ class ĠStep 1 Renderer Ġ: ĠGL Surface View . Renderer Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsquare : ĠSquare ĊĊĠĠĠ Ġprivate Ġval Ġm vp Matrix Ġ= ĠFloat Array ( 1 6 ) ĊĠĠĠ Ġprivate Ġval Ġprojection Matrix Ġ= ĠFloat Array ( 1 6 ) ĊĠĠĠ Ġprivate Ġval Ġview Matrix Ġ= ĠFloat Array ( 1 6 ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw Frame ( gl : ĠGL 1 0 ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠGLES 2 0 . gl Clear ( GLES 2 0 . GL _ COLOR _ BUFFER _ BIT Ġor ĠGLES 2 0 . GL _ DEPTH _ BUFFER _ BIT ) ĊĊĠĠĠĠĠĠĠ ĠMatrix . set Look At M ( view Matrix , Ġ 0 , Ġ 0 f , Ġ 0 f , Ġ- 5 f , Ġ 0 f , Ġ 0 f , Ġ 0 f , Ġ 0 f , Ġ 1 f , Ġ 0 f ) ĊĠĠĠĠĠĠĠ ĠMatrix . multiply MM ( mvp Matrix , Ġ 0 , Ġprojection Matrix , Ġ 0 , Ġview Matrix , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġsquare . draw ( mvp Matrix ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Surface Changed ( gl : ĠGL 1 0 ?, Ġwidth : ĠInt , Ġheight : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠGLES 2 0 . gl Viewport ( 0 , Ġ 0 , Ġwidth , Ġheight ) ĊĠĠĠĠĠĠĠ Ġval Ġratio Ġ= Ġwidth Ġ/ Ġheight . toFloat () ĊĠĠĠĠĠĠĠ ĠMatrix . fr ustum M ( projection Matrix , Ġ 0 , Ġ- ratio , Ġratio , Ġ- 1 f , Ġ 1 f , Ġ 3 f , Ġ 7 f ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Surface Created ( gl : ĠGL 1 0 ?, Ġconfig : ĠE GL Config ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠGLES 2 0 . gl Clear Color ( 1 f , Ġ 1 f , Ġ 1 f , Ġ 1 f ) ĊĠĠĠĠĠĠĠ Ġsquare Ġ= ĠSquare () ĊĠĠĠ Ġ} Ċ } Ċ