unity中使用的着色器语言
2024-09-02 17:21:29
在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 使用hlsl2glslfork和glsl optimizer.
- 其它控制台平台使用它们自己的编译器。
- 表面着色器 使用Cg 2.2 和 MojoShader 来做代码生产分析步骤
为了万一你真的需要知道到底哪个编译器被使用(比如要使用只被一个编译器支持的HLSL语法,或者遇到编译器BUG),预定义着色器宏命令可以做到。比如,UNITY_COMPILER_HLSL设置了使用HLSL编译器, UNITY_COMPILER_HLSL2GLSL设置使用hlsl2glsl编译器。
最新文章
- redis-key2
- 产品中 configure/cross compile的一个bug
- Linux基本服务命令
- CSS content内容生成技术以及应用
- SQL服务器名称的更改
- 如何在IIS 中配置应用程序(Convert to Application)?
- Map获取键值,Map的几种遍历方法
- wemall app商城源码Android短信监听接收器
- HDU1754 I hate it(线段树 单点修改)
- javascript文档节点
- 手机端rem如何适配_rem详解及使用方法2
- (双指针) leetcode 27. Remove Element
- UnicodeEncodeError: 'ascii' codec can't encode characters in position
- hdu2552 (浮点数复杂运算的四舍五入)题解
- Linux Shell常用技巧(二)
- MySQL数据库-错误1166 - Incorrect column name 'xxx' 的解决方法
- 偏前端 - 不是固定宽高,页面随设备同比 放大/缩小 展示。不妨看看rem单位,你就有眉目上手做了!!!
- 项目笔记:创建XML文件和导出功能
- hdu5728
- 【译】你对position的了解有多少?
热门文章
- Kaggle-pandas(1)
- SqlServer 多表连接、聚合函数、模糊查询、分组查询应用总结(回归基础)
- Java容器类Collection,List,Set,Map.,Iterator,Collections工具类,Arrays工具类,Comparable
- 使用Spock 单元测试
- 在Linux系统中安装Tomcat详细教程
- C#LeetCode刷题-字符串
- Flutter 容器(6) - FractionallySizedBox
- AS在安装GitHub时出现错误:Empty git --version output:
- Go 中的内联优化
- RSA非对称加密(java实例代码)