yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Theresa FoleyAdd skeleton of a language reference. (#4808)e4088cd60

master
1.4 KiB35 linesraw

Note: This document is a work in progress. It is both incomplete and, in many cases, inaccurate.

Introduction

Slang is a programming language primarily designed for use in shader programming, by which we mean performance oriented GPU programming for real-time graphics.

Overview

This document aims to provide a detailed reference for the Slang language and its supported constructs.

The Slang compiler implementation may deviate from the language as documented here, in a few key ways:

  • The implementation is necessarily imperfect, and can have bugs

  • The implementation may not fully support constructs documented here, or their capabilities may not be as complete as what is documented

  • The implementation may support certain constructs that are experimental, deprecated, or are otherwise intentionally undocumented

Where possible, this document will call out known deviations between the language as defined here and the implementation in the compiler.

Terminology

Note: This section is not yet complete.

This section should detail how the document uses terms like "may" and "must," if we intend for those to be used in a manner consistent with RFC 2119.

Typographical Conventions

Note: This section is not yet complete.

This section should clarify how the document displays code fragments, grammar productions, etc.

1> Note: This document is a work in progress. It is both incomplete and, in many cases, inaccurate.
2
3Introduction
4============
5
6Slang is a programming language primarily designed for use in *shader programming*, by which we mean performance oriented GPU programming for real-time graphics.
7
8Overview
9--------
10
11This document aims to provide a detailed reference for the Slang language and its supported constructs.
12
13The Slang compiler *implementation* may deviate from the language as documented here, in a few key ways:
14
15* The implementation is necessarily imperfect, and can have bugs
16
17* The implementation may not fully support constructs documented here, or their capabilities may not be as complete as what is documented
18
19* The implementation may support certain constructs that are experimental, deprecated, or are otherwise intentionally undocumented
20
21Where possible, this document will call out known deviations between the language as defined here and the implementation in the compiler.
22
23Terminology
24-----------
25
26> Note: This section is not yet complete.
27>
28> This section should detail how the document uses terms like "may" and "must," if we intend for those to be used in a manner consistent with [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt). 
29
30Typographical Conventions
31-------------------------
32
33> Note: This section is not yet complete.
34>
35> This section should clarify how the document displays code fragments, grammar productions, etc.