我试图在Amazon EC2实例上运行OpenGl程序。在本地计算机上运行时,它可以正常工作,但是当通过远程桌面运行时程序崩溃,我将其缩小到glCreateShader(GL_VERTEX_SHADER)
调用。
我之前在本地网络中的计算机上运行远程桌面时研究了这个问题,我找到的解决方案是使用断开会话并启动OpenGL exe的批处理脚本。然后,当你重新登录它很好。 tscon 1 /dest:console
不幸的是,当尝试在Amazon实例上运行时,这似乎不起作用。有没有人通过远程连接有任何OpenGL问题的经验?
答案 0 :(得分:2)
glCreateShader
是必须在运行时使用…gl…GetProcAddress
调用获取位置的函数之一。仅当安装的OpenGL驱动程序实际支持该功能时,此调用才会提供有效指针。此外,即使驱动程序支持该功能,您正在使用的设备/ OpenGL上下文可能不支持该功能访问的实际功能。
您必须检查函数地址assert(glCreateShader);
的有效性,并且实际支持该函数(OpenGL版本> = OpenGL-2.0或GL_ARB_vertex_shader
和GL_ARB_fragment_shader
扩展名列表。)
我正在尝试在Amazon EC2实例上运行OpenGl程序。
虚拟机通常没有可用的GPU。如果没有标准Windows安装中的GPU,则无法使用您要求的功能。作为一种解决方法,但是性能大大降低,您可以build并在程序的opengl32.dll
旁边安装Mesa3D .exe
软件光栅化器(不要安装在系统路径中!)。