summaryrefslogtreecommitdiffstats
path: root/src/net/java/joglutils/msg/nodes/Texture2.java
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2007-03-18 23:30:00 +0000
committerKenneth Russel <[email protected]>2007-03-18 23:30:00 +0000
commit44ded763ea870d0daad90a0f7355a5792b16b774 (patch)
tree1d8ff1f40e46793f0e9856d10e7e2cfc3c366da2 /src/net/java/joglutils/msg/nodes/Texture2.java
parente1f4a731f55ab29e3f23f87102af1b11c67cb0da (diff)
Added extensible action method mechanism via ActionTable, decoupling
Action implementations from the set of Nodes in the library. Refactored OpenGL rendering into node instances to potentially share more code among different Action subclasses. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/joglutils/trunk@45 83d24430-9974-4f80-8418-2cc3294053b9
Diffstat (limited to 'src/net/java/joglutils/msg/nodes/Texture2.java')
-rw-r--r--src/net/java/joglutils/msg/nodes/Texture2.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/net/java/joglutils/msg/nodes/Texture2.java b/src/net/java/joglutils/msg/nodes/Texture2.java
index 441c2f5..fd1b82a 100644
--- a/src/net/java/joglutils/msg/nodes/Texture2.java
+++ b/src/net/java/joglutils/msg/nodes/Texture2.java
@@ -45,6 +45,7 @@ import javax.media.opengl.*;
import com.sun.opengl.util.texture.*;
import net.java.joglutils.msg.actions.*;
+import net.java.joglutils.msg.elements.*;
/** Represents a two-dimensional texture. */
@@ -54,6 +55,11 @@ public class Texture2 extends Node {
private int texEnvMode = MODULATE;
private boolean dirty;
+ static {
+ // Enable the elements this node affects for known actions
+ GLTextureElement.enable(GLRenderAction.getDefaultState());
+ }
+
/** Represents the OpenGL MODULATE texture environment mode. */
public static final int MODULATE = 1;
/** Represents the OpenGL DECAL texture environment mode. */
@@ -134,6 +140,8 @@ public class Texture2 extends Node {
}
public void doAction(Action action) {
- action.visit(this);
+ if (TextureElement.isEnabled(action.getState())) {
+ TextureElement.set(action.getState(), getTexture(), getTexEnvMode());
+ }
}
}