项目作者: UniversalShading

项目描述 :
🧊 Language Specification for Universal Shading Language (In Progress)
高级语言:
项目地址: git://github.com/UniversalShading/spec.git
创建时间: 2020-07-29T14:27:35Z
项目社区:https://github.com/UniversalShading/spec

开源协议:Creative Commons Zero v1.0 Universal

下载


🧊 Universal Shading Language 🫧

Universal Shading Language (USL) is new language for shading. .usl extension can be used for USL files.
The main goal of USL is simplfy shaders,
provide mixins (expecially for common tasks) and translate universal language to vendor specific shaders.

For instance, a simple shader that is written in USL can be compiled/translated to GLSL, HLSL or Mesal Shading Language (MSL)…
This will help to write platform independent portable shaders.
This is the main goal of the USL language.

Also a VM will be provided, so shaders will be able to run on CPU or GPU (by translated to GLSL, HLSL, MSL, SPIR-V…). USL will also provide library machanizm like Metal or better than Metal.

Shader caching will also be provided by utilities or Database. Shaders can also be ASCII or binary…

Expected Features

  • You must be able to write shader faster
  • Utilitis, mixins, functions… will be provided for common tasks, shading models…
  • Cross platform, platform independent shaders
  • USL can be translated/compiled GLSL, HLSL, MetalSL, Spir-V and its own IL
  • VM will be provided
  • Compiler will be privided as library and as tool
  • Shader caching will be provided with a library
  • Shader library will be supported
  • Lot of utilities, mixins, tools, documentations……. will be provided
  • Provide/Generate enough information about static samplers like Metal after compilation of USL to allow creating implicit root signature or implicit parameters of root signature for pipeline

Proposals

  1. Syntax Proposals