From d0ec0c2c43bb066e6e77f36bafa40bd6e517c979 Mon Sep 17 00:00:00 2001 From: aignacio_sf <> Date: Fri, 23 Feb 2007 21:32:01 +0000 Subject: [PATCH] Fix multi-texture shader non-texture drawing problem. --- panda/src/dxgsg9/dxGraphicsStateGuardian9.cxx | 3 +++ panda/src/dxgsg9/dxShaderContext9.cxx | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/panda/src/dxgsg9/dxGraphicsStateGuardian9.cxx b/panda/src/dxgsg9/dxGraphicsStateGuardian9.cxx index 46546f307f..87ad2c99da 100755 --- a/panda/src/dxgsg9/dxGraphicsStateGuardian9.cxx +++ b/panda/src/dxgsg9/dxGraphicsStateGuardian9.cxx @@ -2962,6 +2962,7 @@ do_issue_shader() { _current_shader_context->unbind(this); _current_shader_expansion = 0; _current_shader_context = 0; + disable_standard_texture_bindings(); } return; } @@ -2973,6 +2974,7 @@ do_issue_shader() { _current_shader_context->unbind(this); _current_shader_context = 0; _current_shader_expansion = 0; + disable_standard_texture_bindings(); } if (context != 0) { context->bind(this); @@ -3622,6 +3624,7 @@ disable_standard_texture_bindings() { << ", NULL) failed " << D3DERRORSTRING(hr); } + set_texture_stage_state(i, D3DTSS_COLOROP, D3DTOP_DISABLE); } _num_active_texture_stages = 0; diff --git a/panda/src/dxgsg9/dxShaderContext9.cxx b/panda/src/dxgsg9/dxShaderContext9.cxx index ef7af84f3d..c25c70112d 100644 --- a/panda/src/dxgsg9/dxShaderContext9.cxx +++ b/panda/src/dxgsg9/dxShaderContext9.cxx @@ -544,9 +544,6 @@ bind(GSG *gsg) { // clear the last cached FVF to make sure the next SetFVF call goes through gsg -> _last_fvf = 0; - // turn off fixed-function multi-texture - gsg -> set_texture_stage_state (0, D3DTSS_COLOROP, D3DTOP_DISABLE); - gsg -> set_texture_stage_state (1, D3DTSS_COLOROP, D3DTOP_DISABLE); // Pass in k-parameters and transform-parameters issue_parameters(gsg, true);