首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络协议 >

OpenGL ES ,WinCE平台的简单的画点有关问题/涉及投影矩阵

2012-02-21 
OpenGL ES ,WinCE平台的简单的画点问题/涉及投影矩阵[codeC/C++][/code]GLfloat pVertex2[]{Float2Fixed

OpenGL ES ,WinCE平台的简单的画点问题/涉及投影矩阵
[code=C/C++][/code]
GLfloat pVertex2[]={
Float2Fixed(1.5f), Float2Fixed(0.0f), Float2Fixed(1.6f), Float2Fixed(0.0f), Float2Fixed(1.6f), Float2Fixed(0.7f), 
Float2Fixed(1.5f), Float2Fixed(0.0f), Float2Fixed(1.6f), Float2Fixed(0.7f), Float2Fixed(1.5f), Float2Fixed(0.7f), 

Float2Fixed(1.6f), Float2Fixed(0.0f), Float2Fixed(1.9f), Float2Fixed(0.0f), Float2Fixed(1.9f), Float2Fixed(0.1f), 
Float2Fixed(1.6f), Float2Fixed(0.0f), Float2Fixed(1.9f), Float2Fixed(0.1f), Float2Fixed(1.6f), Float2Fixed(0.1f), 
};

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//glPerspectivef( 3.141592654f/4.0f, 1.33f, 0.01f, 1000.0f );//坐标系1
glFrustumf(-8.0f, 8.0f, -4.8f, 4.8f, 0.01f,1000.0f);//坐标系2
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

glClear(GL_COLOR_BUFFER_BIT);
glColor4f(1.0f,0,0,1.0f);

glDisable(GL_BLEND);

glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);//禁用颜色数组、

glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(2,GL_FIXED,0,pVertex2);

glPushMatrix();
glTranslatef(0,0,-0.110001f);
//glRotatef(90,0,0,1);
//glScalef(0.1f,0.1f,0.1f);
glPointSize(3.0f);
glDrawArrays(GL_POINTS,0,12);//count绘制多少个点?一共156个点,每个点两个坐标值,helloVertex共312个数据
glPopMatrix();
glFinish();
EGLFlush();

只有当点的坐标是(0,0)的时候能在屏幕正中画上一个点,其他的都画不上,有没有人给讲下这个原理,最好详细讲下glFrustumf函数的设置,
本来以为明白了,一用又糊涂了。
奇怪的时,那十二个点是从一个HELLOEGL的例子里截取出来的,也就是里面的一个L的坐标,用全部的点画三角形的时候可以画出来HELLOEGL,但是画点的画只能画几个点,明显很少,现在单纯把L字母的坐标拿出来,一个点也没有了。。
搞不清楚哪里错了,明白的讲下哈。 谢谢了,欢迎围观

[解决办法]
顶下,来个人哈
[解决办法]
顶一下,我也在学习OpenGL ES 正郁闷中呢,能有机会请教楼主吗?QQ:272685110

热点排行