Difference between revisions of "Image System"
Rob Linden (talk | contribs) (+{{ViewerArchNav}}) |
Steve Linden (talk | contribs) |
||
Line 13: | Line 13: | ||
This is an approximation of the maximum number of pixels of a texture on a single face that are currently being rendered. This is the primary factor in determining the desired discard level (see below) of a texture. | This is an approximation of the maximum number of pixels of a texture on a single face that are currently being rendered. This is the primary factor in determining the desired discard level (see below) of a texture. | ||
* Discard level | * Discard level | ||
Discard level 0 represents the highest resolution version of a texture. Discard level 1 represents a texture half the resolution of discard level 0 in each dimension, so one quarter of the pixel area and one quarter of the required texture memory. It is primarily a function of pixel area, e.g. if a 256x256 texture is covering a 128x128 | Discard level 0 represents the highest resolution version of a texture. Discard level 1 represents a texture half the resolution of discard level 0 in each dimension, so one quarter of the pixel area and one quarter of the required texture memory. It is primarily a function of total pixel area, e.g. if a 256x256 texture is covering a 128x128 portion of the screen, the desired discard level is 1. | ||
* Boost level | * Boost level | ||
This is used to increase the prioritization of some textures over others. For example, textures on selected faces are boosted. | This is used to increase the prioritization of some textures over others. For example, textures on selected faces are boosted. | ||
* Priority | * Priority | ||
Also referred to as decode priority, this is used to determine in what order texture data is downloaded and decoded. It is a function of the total pixel area, the boost level, and the difference between the current discard level and the desired discard level. | Also referred to as decode priority, this is used to determine in what order texture data is downloaded and decoded. It is a function of the total pixel area, the boost level, and the difference between the current discard level and the desired discard level. |
Revision as of 13:20, 30 November 2006
Overview
The texture pipeline handles the requesting, loading, and decoding of texture data. It also handles passing the data to OpenGL, and discarding unwanted data. It uses a priority scheme to determine what data to load and to discard.
Format
SecondLife uses JPEG 2000 textures which are decoded in the client and sent to OpenGL as uncompressed 24 bit or 32 bit textures.
Prioritization
- Total pixel area
This is an approximation of the total number of pixels of a texture from all faces that are currently being rendered. This is a factor in determining the priority (see below) of a texture.
- Maximum pixel area
This is an approximation of the maximum number of pixels of a texture on a single face that are currently being rendered. This is the primary factor in determining the desired discard level (see below) of a texture.
- Discard level
Discard level 0 represents the highest resolution version of a texture. Discard level 1 represents a texture half the resolution of discard level 0 in each dimension, so one quarter of the pixel area and one quarter of the required texture memory. It is primarily a function of total pixel area, e.g. if a 256x256 texture is covering a 128x128 portion of the screen, the desired discard level is 1.
- Boost level
This is used to increase the prioritization of some textures over others. For example, textures on selected faces are boosted.
- Priority
Also referred to as decode priority, this is used to determine in what order texture data is downloaded and decoded. It is a function of the total pixel area, the boost level, and the difference between the current discard level and the desired discard level.