首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HLSL与GLSL,在书写统一着色器中

HLSL与GLSL,在书写统一着色器中
EN

Stack Overflow用户
提问于 2021-01-07 17:03:09
回答 1查看 1K关注 0票数 1

由于支持平台,所以对要使用的阴影语言( HLSL或GLSL )感到困惑。HLSL资源丰富,但我通过网络看到它是DirectX (windows)特有的。如果我计划在android上运行我的应用程序,这会成为一个问题吗?-I不能完全依赖于着色图-

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-07 17:46:10

你可以在Android平台上使用HLSL。来自文献资料

HLSL语法 HLSL语言本身有两个语法:一个是“遗留”的DX9风格的语法,另一个是更现代的DX10+样式语法。 不同之处主要在于纹理采样功能的工作方式:

  • 遗留语法使用sampler2D、tex2D()和类似的函数。这个语法适用于所有平台.
  • DX10+语法使用Texture2D、SamplerState和.Sample()函数。这种语法的某些形式在OpenGL平台上不起作用,原因是纹理和采样器在OpenGL中不是不同的对象。在中,您可以通过使用预定义的宏声明纹理并对纹理进行示例,从而避免HLSL语法平台支持的问题。统一将这些宏扩展到最合适的语法,具体取决于编译着色器的平台.

着色器编译器

不同的平台使用不同的着色器编译器编译着色器程序,如下所示:

  • Windows和微软平台(DX11、DX12和Xbox )都使用微软的HLSL编译器(目前是FXC / D3DCompiler_47)。
  • OpenGL (Core & ES)、Metal和Vulkan使用微软的HLSL,然后使用HLSLcc将字节码转换成GLSL、Metal或SPIR。
  • 其他控制台平台使用各自的编译器(例如,PS4上的PSSL )。
  • 曲面阴影使用HLSL和MojoShader进行代码生成分析。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65616799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档