Nig*_*Kn8 0 opengl directx winapi include
通过此链接获取在DirectX中我可以简单地添加以下行:
#include <d3d11.h>
#include <d3dx11.h>
#include <d3dx10.h>
#pragma comment (lib, "d3d11.lib")
#pragma comment (lib, "d3dx11.lib")
#pragma comment (lib, "d3dx10.lib")
...
Run Code Online (Sandbox Code Playgroud)
指定我想要编写的'最新'DX版本.如何在OpenGL中实现这一点,以便我可以确保在编码时使用最新的GL库.我#define
在代码中使用的某些东西或我的GL函数是否会决定OpenGL的版本?
在c ++或其他软件中是否有一种方法可以告诉我的.exe程序使用的是什么版本的openGL?
这不是OpenGL的工作原理; OpenGL是不是你静态链接到(或者更确切地说,这是不是所有你需要做的).您必须(通常来说)动态加载您使用的OpenGL函数.这通常通过使用某种类型的OpenGL加载库来完成,从而将其缩减为#including标头并在初始化期间调用函数(在创建OpenGL上下文之后).
您使用的OpenGL的"版本"取决于您的实现支持的版本以及您选择使用的功能/枚举.如果您的代码是针对OpenGL 3.3编写的,但您的实现支持4.1,那很好; 它向后兼容3.3.
有一些方法可以询问提供OpenGL的OpenGL版本,但这是一个运行时查询,而不是编译时构造.您可以在上下文创建时显式请求版本(大于或等于您要求的版本),如果实现不支持该版本,则会导致上下文创建失败.
这使您的代码更灵活.例如,您可以编写程序的可选部分,这些部分可以提供更多功能,例如,如果OpenGL 4.1可用,但默认为3.3.您将不必使用两个(某种程度上)不同的API,或构建合并其公共元素的抽象.您只需在代码中的某个位置验证4.1是否已提供,如果是,则调用其他一些函数.否则,你做3.3的东西.
归档时间: |
|
查看次数: |
106 次 |
最近记录: |