From fcf83dbf9effab3bd98bad2b83b2468b7eb05cfd Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Fri, 9 Jun 2017 11:34:21 -0700 Subject: Initial import of code. --- README.md | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index a6414ad85..66c753bb0 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,38 @@ -# slang -Making it easier to work with shaders +# Slang + +Slang is a library for compiling real-time shader code. +It can be used with either existing HLSL or GLSL code, or with code written directly in Slang. +The library provides a variety of services that application developers can use to put together the shader compilation workflow they want. + +Services provided by the Slang library include: + +* Slang can scan ordinary HLSL or GLSL code that neglects to include `register` or `layout` bindings and "rewrite" that code to include explicit bindings for all shader parameters. This lets you write simple and clean code, but still get deterministic binding locations. + +* Slang provides a full reflection API for shader parameters, with a uniform interface across HLSL, GLSL, and Slang. The reflection system does not silently drop unused/"dead" parameters, and it can even be used on libraries of shader code without compiling any entry points. + +* *Work in progress:* Slang supports cross-compilation of either HLSL or Slang code to GLSL. + +* You can directly get HLSL or GLSL source code as output from Slang, or you can let the library invoke lower-level code generation for you to get back DXBC or SPIR-V (DXIL support to come). + +## Documentation + +TODO + +## Getting Started + +TODO + +## Testing + +TODO + +## Contributing + +TODO + +## Contributors + +* Yong He +* Haomin Long +* Teguh Hofstee +* Tim Foley -- cgit v1.2.3