You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity Sobel边缘检测Shader还原代码后仍提示GPU不支持如何解决

核心问题原因

你当前Shader代码中包含#pragma exclude_renderers d3d11指令,会强制排除Direct3D 11渲染API,而Unity Windows平台默认使用D3D11作为渲染API,没有可用的适配子着色器,因此抛出对应GPU不支持的报错。你还原Shader时保留了这行限制代码,所以回滚版本后报错依然存在。

解决步骤

  • 删除#pragma exclude_renderers d3d11这行代码,无特殊适配需求不要手动添加排除渲染器的指令
  • 在SubShader块结束后、整个Shader块结束前添加一行Fallback "VertexLit",作为子着色器适配失败时的兜底逻辑
  • 清理Unity编译缓存:可直接删除项目根目录下的Library文件夹后重启Unity,触发全量资源重新编译
  • 检查项目渲染API配置:打开Edit > Project Settings > Player > Other Settings > Rendering,确认你使用的渲染API没有被Shader中的排除指令拦截

额外注意事项

该Shader用于深度采样的逻辑本身无语法错误,修复适配问题后如果出现深度采样全黑的情况,可检查相机组件的Depth Texture Mode配置,需要设置为Depth或Depth Normals才会正常生成_CameraDepthTexture深度纹理。

内容的提问来源于stack exchange,提问作者Leonardo Poljak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 02:15:04