ios – 如何在OpenGL ES 2.0中实现glOrthof

我试图将我的OpenGL ES 1应用程序转换为OpenGL ES 2应用程序,以便能够使用着色器.现在我使用glOrthof函数来获得“真实大小的视口”,这样我就可以将顶点放在OpenGL视图中的“实际”像素上.
glOrthof(0,_frame.size.width,_frame.size.height,-1,1);

我无法在OpenGL ES 2中找到如何实现这一点,是否有人可以告诉我如何做到这一点?

如果没有,有没有人有一个良好的OpenGL ES 1到OpenGL ES 2教程/解释的链接

解决方法

glOrtho方法除了创建一个新矩阵并将当前投影矩阵乘以该矩阵之外别无其他.使用OpenGL ES 2.0,您必须自己管理矩阵.为了复制glOrtho行为,您需要在顶点着色器中为投影矩阵提供一个均匀,然后将顶点乘以.通常你也有一个模型和一个视图矩阵(或一个组合的模型视图矩阵,就像在OpenGL ES 1中一样),你可以在投影变换之前转换你的顶点:
uniform mat4 projection;
uniform mat4 modelview;

attribute vec4 vertex;

void main()
{
    gl_Position = projection * (modelview * vertex);
}

glOrtho构造的特定投影矩阵可以找到here.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...