The Opengl ES® Shading Language, Version 3.20.6
Total Page:16
File Type:pdf, Size:1020Kb
The OpenGL ES® Shading Language, Version 3.20.6 Robert J. Simpson, Qualcomm (Editor), John Kessenich, Google (Editor), Dave Baldwin and Randi Rost (Version 1.1 Authors) Version 3.20.6, Wed, 10 Jul 2019 20:43:52 +0000 Table of Contents 1. Introduction. 2 1.1. Changes . 2 1.2. Overview. 5 1.3. Error Handling . 5 1.4. Typographical Conventions . 6 1.5. Compatibility . 6 2. Overview of Shading . 8 2.1. Vertex Processor . 8 2.2. Tessellation Control Processor . 8 2.3. Tessellation Evaluation Processor . 9 2.4. Geometry Processor . 9 2.5. Fragment Processor . 9 2.6. Compute Processor. 9 3. Basics. 11 3.1. Character Set . 11 3.2. Source Strings . 11 3.3. Version Declaration . 12 3.4. Preprocessor . 13 3.5. Comments. 18 3.6. Tokens . 18 3.7. Keywords . 19 3.8. Identifiers . 22 3.9. Definitions . 23 3.10. Logical Phases of Compilation. 24 4. Variables and Types. 26 4.1. Basic Types. 26 4.2. Scoping . 41 4.3. Storage Qualifiers . 45 4.4. Layout Qualifiers . 60 4.5. Interpolation Qualifiers . 83 4.6. Parameter Qualifiers . 84 4.7. Precision and Precision Qualifiers . 84 4.8. Variance and the Invariant Qualifier . 90 4.9. The Precise Qualifier . 92 4.10. Memory Qualifiers . 96 4.11. Specialization-Constant Qualifier. 99 4.12. Order and Repetition of Qualification. 100 4.13. Empty Declarations . 101 5. Operators and Expressions . 102 5.1. Operators . 102 5.2. Array Operations . 103 5.3. Function Calls . 103 5.4. Constructors. 103 5.5. Vector Components . 108 5.6. Matrix Components . 109 5.7. Structure and Array Operations . 110 5.8. Assignments. 111 5.9. Expressions . 112 5.10. Vector and Matrix Operations. 114 5.11. Specialization-Constant Operations. 116 5.12. Evaluation of Expressions . ..