gpt4 book ai didi

c++ - 在角度为 : glLoadIdentity and glOrtho undefined 的通用 Windows 应用程序中使用 OpenGL

转载 作者:太空宇宙 更新时间:2023-11-04 13:03:49 35 4
gpt4 key购买 nike

我目前正在尝试将现有的 OpenGL 代码改编为通用 Windows 应用程序,使用应该将 OpenGL 调用转换为 DirectX 的 Angle 组件。给我带来问题的一个基本功能是纹理中四边形的全屏显示(以便将着色器应用于该四边形)。常规的 OpenGL 代码很简单:

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-viewWidth, viewWidth, -viewHeight, viewHeight, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
my_quad.RenderObject();

(RenderObject 为顶点和纹理坐标绑定(bind)适当的缓冲区,然后调用 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 文件夹中的 header (gl2.h、glext.h 和 gl2platform.h)未定义它们。

最佳答案

角度仅支持 OpenGL-ES 2.0 和 3.0(3.1 正在进行中)。由于 OpenGL-ES 2.0 删除了整个固定功能管道,因此您使用的功能在 OpenGL-ES 2.0 或更高版本中不可用。看看 OpenGL-ES 2.0 Reference .

关于c++ - 在角度为 : glLoadIdentity and glOrtho undefined 的通用 Windows 应用程序中使用 OpenGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43161581/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com