在通用Windows应用程序中使用OpenGL,角度:glLoadIdentity和glOrtho undefined
Using OpenGL in Universal Windows App with Angle : glLoadIdentity and glOrtho undefined
我目前正在尝试将现有的OpenGL代码改编为通用Windows应用程序,使用Angle组件,该组件应该将OpenGL调用转换为DirectX。给我带来问题的一个基本函数是纹理中四边形的全屏显示(以便将着色器应用于该四边形(。常规的OpenGL代码很简单:
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-viewWidth, viewWidth, -viewHeight, viewHeight, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
my_quad.RenderObject();
(RenderObject 绑定顶点和纹理坐标的相应缓冲区,然后调用 glDrawElements(。
该代码使用 OpenGL 和 Glut 在常规 Win32 应用程序中构建并运行良好。尝试在 Angle+UWP 中使用相同的代码时,编译器会返回基本函数的生成错误:
error C2065: 'GL_PROJECTION': undeclared identifier
error C3861: 'glMatrixMode': identifier not found
error C3861: 'glLoadIdentity': identifier not found
error C3861: 'glOrtho': identifier not found
error C2065: 'GL_MODELVIEW': undeclared identifier
error C3861: 'glMatrixMode': identifier not found
error C3861: 'glLoadIdentity': identifier not found
error C2065: 'GL_TEXTURE_ENV': undeclared identifier
error C2065: 'GL_TEXTURE_ENV_MODE': undeclared identifier
error C2065: 'GL_MODULATE': undeclared identifier
error C3861: 'glTexEnvf': identifier not found
我对OpenGL ES不太熟悉(显然(,但根据教程,应该支持glLoadIdentity等函数。我错过了什么吗?Angle 文件夹中的标头(gl2.h、glext.h 和 gl2platform.h(没有定义它们。
Angle 仅支持 OpenGL-ES 2.0 和 3.0(3.1 正在进行中(。由于 OpenGL-ES 2.0 删除了整个固定函数管道,因此 OpenGL-ES 2.0 或更高版本无法使用您正在使用的任何函数。查看 OpenGL-ES 2.0 参考。
相关文章:
- 从函数角度看ID到文件路径的内部与外部映射
- 如何在 ORB 检测 OpenCV ++ 中获取校正角度?
- 给定一个枢轴点,按照它们与枢轴点构成的角度递增顺序对一组点进行排序
- 如何找到两个棋盘平面之间的角度?
- 函数局部静态变量:从性能角度来看的优点/缺点
- 为什么我的有线球体在平移和更改相机角度时会变成椭球体?
- 在 c++ 中将角度的正弦值作为双精度
- 特征:矢量3ds之间的快速平均角度
- 角度在Qt.5.9.1中的使用
- 3点之间的角度数学解释
- GLM 角度轴错了?
- 使用 OpengGLES2(角度)从帧缓冲区对象读取
- 计算每个维度的两个 3D 矢量之间的角度
- 使用退货;对于初学者,从不同的角度来看 c++
- OpenCV:按一定角度旋转点:溶液中的偏移/偏移
- 从新手的角度解构C++代码块
- 有效识别给定角度角度的轴四分之一
- 问:如何使用开关通过角度知道三角形是否有效
- 从n的角度来看,该算法的复杂性是什么
- 在圆上找到一个角度的RGB颜色