bgfx入门练习1——切换图形API驱动模式DX与OpenGL

翻了下上次编译bgfx是去年2月份的事了,最近正好想试试DX,OpenGL双驱动,看Urho3D和Klayge光封装就头痛,人又懒,写OpenGL时也基本glfw,于是想到bgfx,不如再试试。

发现官方Gayhub上更新了几个例子Example,比较烦的这货从来不发布Release,底下不拉不拉写一堆人在用他的库,但是就没一个人反映下这事?

不发个版本号谁知道你每次更新了毛,每个版本间有什么变动,干他娘。

不抱怨了,发现最近牢骚多,有怨妇倾向...

说回主题,相信很多人和我一样,一上来就有点懵逼,这些例子到底是跑在DX还是OpenGL下的?

简单的跟了一下,思路是在bgfx工程src源码下,发现有renderer_d3d9,d3d11和gl等驱动文件,找到

init(函数,下个断点,果不其然断在DX11上了,在我Win7下面是跑在DX11上的,搜了下renderer相关,发现

config.h头部写了这些驱动的判定,如果什么都没定义,就怎么怎么样,但是这样还是没找到具体在哪定义的DX11的。

接着搜了会发现这些驱动在一个叫s_rendererCreator的数组中,搜索这个数组,来到bgfx.cpp

rendererCreate()函数

在if (s_rendererCreator[ii].supported)这句下断点,跟了下,就知道写了个评估算法,score最高的是DX11。

至此知道DX11的由来。

然后再回到config.h头部,加上一句

#define BGFX_CONFIG_RENDERER_OPENGL 1

再看DX11 renderer处已经变灰,并且OpenGL也能断下来了,可以确定是跑在OpenGL下了。

最后在第24个例子nbody上编译运行一下也正常,说明这个nbody是DX,OpenGL都能跑的。

收工,有时间再研究下这个自定义shader到底怎么写,hlsl还是glsl还是什么鬼的。

转载于:https://www.cnblogs.com/kileyi/p/8231168.html

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值