这一课和前面的唯一不同在于MyRenderer类中的onDrawFrame(GL10 gl)方法,在这个方法里我们添加了对Polygon翻转的操作:

public class Myrenderer implements Renderer {Polygon polygon;// 定义一个控制翻转角度的变量private float rquad;public Myrenderer() {polygon = new Polygon();}/** * The Surface is created/init() *  * 这个方法是当surface创建时调用的方法,主要是设置一些属性 */public void onSurfaceCreated(GL10 gl, EGLConfig config) {gl.glShadeModel(GL10.GL_SMOOTH); // Enable Smooth Shadinggl.glClearColor(0.0f, 0.0f, 0.0f, 0.5f); // Black Backgroundgl.glClearDepthf(1.0f); // Depth Buffer Setupgl.glEnable(GL10.GL_DEPTH_TEST); // Enables Depth Testinggl.glDepthFunc(GL10.GL_LEQUAL); // The Type Of Depth Testing To Do// Really Nice Perspective Calculationsgl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);}/** * Here we do our drawing */public void onDrawFrame(GL10 gl) {// Clear Screen And Depth Buffergl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);gl.glLoadIdentity(); // Reset The Current Modelview Matrix// Drawinggl.glTranslatef(0.0f, -1.2f, -6.0f); // Move down 1.0 Unit And Into The// Screen 6.0gl.glRotatef(rquad, 1.0f, 0.0f, 0.0f); // Rotate ThePolygonOn The X axis ( NEW ) 沿x轴翻转polygon.draw(gl); // Draw the Polygonrquad -= 0.15f; // Decrease The Rotation Variable For ThePolygon( NEW ) 改变翻转角度}/** * If the surface changes, reset the view */public void onSurfaceChanged(GL10 gl, int width, int height) {// 这个方法是当surface改变时调用的方法,也是设置一些gl的属性,// 大体的设置没有太大变化,所以这基本上是一个通用的写法if (height == 0) { // Prevent A Divide By Zero Byheight = 1; // Making Height Equal One}gl.glViewport(0, 0, width, height); // Reset The Current Viewportgl.glMatrixMode(GL10.GL_PROJECTION); // Select The Projection Matrixgl.glLoadIdentity(); // Reset The Projection Matrix// Calculate The Aspect Ratio Of The WindowGLU.gluPerspective(gl, 45.0f, (float) width / (float) height, 0.1f,100.0f);gl.glMatrixMode(GL10.GL_MODELVIEW); // Select The Modelview Matrixgl.glLoadIdentity(); // Reset The Modelview Matrix}}


更多相关文章

  1. android 系统定制之编译方法总结
  2. java化改造--xml布局文件转成java——学习整理
  3. Android(安卓)上网流量监控方法
  4. [安卓开发Android] RecyclerView 类型与点击事件的用法
  5. Android(安卓)通过 intent传值获得null
  6. Android中将View的内容保存为图像的方法
  7. Android之使用NotificationListenerService使得自己的应用不被杀
  8. Android之WebView和js交互-调用失败的看这里
  9. Android每隔几秒做一个动作实现方法

随机推荐

  1. android 体系架构
  2. Android实例剖析
  3. Android(安卓)C/C++ 开发.
  4. 实现自己的Camera
  5. Android之UI学习篇三:TextVeiw单击文字链
  6. Android(安卓)中如何选择 compileSdkVers
  7. android permission权限与安全机制解析(下
  8. Android构建过程简述
  9. android eclipse 环境
  10. Android4.0:统一标准强行安装默认主题Holo