# Default Shader Parts

Shader parts are used by Model-Based Rendering and Text Shaders. This file contains an index of parts by priority, and the source of each shader part.

## Vertex Part Priorities

How Ren'Py uses vertex part priorities:

- Priority 0 sets up gl_Position.

- Priority 10 is used to capture gl_Position in virtual or drawable coordinates before adjustment.

- Priorities 20-80 adjust gl_Position in virtual or drawable coordinates.

- Priority 90 is used to capture gl_Position in virtual or drawable coordinates after adjustment.

- Priority 100 transforms gl_Position to viewport coordinates.

- Priority 200 stores more information in varying variables, without touching gl_Position.

In order:

## Fragment Part Priorities

How Ren'Py uses fragment part priorities:

- Priority 200 determines an original color and stores it in gl_FragColor.

- Priority 300 multiplies that color with a second texture.

- Priority 325 stores alpha before the text shaders adjust it.

- Priority 350 applies text shaders that adjust alpha.

- Priority 375 can undo part of the effect of these text shaders.

- Priority 400 adjusts the color, applying Transform and displayable-based changes.

- Priority 500 adjusts the alpha channel, applying Transform and displayable-based changes.

In order: