[2012黑莓赛]BB10程序开发初记 [大二THS_201]

 

 一、BlackBerry PlayBook 屏幕之上的坐标形式为:

/ * ********************************************************
* 1.X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。
* 2.OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。
* 3.中心左面的坐标值是负值,右面是正值。
* 移向屏幕顶端是正值,移向屏幕底端是负值。
* 移入屏幕深处是负值,移出屏幕则是正值。
**********************************************************
 

二、故在屏幕上的图标在以下情况下不可见

* **************************************************************************  
* 1.绘图过小。
* 2.旋转的过程中形成了一条线或一个点(其实也是可以看到此线和点的,只是视觉效果已经不够明显)
* 3.在屏幕的深处,也就是Y轴坐标处于负值的那些坐标构成的面。这是觉得看不见的。
* ***************************************************************************/
 

三、顶点数组法绘制图形

/* *******************************************************   
1.用函数开启用数组顶点法绘制图形的功能;
2.调用对应用方法指定顶点数组;
3.调用glDrawArrays开始绘图。
*代码对应如下:
<span style="font-size:14px;">glEnableClientState(GL_VERTEX_ARRAY); 
glVertexPointer(3, GL_FLOAT, 0, cubeVertices); 
glDrawArrays(GL_TRIANGLES, 0, vertexNumber); </span>
*参数注释:
1.GL_VERTEX_ARRAY 表示用glEnableClientState函数开启对应的功能,还有其它的参数,具体可见原函数手册。
2.‘3’ 表示一个顶点由几个数来构成即表示维数,这里3的函数表示这是一个三维图形,一个顶点由三个坐标组成;GL_FLOAT表示顶点的数据类型;‘0’数组中每个顶点间的间隔,步长(字节位移)。取值若为0,表示数组是连续的 初始值为0;cubeVertices表示顶点数组。此函数可见地址:http://blog.csdn.net/ailinty/article/details/6973337
3.GL_TRIANGLES表示绘制图形的形式,此参数表示每三个点绘制一个三角形,之间不连接。第二个参数表示从哪一个点开始绘制;第三个参数vertexNumber表示顶点的“个数”。
* ********************************************************/
 

四、图形的坐标系变换

/* ****************************************************
* 1.glLoadIdentity()
将当前的用户坐标系的原点移到了屏幕中心。
* 2.glTranslatef(x, y, z)
其作用就是将你绘点坐标的原点在当前原点的基础上平移一个(x,y,z)向量。使你绘制的图形坐标都是相对于平移后原点坐标的坐标值。
* 3.glRotatef(angle, x, y, z)
旋转轴经过原点,方向为(x,y,z),旋转角度为angle,方向满足右手定则。
**************************************************************/
 

五、总结

/*********************************************************
在初始化好程序界面之后(用工具函数及库函数,样例中都已经被初始化),就可以用OpenGL函数进行图形的绘制。知道屏幕的坐标形式后可以由图形的几何特点及OpenGL顶点绘图法的方式绘制相应的图形。然后利用图形的坐标变换就可以得到在屏幕任意位置的图形。
*************************************************************/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值