作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有调用的现有代码(OS X、Obj-C、NSOpenGLView):
gluOrtho2D(0.0, newSize.width, newSize.height, 0.0);
它工作正常,只是我收到一个已弃用的函数警告,敦促我改用 GLKMatrix4MakeOrtho()。好的——但是怎么做呢?我似乎甚至找不到那个功能的存在;我包括:
#import <OpenGL/gl.h>
#import <OpenGL/glu.h>
并且 Xcode 不知道该名称的函数。我的 OpenGL 引用手册没有提到它,或者实际上没有提到任何带有前缀 GLK 的函数;那里发生了什么事?然后,如果我设法找到该函数并包含正确的 header 并链接到我需要链接的任何内容,那么什么是 GLKMatrix4MakeOrtho() 的等效调用,它会做与我的 gluOrtho2D() 调用相同的事情?我尝试使用谷歌搜索,发现很多点击显示其他人也收到同样的弃用警告,但我找不到任何人说如何修复它...
最佳答案
GLKMatrix4MakeOrtho()
所需的包含是:
#include <GLKit/GLKMatrix4.h>
然后使用与 glOrtho()
相同的参数调用该函数,例如:
GLKMatrix4 orthoMat = GLKMatrix4MakeOrtho(-1.0f, 1.0f, -1.0f, 1.0f, -1.0f, 1.0f);
如何使用它取决于您使用的 OpenGL 类型。对于传统矩阵堆栈的固定功能,您可以使用例如:
glLoadMatrix(orthoMat.m);
使用可编程管道,您通常会将其作为统一加载:
glUniformMatrix4fv(loc, 1, GL_FALSE, orthoMat.m);
关于macos - 如何修复我不赞成使用的 gluOrtho2D()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30361168/
我是一名优秀的程序员,十分优秀!