当前位置: 首页 > news >正文

GLSL 代码规范

文件

  • 文件顶点,片段,几何和计算着色器文件应该分别有 _vert _frag, geom_comp 后缀(例如: eevee_film_fragg.glsl)。
  • Shader文件名必须是唯一的,并且必须以它们所属的模块作为前缀(例如: workbench_material_lib.glsl eevee_film_lib.glsl)。
  • 一个 shader 文件必须包含且只有一个 main() 函数。如果一个着色器文件不包含 main() 函数,它被认为是一个 着色器库,并且必须在其文件名中有 _lib 后缀。
  • 将多个着色器之间共享的代码放入库文件中。

命名

  • 对全局变量和函数使用描述性名称。
  • 命名应该遵循 snake_case 约定。唯一的例外是类名(例如: ViewMatrices)。
  • 鉴于 GLSL 只有一个全局名称空间,请将 _lib.glsl 中所有的函数名添加 库名 作为前缀(例如: workbench_curvature_lib.glsl 中的 curvature_soft_clamp)。
  • 在变量名的开头使用通用词,在后缀中使用特定词。按字母顺序排序。
  • 不要使用像 sampler 这样的保留关键词。
http://www.lryc.cn/news/68955.html

相关文章:

  • 红黑树封装map和set
  • python序列
  • LeetCode35. 搜索插入位置(二分法入门)
  • macOS Ventura 13.4 RC3(22F66)发布
  • CSI和DSI介绍
  • vue3+antDesignVue前端纯导出
  • 卷积神经网络的剪枝及其在嵌入式视觉系统中的应用
  • Spring IOC - Bean的初始化
  • Golang 安装
  • ( 位运算 ) 338. 比特位计数 ——【Leetcode每日一题】
  • Unity之新版输入系统InputSystem入门
  • python 之 logging的使用
  • gunicorn常用参数命令
  • TimerResolution.exe
  • Qt魔法书:打造自定义鼠标键盘脚本
  • 〖Python网络爬虫实战㉖〗- Selenium库和ChromeDriver驱动的安装
  • U8产成品入库API接口 --参照生产订单/产品检验/不良品
  • gdb打印的堆栈有些函数是??()是什么
  • 【Jmeter第三章】Jmeter给请求添加请求头
  • WebApi必须知道的RestFul,Swagger,OAuth2.0
  • 【网络编程】demo版UDP网络服务器实现
  • C++的stack和queue
  • C++ RAII机制
  • AI模型部署概述
  • 【Rust 日报】2023-05-17 pgx -- 用于在 Rust 中开发 PostgreSQL 扩展的框架
  • 二十、Zipkin持久化链路跟踪
  • 大学毕业设计这样做可以吗
  • NSUserDefaults
  • Windows下通过cwRsync备份到服务器服务器之间使用rsync备份传输
  • IS420UCSBH4A 用于高速应用中的Mark VIe系列