27 |
*/ |
*/ |
28 |
|
|
29 |
#include <vob/IndirectTexture.hxx> |
#include <vob/IndirectTexture.hxx> |
30 |
|
#include <iostream> |
31 |
|
#include <vob/Debug.hxx> |
32 |
|
|
33 |
namespace Vob { |
namespace Vob { |
34 |
|
|
35 |
|
DBGVAR(dbg_indirectbind, "IndirectBind"); |
36 |
|
|
37 |
IndirectTextureBind::IndirectTextureBind() : |
IndirectTextureBind::IndirectTextureBind() : |
38 |
activeTexture(0), |
activeTexture(0), |
39 |
textureTarget(0), |
textureTarget(0), |
47 |
indirectTexture(indirectTexture) { } |
indirectTexture(indirectTexture) { } |
48 |
|
|
49 |
void IndirectTextureBind::bind() { |
void IndirectTextureBind::bind() { |
50 |
|
DBG(dbg_indirectbind) << "bind "<<activeTexture<<" "<<textureTarget |
51 |
|
<<" "<<indirectTexture<<" "<<indirectTexture->texId<<"\n"; |
52 |
if(indirectTexture == 0) return; |
if(indirectTexture == 0) return; |
53 |
glActiveTextureARB(activeTexture); |
glActiveTextureARB(activeTexture); |
54 |
glBindTexture(textureTarget, indirectTexture->texId); |
glBindTexture(textureTarget, indirectTexture->texId); |
55 |
glActiveTextureARB(GL_TEXTURE0_ARB); |
glActiveTextureARB(GL_TEXTURE0_ARB); |
56 |
} |
} |
57 |
void IndirectTextureBind::unbind() { |
void IndirectTextureBind::unbind() { |
58 |
|
DBG(dbg_indirectbind) << "unbind "<<activeTexture<<" "<<textureTarget |
59 |
|
<<" "<<indirectTexture<<" "<<indirectTexture->texId<<"\n"; |
60 |
if(indirectTexture == 0) return; |
if(indirectTexture == 0) return; |
61 |
glActiveTextureARB(activeTexture); |
glActiveTextureARB(activeTexture); |
62 |
glBindTexture(textureTarget, 0); |
glBindTexture(textureTarget, 0); |