在unity中,着色器编程使用了一列列的HLSL语言变种(也叫作Cg,但是大部分实际上两者都是一样的)。

目前,为了在不同平台下保持最好的跨平台性, 取样贴图时,最好使用DX9风格 的HLSL。

着色器编译器

在内部,不同的着色器编译器用来编译shader:

  • Windows & Microsoft 平台(DX11, DX12 and Xbox One) 使用Microsoft的 HLSL编译器(当前为d3dcompiler_47)
  • OpenGL Core,OpenGL ES 3 & Metal使用的微软的HLSL,通过字节码转化为GLSL或者Metal,使用HLSLcc
  • OpenGL ES2.0 使用hlsl2glslforkglsl optimizer.
  • 其它控制台平台使用它们自己的编译器。
  • 表面着色器 使用Cg 2.2 和 MojoShader 来做代码生产分析步骤

为了万一你真的需要知道到底哪个编译器被使用(比如要使用只被一个编译器支持的HLSL语法,或者遇到编译器BUG),预定义着色器宏命令可以做到。比如,UNITY_COMPILER_HLSL设置了使用HLSL编译器, UNITY_COMPILER_HLSL2GLSL设置使用hlsl2glsl编译器。

最新文章

  1. redis-key2
  2. 产品中 configure/cross compile的一个bug
  3. Linux基本服务命令
  4. CSS content内容生成技术以及应用
  5. SQL服务器名称的更改
  6. 如何在IIS 中配置应用程序(Convert to Application)?
  7. Map获取键值,Map的几种遍历方法
  8. wemall app商城源码Android短信监听接收器
  9. HDU1754 I hate it(线段树 单点修改)
  10. javascript文档节点
  11. 手机端rem如何适配_rem详解及使用方法2
  12. (双指针) leetcode 27. Remove Element
  13. UnicodeEncodeError: 'ascii' codec can't encode characters in position
  14. hdu2552 (浮点数复杂运算的四舍五入)题解
  15. Linux Shell常用技巧(二)
  16. MySQL数据库-错误1166 - Incorrect column name 'xxx' 的解决方法
  17. 偏前端 - 不是固定宽高,页面随设备同比 放大/缩小 展示。不妨看看rem单位,你就有眉目上手做了!!!
  18. 项目笔记:创建XML文件和导出功能
  19. hdu5728
  20. 【译】你对position的了解有多少?

热门文章

  1. Kaggle-pandas(1)
  2. SqlServer 多表连接、聚合函数、模糊查询、分组查询应用总结(回归基础)
  3. Java容器类Collection,List,Set,Map.,Iterator,Collections工具类,Arrays工具类,Comparable
  4. 使用Spock 单元测试
  5. 在Linux系统中安装Tomcat详细教程
  6. C#LeetCode刷题-字符串
  7. Flutter 容器(6) - FractionallySizedBox
  8. AS在安装GitHub时出现错误:Empty git --version output:
  9. Go 中的内联优化
  10. RSA非对称加密(java实例代码)