The glsl-spec Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The glsl-spec Reference Manual

This is the glsl-spec Reference Manual, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:58:27 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

GLSL Spec

This package contains the specification of all functions and variables from GLSL as data.

The functions and variables can be found as s-expressions in functions.lisp & variables.lisp respectively.

The functions and variables can be found as json in functions.json & variables.json respectively.

Rational for this project

Up until now there has been no full machine readable version of the GLSL spec.

My previous effort go part way by parsing the man-pages but failed in that argument types were specified using Khronos's type shorthand (gvec, GenType, etc) which is inconsistant and requires extra logic from programs trying to use it. Also the way versions are specified in the glsl man pages is not trivial to parse.

This project exists purely out of rage.

Bugs

There will some bugs in the above specs partly as some parts were resolved by hand, but also (and more commonly unfortunately) there are errors in the GLSL man-pages. Sometimes it's just an ommision but some are just wrong (2 examples: 0-bool return type 1-version info for cubearray version, which isnt defined)

Together though we can fix this and make a source of data we can be happier with.

More data

I have compiled what, to me, was the most important data from the spec. But it would be lovely to have more. The doc strings would be great, as would info on exactly what stage each function is valid for (this data was not parsable).

Contributions are VERY WELCOME!

Contributing

If you would like to contribute, please do so to the s-expression versions. Don't worry if you aren't used to lisp, just follow the format you find there and you will be fine (it's like json with less syntax anyhoo :])

Ciao

That's it folks, thanks for checking this out and I truly hope this helps you somehow.

Happy Coding!

CHANGELOG


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 glsl-spec

Author

Chris Bagley <techsnuffle@gmail.com>

License

The Unlicense

Description

The GLSL Spec as a datastructure

Source

glsl-spec.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 glsl-spec.asd

Location

glsl-spec.asd

Systems

glsl-spec (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 glsl-spec/package.lisp

Parent

glsl-spec (system)

Location

package.lisp

Packages

glsl-spec


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 glsl-spec/functions.lisp

Dependency

package.lisp (file)

Parent

glsl-spec (system)

Location

functions.lisp

Exported Definitions

*functions* (special variable)


Previous: , Up: Lisp files   [Contents][Index]

3.1.4 glsl-spec/variables.lisp

Dependency

functions.lisp (file)

Parent

glsl-spec (system)

Location

variables.lisp

Exported Definitions

*variables* (special variable)


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 glsl-spec

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: *functions*
Package

glsl-spec

Source

functions.lisp (file)

Special Variable: *variables*
Package

glsl-spec

Source

variables.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   G   L  
Index Entry  Section

F
File, Lisp, glsl-spec.asd: The glsl-spec<dot>asd file
File, Lisp, glsl-spec/functions.lisp: The glsl-spec/functions<dot>lisp file
File, Lisp, glsl-spec/package.lisp: The glsl-spec/package<dot>lisp file
File, Lisp, glsl-spec/variables.lisp: The glsl-spec/variables<dot>lisp file

G
glsl-spec.asd: The glsl-spec<dot>asd file
glsl-spec/functions.lisp: The glsl-spec/functions<dot>lisp file
glsl-spec/package.lisp: The glsl-spec/package<dot>lisp file
glsl-spec/variables.lisp: The glsl-spec/variables<dot>lisp file

L
Lisp File, glsl-spec.asd: The glsl-spec<dot>asd file
Lisp File, glsl-spec/functions.lisp: The glsl-spec/functions<dot>lisp file
Lisp File, glsl-spec/package.lisp: The glsl-spec/package<dot>lisp file
Lisp File, glsl-spec/variables.lisp: The glsl-spec/variables<dot>lisp file

Jump to:   F   G   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions


Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
S  
Index Entry  Section

*
*functions*: Exported special variables
*variables*: Exported special variables

S
Special Variable, *functions*: Exported special variables
Special Variable, *variables*: Exported special variables

Jump to:   *  
S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   G   P   S  
Index Entry  Section

G
glsl-spec: The glsl-spec system
glsl-spec: The glsl-spec package

P
Package, glsl-spec: The glsl-spec package

S
System, glsl-spec: The glsl-spec system

Jump to:   G   P   S