从OpenGL开始-几个问题 我想开始在OpenGL和C++中编码,我有几个问题:

从OpenGL开始-几个问题 我想开始在OpenGL和C++中编码,我有几个问题:,c++,opengl,C++,Opengl,1.我应该使用OpenGL 4.2还是3.x?OpenGL 4.x在Nvidia GTX 400+上运行。这意味着它得到了广泛的支持,还是我应该选择3.x 2.我在Windows SDK中找到了一些标题和库,但不是全部。是否有任何地方可以找到OpenGL的所有库和标题?我想避免的是从互联网上下载旧的和不同的版本 3.OpenGL是否涵盖输入,或者这是GDI+/WinAPI的一部分 你应该去做你想支持的事情。主要的OpenGL版本(3,4)通常用于识别硬件版本,而次要版本实际上是针对功能发布的,应

1.我应该使用OpenGL 4.2还是3.x?OpenGL 4.x在Nvidia GTX 400+上运行。这意味着它得到了广泛的支持,还是我应该选择3.x

2.我在Windows SDK中找到了一些标题和库,但不是全部。是否有任何地方可以找到OpenGL的所有库和标题?我想避免的是从互联网上下载旧的和不同的版本

3.OpenGL是否涵盖输入,或者这是GDI+/WinAPI的一部分

  • 你应该去做你想支持的事情。主要的OpenGL版本(3,4)通常用于识别硬件版本,而次要版本实际上是针对功能发布的,应该独立于您的硬件。例如:我现在有4.2的功能,而这在我买这个GPU时根本不存在。因此,您可以计算最新的驱动程序将支持最新的次要版本。但是,无论您如何尝试,您的GPU都无法通过驱动程序更新获得新的硬件功能。请注意,一个棘手的部分是,并非所有的GPU仍然受支持。这意味着驱动程序更新不再被配置,它们可能会停留在某个较小的OpenGL版本上
  • 有一些包装器可以为您做大多数事情,但不要忘记,您仍然需要链接到
    gl
    ,可能还有
    glu
    库和一些特定于平台的库。我个人喜欢,glload是你想要的库。其他库也非常有用
  • OpenGL不包括输入,它只是用于绘图。还请注意,OpenGL不会为您创建默认帧缓冲区。默认帧缓冲区是渲染到的对象(通常在窗口中)。这是由特定于平台的函数完成的,对于windows来说是这样的

  • 对不起,一定是拼错了。我要纠正它!几个月前我用SDL来做这个。我甚至实现了模具阴影,但缺少一些基本的东西。此外,我还想使用普通/原始包含和库,如GL.lib、GL.h、glu.h、glut.h等,所以也许我应该使用OpenGL 3.x。你能告诉我一个很好的最新标题/库的集合吗?从gl到glut都有。如果你想支持旧的硬件,我建议使用我目前使用的opengl 2.1。你可以很容易地使用glsl,这是一种着色语言,你可以为你的游戏建立非常好的图形。如果你问我,支持旧的硬件是最重要的。@DevilsChild:在你的程序中使用的标题由
    glload
    提供。OpenGL头文件和库(它使用的)的安装依赖于平台,所以不,我帮不上忙。但是看看opengl.orgAs上的平台,我正在寻找仅适用于Windows的标题和库。另外,我对使用glload有一种不好的感觉。我宁愿坚持做一些正式的事情。所有库和头都必须有某种初始源代码,不是吗?@DevilsChild:glload只是一个“包装器”,为您加载许多opengl扩展(您在windows上确实需要这些扩展)。您可以手动执行此操作,但随后您将陷入痛苦和维护的地狱。glload和glew等替代品已经过尝试和测试,它不仅仅是我喜欢的一个库,很多人都在使用它。