水面浮力插件:fast Buoyancy 打包shader报错maximum temp register index exceeded

 

“OceanAdvanced”  Shader打包报错但是在编辑器中运行完全正常

 

maximum temp register index exceeded

Compiling Fragment program with DIRECTIONAL SHADOWS_SCREEN

Platform defines:

UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS

UNITY_PBS_USE_BRDF1

UNITY_SPECCUBE_BOX_PROJECTION

UNITY_SPECCUBE_BLENDING

UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP

UNITY_COLORSPACE_GAMMA

原因是着色器中有太多的全局变量

 

 

DX9.0c级别的显卡只有256个全局寄存器,之前的版本更少,而一个矩阵就要占用4个,所以全局变量要省着用

解决方法:

将Nature/OceanAdvanced.shader中的#define NB_INTERACTIONS 64 改成

#define NB_INTERACTIONS 32

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值