资源简介
NULL
博文链接:https://bcf.iteye.com/blog/1240897

代码片段和文件信息
package cn.bcf.opengl.test;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import javax.microedition.khronos.opengles.GL10;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.opengl.GLUtils;
import android.view.View.OnTouchListener;
public class Pyramid {
Context mContext = null;
private int one = 0x10000;
public float mAngleX;
public float mAngleY;
private IntBuffer mVertexBuffer;
private FloatBuffer mTexBuffer;
FloatBuffer lightDiffuse = FloatBuffer.wrap(new float[] { 0.5f 0.5f 0.5f
1.0f });
FloatBuffer specularParams = FloatBuffer.wrap(new float[] { 0.5f 1.0f
0.5f 1.0f });
FloatBuffer lightPosition = FloatBuffer.wrap(new float[] { 0.3f 0.0f
2.0f 1.0f });
int vertices[] = { 0 one 0 -one -one one one -one one
0 one 0 one -one one one -one -one
0 one 0 one -one -one -one -one -one
0 one 0 -one -one -one -one -one one };
float[] texST={
0.5f0.0f01110.5f0.0f0111
0.5f0.0f01110.5f0.0f0111
};
//纹理点
private int[] texCoords = {
0 oneone
one0 0
one 0
};
float x y z;
int textureId;
boolean isY = true;
private Bitmap bitmap;
private int[] textureids=null;
private IntBuffer texBuffer;
private Bitmap[] bit =new Bitmap[4];
public Pyramid(GL10 glfloat x float y float z float rot int textureIdContext context) {
this.mContext = context;
this.x = x;
this.y = y;
this.z = z;
this.textureId = textureId;
ByteBuffer vbb = ByteBuffer.allocateDirect(vertices.length * 4);
vbb.order(ByteOrder.nativeOrder());
mVertexBuffer = vbb.asIntBuffer();
mVertexBuffer.put(vertices);
mVertexBuffer.position(0);
// 初始化
textureids = new int[4];
bit[0]=BitmapFactory.decodeResource(mContext.getResources() R.drawable.walla);
bit[1]=BitmapFactory.decodeResource(mContext.getResources() R.drawable.wallb);
bit[2]=BitmapFactory.decodeResource(mContext.getResources() R.drawable.walld);
bit[3]=BitmapFactory.decodeResource(mContext.getResources() R.drawable.wallf);
// 实例化bitmap
bitmap = BitGL.bitmap;
ByteBuffer tbbs = ByteBuffer.allocateDirect(texCoords.length * 3 * 4);
tbbs.order(ByteOrder.nativeOrder());
texBuffer = tbbs.asIntBuffer();
//为每一个面贴上纹理
for (int i = 0; i < 3; i++) {
texBuffer.put(texCoords);
}
texBuffer.position(0);
ByteBuffer tbb = ByteBuffer.allocateDirect(texST.length * 4);
tbb.order(ByteOrder.nativeOrder()); //after byte sort image is ok
mTexBuffer = tbb.asFloatBuffer();
mTexBuffer.put(texST);
mTexBuffer.position(0);
/*********贴图开始********/
//打开纹理
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5849 2011-11-08 00:37 Pyramid.java
----------- --------- ---------- ----- ----
5849 1
相关资源
- java 毕业设计 进销存管理系统 源码
- Android手机工具ADB.exe
- java图片浏览器跨平台运行程序与源码
- 微博系统(Java源码,servlet+jsp),适
- 美食天下项目Android版源码和Web版源码
- 基于Java的酒店管理系统源码(毕业设
- Android分区工具包
- u-blox_Android_GNSS_Driver_v3.10驱动源码+中
- 个人根据Android移动开发案例详解手写
- 基于JSP的学生宿舍管理系统(源码 数
- mysql jsp网站源码下载
- java access 仓库管理系统 源码
- java实现的svn统计修改代码行数完整源
- 即时通讯系统JAVA源码
- Java记事本【源代码 实验报告】
- java简单的购物车实例程序
- Java版航空订票系统源码
- java GUI版汉诺塔源码
- Android手机连连看游戏源码
- 搜索引擎的研究与实现Java附源码
- java 原创 坦克大战 源码 带有详细注释
- jsp与SQL Server数据库实现的客户注册登
- java实现POS系统源码
- java多人五子棋源码
- JAVA计算器实验报告与源码
- java做的人事档案管理系统
- 贪吃蛇(java 源码 eclipse项目)
- 自动出题系统(java 课程设计)
- java制作360度全景页面的源码和脚本
- 进制转换器(java)
评论
共有 条评论