Microsoft DirectX 8.0 (Visual Basic)

Pixel Shaders and Texture Stage States

When pixel shaders are in operation, the following texture stage states are still observed.

Because these texture stage states are not part of the pixel shader, they are not available at shader compile time so the driver can make no assumptions about them. For example, the driver cannot differentiate between bilinear and trilinear filtering at that time. The application is free to change these states without requiring the regeneration of the currently bound shader.

Furthermore, calls to the Direct3DDevice8.SetTexture method to change the image data used cannot cause the pixel shader to become invalid, so texture format, in terms of bit depth, is free to change. Calling SetTexture with a two-channel texture format such as D3DFMT_A8L8 or D3DFMT_V8U8 must continue to work as though the third channel was set to 0.