花了将近一天时间解决D3D12_RAYTRACING_TIER_NOT_SUPPORTED

  标题是个病句.简而言之就是换了3070发现还是不支持Gpu Lightmass.昨天下午开始看,刚才找到问题了.一开始就怀疑DX运行时版本和显卡驱动,排除了这两项.之后对比微软给的DirectX Graphics例子,发现它查询出来D3D12_RAYTRACING_TIER是支持的,而UE的查询出来的就是不支持的.我尝试着对比代码看,使一些不一致的方法一致,还有结构体一致.改了还是不行.后来我想了一下,可能是从错误的dll里加载到了同名方法,当初看<<Windows核心编程>>的时候看过dll这块.接着看调用用到的方法名,发现它的dll是renderdoc.dll的,而不是dxgi.cll的.问题就找到了~花了将近一天时间.接下来看看关键方法给改成从dxgi.dll里直接查询.

  这个问题一方面是经验,一方面是我真的知道dll这回事,所以基础知识还是决定了一切.

  辐射度算法暂停了,转去啃<<PBRT>>了,系统学习一遍PBRT,就像当初学习<<算法导论>>一样,加油!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值