问题

MAC平台几何着色器不生效

解决步骤

  1. unity shaderlab 怎么设置以至于支持几何着色器
  2. 找原因,设置 编译目标级别,#pragma target 4.0, 不管用
  3. 看到一句话,Unity 在 Metal 图形上支持曲面细分着色器,但 Metal 不支持几何着色器
  4. 找到mac和ios平台使用的是Metal标准的图形api
  5. 遂查询是否有其他的图形 API, 发现 mac和ios还支持 OpenGL
  6. 在Unity中编写的Shader最终会根据不同的平台来编绎成不同的着色器语言,官方的建议是用Cg/HLSL来编写,当然也可以使用GLSL,主要是因为Cg/HLSL有更好的跨平台性,更倾向于使用Cg/HLSL来编写Shader程序。
  7. Shader编程语言
  • 基于OpenGL的OpenGL Shading Language,简称GLSL。
  • 基于DirectX的High Level Shading Language,简称HLSL。
  • 还有NVIDIA公司的C for Graphic,简称Cg语言。
  1. URP 通用渲染管线使用HLSL
  2. unity是否可以指定 graphics API
  3. 打开 Player 设置(菜单:Edit > Project Settings,然后选择 Player 类别)。 导航到 Other Settings 并确保选中 Auto Graphics API

参考链接

--完--