资源简介
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
相关资源
- 物流管理系统源码(含数据库)5624
- jsp模拟酷狗官网源码(附数据库)
- 一个完整的点餐微信小程序(附后台
- 基于 struts 的学生寝室管理系统的设计
- 煤矿安全管理系统(jsp源码+数据库脚
- Java快速开发平台源码(renren-fast)
- 基于JSP实现的美食餐饮管理系统(源
- 尚硅谷书城源码(仅附html页面)
- 都市供求信息网(源码+数据库+文档)
- 图书管理系统(源码+数据库+截图)
- 学生信息管理系统源码+mysql数据库
- javaweb网上购物系统源码(附数据库脚
- jsp+servlet+jdbc开发学生信息后台管理系
- JSP选课系统(源码+文档+数据库)
- 基于JSP的超市销售管理系统(源码+
- jsp宠物商店(源码+数据库)
- 毕业设计-医院人事管理系统(源码
- Vue + SpringBoot + MyBatis 音乐网站(源码
- jsp进销存管理系统(源码+数据库+文档
- 安全测试工具ysoserial
- 基于JAVA_JSP电子书系统(源码+数据库
- JSP考试网上报名考试系统(源码+数据
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- Java 仿QQ(附客户端以及服务端源码)
- java swing工资管理系统(源码+数据库
- Android代码-多功能拨号盘源码.zip
- jdk和cglib动态代理的{jar包+源码}
- 顺丰丰桥接口开发详细教程源码含下
- JSP购物网站完整源码包含项目源码,
- android RDP远程桌面客户端源码
评论
共有 条评论