Difference between revisions of "Shading languages"

From OpenGL.org
Jump to: navigation, search
(This page is about shaders, not arbitrary techniques. We have a category page for that: Rendering Techniques)
Line 17: Line 17:
 
|-
 
|-
 
| valign="top" width="50%" colspan="2" |{{Text Block|[[Texture Sampling]]|This section looks at what happens when you sample a texture.}}
 
| valign="top" width="50%" colspan="2" |{{Text Block|[[Texture Sampling]]|This section looks at what happens when you sample a texture.}}
|-
 
| valign="top" width="50%" colspan="2" |{{Text Block|[[Skeletal Animation]]|Also called bone based animation, bone animation.}}
 
|-
 
| valign="top" width="50%" colspan="2" |{{Text Block|[[Keyframe Animation]]|Keyframe Animation : blending vertices and normals on the GPU.}}
 
 
|-
 
|-
 
| valign="top" width="50%" colspan="2" |{{Text Block|[[Geometry Shaders]]|Geometry Shaders.}}
 
| valign="top" width="50%" colspan="2" |{{Text Block|[[Geometry Shaders]]|Geometry Shaders.}}

Revision as of 13:30, 25 October 2009


Shading languages: General

All shading languages share common features and pretty much do the same thing with more or less restrictions/flexibility, for example all have vertex and fragment shaders with fixed functionality in between, all support vector types as a fundamental type and all generate interpolated fragments for the fragment program input from the vertex program output. Before delving into the details of any one language one should first understand what a shading language does in general and where it fits/what it replaces in the overall graphics pipeline.

Shading languages: GLSL

This section discusses the OpenGL Shading Language, or GLSL.

Shading languages: Cg

This section discusses NVidia's proprietary Cg Shading language.

Shading languages: ARB assembly-level

This section discusses ARB_fragment_program and ARB_vertex_program.

Shading languages: vendor-specific assembly-level

This section discusses the various vendor-specific shading languages.

GLSL : common mistakes

This section discusses common mistakes made when using GLSL.

Shading languages: Which shading language should I use?

This section looks at each shading language's pros and cons, to help you decide which one is right for your project.

Vertex Texture Fetch

This section looks at how to implement Vertex Texture Fetch.

Texture Sampling

This section looks at what happens when you sample a texture.

Geometry Shaders

Geometry Shaders.

GLSL : nVidia specific features

This section looks at nVidia specific features.

GLSL : ATI/AMD specific features

This section looks at ATI/AMD specific features.