在win32上用wgl折腾OpenGL 3.3等高版本OpenGL

用GLFW+GLAD库已经好一段时间了。但是我还是觉得GLFW不如原生的win32窗口用着顺手,毕竟win32窗口可以自绘加控件等等,可玩性可谓是很高的。

微软给OpenGL留了套东西,不过可惜,哪怕到了Windows 10,这套API都停留在OpenGL 1.x时代。甚至还是用的CPU渲染。新版本的API藏在显卡开发商提供的程序中,我们需要拿到这些API。

说到这里应该你就熟悉了,这些API有一个库可以帮忙——GLAD。而GLAD通过一个回调来拿到这些函数的地址,这个函数类型(我还是愿意给函数一个类型,正如大部分编译器的类型系统实现那样,因此不纠结细节了~)是GLADloadproc,是gladLoadGLLoader函数唯一的参数(截止至今天,2020-07-13)。了解这些之后,我们需要做的问题就是两个:一是实现这个函数,一个是初始化wgl一系列相关的。我们分步来,下面,假如你已经准备好了一个空窗口,现在我们开始干活吧!

step1. 拿到HDC,准备dll模块句柄

WGL是建立在HDC上的,因此,第一步我们需要拿到HDC。而dll其实是为了方便glad,这个一会会说。

hDC = GetDC(hWnd); 
glInst = LoadLibraryA("opengl32.dll");
if (glInst == NULL)
{
    re
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值