opengl es 1.x坐标转换

开发2D游戏的时候,opengl的坐标系统的原点在窗口左下角,与其他的坐标系统不一致。我使用下面的方法来进行转换:

    glViewport(0, 0, backingWidth, backingHeight);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	glOrthof(0, (float)backingWidth, 0, (float)backingHeight, 0, 100);
	/*
	 改变坐标系方向为windows的坐标系
	 (0,0)---x++
	 |
	 |
	 |
	 y++
	 */
	glTranslatef((float)0, (float)backingHeight, 0);
	glRotatef(180.0f, 1.0f, 0.0f, 0.0f);
	
	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();
       

上面的方法对opengles 1.x是有效果的,2.0使用GLSL的话,貌似没有效果(我在一个未发布的手机的sdk上进行测试的,不过,也可能是sdk的问题,因为sdk还是beta版本,里面问题多多)。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据