我正在开发一款完全支持GL <2的上网本.这一切都在超过100fps.但是,既然我读过状态机已被弃用,我正试图移动,但这似乎是不可能的.很多函数都没有使用最新的glext.h声明.所以我无法创建着色器程序或至少是VBO.所以我尝试使用glm移动矩阵.但是通过调用glUniformMatrix*v发送一个从glm到ogl的矩阵,这里也没有声明.那么有没有办法在不使用GLSL的情况下"升级"?我不需要任何提示,我只是包括GLSL,因为它是好的和快速的等等,因为我不能使用它,我不能相信没有它是不可能的.
我使用OpenGL Extension Viewer 3检查了扩展名.报告说:
1.1 100%
1.2 100%
1.3 100%
1.4 100%
1.5 66%(不支持:GL_ARB_occlusion_query)
2.0 10%(仅支持:GL_EXT_stencil_two_side)
2.X 0%
3. X 0%
4.X 0%
...仅完全支持GL <= 2.2.(...)但是既然我读过状态机已被弃用,我正试图移动,但这似乎是不可能的.
首先:不推荐使用状态机.已弃用固定功能管道.但是这种变化仅适用于OpenGL-3核心和更进一步.因此,如果您仅限于OpenGL-2,那么固定功能和所有爵士乐仍然可用.
那么有没有办法在不使用GLSL的情况下"升级"?
您确实意识到弃用固定功能管道意味着大致相同:现在,所有事情都发生在着色器上.用GLSL编写的着色器.
GLSL也可以在OpenGL-2中使用.这不是强制性的.
很多函数都没有使用最新的glext.h声明.所以我无法创建着色器程序或至少是VBO.
你需要的不仅仅是glext.h.您还需要一些从OpenGL实现加载高级函数的代码.一个受欢迎的选择是GLEW,可在http://glew.sourceforge.net上找到
我不能用它
好吧,没有开箱即用.但是使用GLEW是一个很好的方法:
#include <GL/gl.h>的#include <GL/glew.h>glewInit();在每个OpenGL上下文创建后立即添加调用.| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |