https://github.com/shader-slang/slang
Raw File
Tip revision: afe41a6c994a684cd646b4432a285ef959d0716b authored by Tim Foley on 27 June 2017, 21:43:53 UTC
Merge pull request #47 from tfoleyNV/import-subdir
Tip revision: afe41a6
README.md
# Slang

[![AppVeyor build status](https://ci.appveyor.com/api/projects/status/3jptgsry13k6wdwp/branch/master?svg=true)](https://ci.appveyor.com/project/shader-slang/slang/branch/master)

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
back to top