d3d9renderer does not disable other texture stages

Issue #95 resolved
Anonymous created an issue

Automatic migration. Original reporter: "_2b"

the d3d9renderer uses only one texture stage and sets all states for stage 0, but does not disable stage 1. so when the main programm does some rendering and uses other stages, cegui-rendering my fail. this may also apply for the d3d8renderer.

to securely disable texture stage 1, use SetTextureStageState(D3DTSS_COLOROP, D3DTOP_DISABLE) and SetTexture(1, 0);

a patch is attached.

Reproducibility: always

Comments (1)

  1. Paul Turner

    Thanks for the report. I have added code to disable the texture stages we do not use.

    I did not add the SetTexture call; going by the D3D documentationm this should not be required for stages disabled via SetTextureStageState(D3DTSS_COLOROP, D3DTOP_DISABLE) (it should only be required is disabling via SetTextureStageState(D3DTSS_COLORARG1, D3DTA_TEXTURE) and setting a NULL texture).

  2. Log in to comment