android OpenGLES开发第三课 绘制一个可以翻转的Polygon
来源:互联网 发布:unity 象棋源码 编辑:程序博客网 时间:2024/06/04 19:01
这一课和前面的唯一不同在于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}}
- android OpenGLES开发第三课 绘制一个可以翻转的Polygon
- android OpenGLES开发第一课 绘制简单的Polygon
- android OpenGLES开发第四课 绘制一个六棱柱
- android OpenGLES开发第二课 为Polygon添加颜色
- 基于Android opengles的魔方开发总结
- android OpenGLES开发 第五课 纹理映射
- Android OpenglES 绘制多个纹理
- iOS --- OpenGLES之简单的图形绘制
- opengles绘制可旋转的六角星
- opengles绘制可旋转的球体
- 绘制一个可以更改进度的圆弧
- android利用OpenGLES开发动态壁纸用到的GLWallpaperService类
- 基于Android opengles的魔方开发总结(一)
- 基于Android opengles的魔方开发总结(二)
- 基于Android opengles的魔方开发总结(三)
- 基于Android opengles的魔方开发总结(四)
- Android上的OpenGLES程序--开发环境介绍
- 绘制左右翻转的图片
- 成长的痛苦与快乐(非常经典)
- 比较有用的log4j.properties
- 如何在MyEclipse中显示行数
- android OpenGLES开发第一课 绘制简单的Polygon
- android OpenGLES开发第二课 为Polygon添加颜色
- android OpenGLES开发第三课 绘制一个可以翻转的Polygon
- android OpenGLES开发第四课 绘制一个六棱柱
- 赚钱啦(单源最短路径(含有负权)Bellman_Forld()算法)
- ACMSTEP 2.3.1 A+B Problem II //大数加法
- android OpenGLES开发 第五课 纹理映射
- the first time use the header of zlib.h
- iphone国际化(转)
- 探索C++的秘密之详解extern "C"
- poj Cow Exhibition 01背包的灵活运用