Android的OpenGL学习笔记(2)

这篇博客介绍了如何使用OpenGL在Android中绘制三角形,包括两种方法:通过glDrawElements()和glDrawArrays()。作者提供了VortexRenderer类的代码示例,详细解释了每个方法的实现过程和关键步骤。
摘要由CSDN通过智能技术生成

                                                                              Android的OpenGL学习笔记(2)

上篇主要目的是介绍OpenGL的基本框架,这里就用基本的框架绘画出一个三角形,绘制三角形在OpenGL中比较重要,因为在OpenGL(Android)中的图形都是用三角形拼凑起来的!

画三角形有两种,主要是调用的方法不同而已:

第一种,调用glDrawElements()方法绘画:

看代码,主要看继承GLSurfaceView的代码部分,其他的和上篇基本一样:

VortexRenderer.java

Code:
  1. package com.droidnova.android.games.vortex;  
  2.   
  3. import java.nio.ByteBuffer;  
  4. import java.nio.ByteOrder;  
  5. import java.nio.FloatBuffer;  
  6. import java.nio.ShortBuffer;  
  7.   
  8. import javax.microedition.khronos.egl.EGLConfig;  
  9. import javax.microedition.khronos.opengles.GL10;  
  10.   
  11. import android.opengl.GLSurfaceView;  
  12.   
  13. public class VortexRenderer implements GLSurfaceView.Renderer {  
  14.     //private static final String LOG_TAG = VortexRenderer.class.getSimpleName();  
  15.       
  16.     private float _red = 0f;  
  17.     private float _green = 0f;  
  18.     private float _blue = 0f;  
  19.   
  20.     // a raw buffer to hold indices allowing a reuse of points.  
  21.     private ShortBuffer _indexBuffer;  
  22.       
  23.     // a raw buffer to hold the vertices  
  24.     private FloatBuffer _vertexBuffer;  
  25.       
  26.     private short[] _indicesArray = { 012};//关于索引的理解:即三角形三个顶点的索引,这里暂时画了一个平面二维的三角形,  
  27.     //看不出它的作用,当画三维的时候,就会清楚了,这里大概提一下,索引组合可以构成一个面!相当于三个点可以构成一个面,这里用索引代替了三个点而已!  
  28.     private int _nrOfVertices = 3;  
  29.   
  30.     private float _angle;  
  31.       
  32.     @Override  
  33.     public void onSurfaceCreated(GL10 gl, EGLConfig config) {  
  34.         // pre
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值