11/*
2- * Copyright (c) 2009-2016 jMonkeyEngine
2+ * Copyright (c) 2009-2017 jMonkeyEngine
33 * All rights reserved.
44 *
55 * Redistribution and use in source and binary forms, with or without
3838import com .jme3 .material .MatParamOverride ;
3939import com .jme3 .material .Material ;
4040import com .jme3 .math .ColorRGBA ;
41+ import com .jme3 .math .Quaternion ;
42+ import com .jme3 .math .Vector4f ;
4143import com .jme3 .scene .Geometry ;
4244import com .jme3 .scene .shape .Box ;
4345import com .jme3 .shader .VarType ;
5052public class TestMatParamOverride extends SimpleApplication {
5153
5254 private Box box = new Box (1 , 1 , 1 );
53- private MatParamOverride override = new MatParamOverride (VarType .Vector4 , "Color" , ColorRGBA .Yellow );
55+ final MatParamOverride overrideYellow
56+ = new MatParamOverride (VarType .Vector4 , "Color" ,
57+ ColorRGBA .Yellow );
58+ final MatParamOverride overrideWhite
59+ = new MatParamOverride (VarType .Vector4 , "Color" ,
60+ Vector4f .UNIT_XYZW );
61+ final MatParamOverride overrideGray
62+ = new MatParamOverride (VarType .Vector4 , "Color" ,
63+ new Quaternion (0.5f , 0.5f , 0.5f , 1f ));
5464
5565 public static void main (String [] args ) {
5666 TestMatParamOverride app = new TestMatParamOverride ();
@@ -74,19 +84,30 @@ public void simpleInitApp() {
7484 createBox (0 , ColorRGBA .Green );
7585 createBox (3 , ColorRGBA .Blue );
7686
77- inputManager .addMapping ("override" , new KeyTrigger (KeyInput .KEY_SPACE ));
87+ System .out .println ("Press G, W, Y, or space bar ..." );
88+ inputManager .addMapping ("overrideClear" , new KeyTrigger (KeyInput .KEY_SPACE ));
89+ inputManager .addMapping ("overrideGray" , new KeyTrigger (KeyInput .KEY_G ));
90+ inputManager .addMapping ("overrideWhite" , new KeyTrigger (KeyInput .KEY_W ));
91+ inputManager .addMapping ("overrideYellow" , new KeyTrigger (KeyInput .KEY_Y ));
7892 inputManager .addListener (new ActionListener () {
7993 @ Override
8094 public void onAction (String name , boolean isPressed , float tpf ) {
81- if (name . equals ( "override" ) && isPressed ) {
82- if (! rootNode . getLocalMatParamOverrides (). isEmpty ( )) {
95+ if (isPressed ) {
96+ if (name . equals ( "overrideClear" )) {
8397 rootNode .clearMatParamOverrides ();
84- } else {
85- rootNode .addMatParamOverride (override );
98+ } else if (name .equals ("overrideGray" )) {
99+ rootNode .clearMatParamOverrides ();
100+ rootNode .addMatParamOverride (overrideGray );
101+ } else if (name .equals ("overrideWhite" )) {
102+ rootNode .clearMatParamOverrides ();
103+ rootNode .addMatParamOverride (overrideWhite );
104+ } else if (name .equals ("overrideYellow" )) {
105+ rootNode .clearMatParamOverrides ();
106+ rootNode .addMatParamOverride (overrideYellow );
86107 }
87108 System .out .println (rootNode .getLocalMatParamOverrides ());
88109 }
89110 }
90- }, "override " );
111+ }, "overrideClear" , "overrideGray" , "overrideWhite" , "overrideYellow " );
91112 }
92113}
0 commit comments