pragma target 3.0

发布于 2016-11-24 15:52:33 字数 108 浏览 1373 评论 6

某个Shader中添加了如下指令:

pragma target 3.0

那么当此Shader在不支持此特性时会自动Fallback到pragma target 2.0吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

偏爱自由 2020-06-15 08:20:25

从题主的截图中可以看到,在没有使用Replace Shader的时候,Plane渲染了两次,一次是自身Shader,一次是Projector Shader。在使用了Replace Shader之后,FrameDebugger里面看到Plane只渲染了一次,应该是Projector没有生效。因为只有Opaque的那个SubShader起作用了,所以FrameDebugger里面看到的是“ Blend One Zero , ZWrite On”,这个是正常的,只是跑到半透明渲染队列里面去了,这个不太正常。我尝试把题主的Replace Shader里面的两个SubShader调换了一下顺序,结果又跑到不透明渲染队列里面去了。。。
在google里面搜索了一下,发现Unity论坛里面有2个帖子跟题主的问题比较相关,https://forum.unity.com/threads/replacement-shaders-and-projectors.291275/,这个帖子里有提到说Unity5.6.4使用了Replace Shader就不支持Projector。
https://forum.unity.com/threads/projectors-and-replacement-shaders.463452/,这个帖子说是因为之前有个Bug,Replace Shader会使受到Projector影响的物体即使Tag不匹配也进行渲染,所以Unity修bug把Projector改成使用了Replace Shader就不起作用了。。。

瑾兮 2019-10-20 17:59:52

https://docs.unity3d.com/Manual/SL-ShaderCompileTargets.html

When writing either Surface Shaders or regular Shader Programs, the HLSL source can be compiled into different “shader models”. To allow the use of more modern GPI functionality, you must use higher shader compilation targets.

Note: Using higher shader compilation targets may prevent the shader from working on older GPUs or platforms.

题主可以自己理解下,我的理解和体会是,如果不支持的指令或者特性,不会fallback,会直接粉红……

晚风撩人 2018-09-26 20:10:34

随手贴上之前一个问题的回答:
关于 工程里的 Graphics API 的选择问题
shader target其实本身就是一个由Unity抽象出来的概念(或者说是参照DX的Shader Model抽象出来的概念),实则对应的是Graphics API。它同样不仅代表了api的变化,也代表了硬件能力的提升。
说句不好听的,你要使用shader target 3.0的vertex texture sampling,还指望Unity帮你在shader target 2.0的机器上自动转换成pixel texture sampling?

当然,最好的办法就是自己指定了fallback。

想挽留 2017-12-06 16:11:27

目前的思路 只能 参考一个简化迷雾的方式,

因为这边地图还算平, 所以可以用这个方式。

和地面一样高度放个mesh面片, 然后shader渲染层级 调成这样:
Tags{ "Queue" = "Transparent+150" "IgnoreProjector" = "True" "RenderType" = "Transparent" }

这么想来 这个方式稍微改改,还能做简单的多云天气效果。 (混合方式可能还有改改,美术说建筑有些颜色失真)


Shader "Studio1/Flow2"
{
 Properties
 {
  _MainTex ("Texture
甜柠檬 2017-09-27 17:36:55

~~~~~~~~

感谢!看来只能去找找看别的投影方案了

想挽留 2017-05-19 08:28:20

有没有可能是设置问题,开启Linear的时候,下面会报一行warning。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文