请教一个关于android-opengl的问题

wzz24 2011-03-24 08:23:32
刚学android的opengl,找了一个小例子,里面定义的顶点坐标是0x10000,即65535,这个是什么单位呢,谢谢!



public class GLRender implements Renderer
{
int one = 0x10000; //?????


//三角形三个顶点
private IntBuffer triggerBuffer = IntBuffer.wrap(new int[]{
0,one,0, //上顶点
-one,-one,0, //左下点
one,-one,0,}); //右下点
//正方形的4个顶点
private IntBuffer quaterBuffer = IntBuffer.wrap(new int[]{
one,one,0,
-one,one,0,
one,-one,0,
-one,-one,0});
@Override
public void onDrawFrame(GL10 gl)
{
// 清除屏幕和深度缓存
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
// 重置当前的模型观察矩阵
gl.glLoadIdentity();

// 左移 1.5 单位,并移入屏幕 6.0
gl.glTranslatef(-1.5f, 0.0f, -6.0f);

// 允许设置顶点
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
// 设置三角形
gl.glVertexPointer(3, GL10.GL_FIXED, 0, triggerBuffer);
//绘制三角形
gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);


// 重置当前的模型观察矩阵
gl.glLoadIdentity();
// 左移 1.5 单位,并移入屏幕 6.0
gl.glTranslatef(1.5f, 0.0f, -6.0f);
//设置和绘制正方形
gl.glVertexPointer(3, GL10.GL_FIXED, 0, quaterBuffer);
gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);

// 取消顶点设置
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);

}

@Override
public void onSurfaceChanged(GL10 gl, int width, int height)
{

float ratio = (float) width / height;

//设置OpenGL场景的大小
gl.glViewport(0, 0, width, height);


//设置投影矩阵
gl.glMatrixMode(GL10.GL_PROJECTION);

//重置投影矩阵
gl.glLoadIdentity();

// 设置视口的大小
gl.glFrustumf(-ratio, ratio, -1, 1, 1, 10);

// 选择模型观察矩阵
gl.glMatrixMode(GL10.GL_MODELVIEW);

// 重置模型观察矩阵
gl.glLoadIdentity();

}

@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config)
{
// 启用阴影平滑
gl.glShadeModel(GL10.GL_SMOOTH);

// 黑色背景
gl.glClearColor(0, 0, 0, 0);

// 设置深度缓存
gl.glClearDepthf(1.0f);
// 启用深度测试
gl.glEnable(GL10.GL_DEPTH_TEST);
// 所作深度测试的类型
gl.glDepthFunc(GL10.GL_LEQUAL);

// 告诉系统对透视进行修正
gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_FASTEST);
}

}
...全文
168 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
Android实训报告基于Android游戏开发全文共6页,当前为第1页。Android实训报告基于Android游戏开发全文共6页,当前为第1页。Android实训报告基于Android游戏开发 Android实训报告基于Android游戏开发全文共6页,当前为第1页。 Android实训报告基于Android游戏开发全文共6页,当前为第1页。 通信与电子信息专业实训报告项目名称:基于Android的游戏开发班级通信班姓名学号指导教师成绩实训时间:2013年X月17日—2013年X月28日目录一、实训目的及其意义31.1、目的及意义31.2、研究现状3二、实训主要任务、重点及难点42.1、任务42.2、重点内容及实现途径4三、实训具体内容及完成的主要工作53.1、认识基础开发63.2、了解数据存储63.3、总体实训过程7四、实际遇到的困难,解决问题的方法和措施8(一)、所遇问题8(二)、解决方法与措施9五、心得体会9一、实训目的及其意义1.1、目的及意义了解现阶段互联网发展主流,了解移动互联网,认识移动互联网的发展与展望,认识Android,了解基于Android的应用软件开发方法及其商业流程。把理论与实际结合,通过对理论知识的理解,领悟从而运用到生活实际巩固所学的知识,提高对实际生活的认识,积累经验。使学生在此期间能够初次体会到实际生产中的种种技能与经验,完成一项项目锻炼独立思考及团队合作能力。使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活,社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况。生产实习是学校教学的重要补充部分,是区别于普通学校教育的一个显著特征,是教育教学体系中的一个不可缺少的重要组成部分和不可替代的重要环节。它是与今后的职业生活最直接联系的,学生在生产实习过程中将完成学习到就业的过渡,因此生产实习是培养技能型人才,实现培养目标的主要途径。它不仅是校内教学的延续,而且是校内教学的总结。生产实习一方面巩固了书本上学到的理论知识,另一方面,可获得在书本上不易了解和不易学到的生产现场的实际知识,使我们在实践中得到提高实训环节对于提高学生的综合能力和全面素质具有重要意义。 1.2、研究现状Android是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和T-Mobile在内的30多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 Android主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导Android实训报告基于Android游戏开发全文共6页,当前为第2页。Android实训报告基于Android游戏开发全文共6页,当前为第2页。及开发。尚未有统一中文名称,中国大陆地区较多人使用"安卓"或"安致"。Android操作系统最初由AndyRubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 Android实训报告基于Android游戏开发全文共6页,当前为第2页。 Android实训报告基于Android游戏开发全文共6页,当前为第2页。 2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。目前基于Android的移动终端上的软件应用开发很火热,Android平台的开发已越来越强大。 Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。Android操作系统最初由AndyRubin创办,最初只支持手机。2005年由Google收购注资,并拉拢多家制造商组成开放手机联盟(OpenHandsetAlliance)开发改良,逐渐扩展到到平板电脑及其他领域上。 二、实训主要任务、重点及难点2.1、任务认识移动互联

80,479

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧