欢迎光临散文网 会员登陆 & 注册

[技术贴]iterationT 3.0光影GTX600系及以下显卡兼容问题

2022-08-25 00:37 作者:智乃敲可愛いや  | 我要投稿

大概一个月前iterationT3.0光影也是发布了。但是有一条很显眼的公告

一下子勾引了我的好奇心。一瞬间就打开我老旧的笔记本gt520m立马测试一波。结果也是直接炸掉。

那么我们今天来深挖下iterationT 3.0.0的源代码来尝试解决这个问题。

加载!!!

报错代码

看到这条报错我在想。难道GT520M真的跑不了吗?新凉了一大截。因为这种报错我根本就没遇见过。但是这貌似和以前seus v10.1 / seus v10.2白屏问题差不多啊。既然写着atmosphere,那多少都是大气的问题。

GetSkyRadiance代码

首先看图中代码。我们暂时不管大气报错问题。先直接把与大气有关的输出个空白值跑一下看看。

我尝试把有关代码都替换成了0.0。光照部分替换成了1.0。然后运行试试

运行了一半的iterationT 3.0

OK!工作正常。那么接下来问题是为什么天空部分会导致老显卡报错呢?

继续挖代码。

我们要先知道GetSkyRadiance的引用条件

还记得吗?

还记得这张图吗?里面出问题的部分引用的是atmosphereModel。那我们要找这个atmosphereModel是什么东西。

往下找

即创建这个函数时候

iterationT 3代码

你会发现报错的atmosphere既然和这里对应

我们看到这个图中394行的AtmosphereParameters atmosphere就是用atmosphereModel引用的部分。

那么就是这里出现了问题。但是这里的代码没问题。那我们要找到atmosphereModel这个struct的创建地方。我们继续往下找

atmosphereModel的创建

我们看图中代码可知,atmosphereModel就是在这里创建的。那么这部分的一个显眼的函数,const。这个const可能就是罪魁祸首。因为部分老显卡const用不好会炸掉。那么删除这个const试试。

删除const

那么把上面改的内容全部还原。只删除这个const看看什么效果

重载!!!

然后你猜怎么着?

轻松秒杀

iterationT 3.0.0既然在GT520M上成功运行了。但是帧数感人。然后老显卡也能跑了。

要修改的代码在:

iterationT 3.0.0.zip\shaders\Lib\BasicFounctions\PrecomputedAtmosphere.glsl

相信聪明的你已经成功了。

这里说明下。GT520M这类显卡不要模仿。不然卡成狗。我也是出于好奇的。毕竟这个老笔记本是备用的。所以我只是用来浏览网页看视频等的。不是拿来玩游戏的。所以是没有安装java的。java我在主力机上复制下来的。

我主力机配置是9700kf+2060super。跑这个光影完全没有问题。如何gtx690这种核弹炸的可以试试。模仿了也是帧数感人。这个笔记本是宏基4752g。我就升级过固态和8g内存和win11系统。如果这个光影要有体验。还是升级硬件靠谱。只要修复语法错误,GTS450,GT520M这些显卡都能跑itt3光影。



[技术贴]iterationT 3.0光影GTX600系及以下显卡兼容问题的评论 (共 条)

分享到微博请遵守国家法律