Can somebody help me on this ? When I do this
RenderPassTextureDesign test = new RenderPassTextureDesign();
test.setEnabled(true);
w3D = new Widget3D( 300, 300, test.getConfig() );
The widget3D is displayed but no shape is being shown. But when I
RenderPassTextureDesign test = new RenderPassTextureDesign();
test.setEnabled(true);
ENVIRONMENT.add( test );
the renderpass is shown.
I want the renderpass to be dispalyed in the Widget3D. How to do this ?
public class RenderPassTextureDesign extends RenderPass {
private static final String ID = RenderPassTextureDesign.class.getName();
private static BaseRenderPassConfig RENDER_PASS_CONFIG = new BaseRenderPassConfig();
protected static final BranchGroup RENDER_PASS_BRANCH_GROUP = new BranchGroup();
protected TransformGroup TRANSFORM_GROUP_FOR_THE_MAIN_SCENE;
protected int VIEWPORT_X = 0, VIEWPORT_Y=500, VIEWPORT_WIDTH=250, VIEWPORT_HEIGHT=300;
public RenderPassTextureDesign( ){
super( RENDER_PASS_BRANCH_GROUP, RENDER_PASS_CONFIG );
CreateXithAxis();
SetupViewTransform();
SetupViewport();
System.out.println("x = " + VIEWPORT_X + " y = " + VIEWPORT_Y + " width = " + VIEWPORT_WIDTH + " height = " + VIEWPORT_HEIGHT );
}
private void CreateXithAxis(){
Material mat;
XithAxis axis;
Transform3D t3d;
Shape3D Shape;
Shape = new Cube( 3.0f , Colorf.RED);
t3d = new Transform3D();
t3d.setIdentity();
mat = new Material();
mat.setAmbientColor( Colorf.GRAY25 );
mat.setLightingEnabled( true );
Shape.getAppearance(true).setMaterial(mat);
TRANSFORM_GROUP_FOR_THE_MAIN_SCENE = new TransformGroup();
TRANSFORM_GROUP_FOR_THE_MAIN_SCENE.setTransform(t3d);
TRANSFORM_GROUP_FOR_THE_MAIN_SCENE.addChild( Shape );
RENDER_PASS_BRANCH_GROUP.addChild( TRANSFORM_GROUP_FOR_THE_MAIN_SCENE );
RENDER_PASS_BRANCH_GROUP.addChild( new AmbientLight( true, Colorf.BLUE ));
//RENDER_PASS_BRANCH_GROUP.addChild( axis.getShape3D() );
}
private void SetupViewport() {
Rect2i viewport;
viewport = new Rect2i( VIEWPORT_X, VIEWPORT_Y, VIEWPORT_WIDTH, VIEWPORT_WIDTH );
createPerspective(RENDER_PASS_BRANCH_GROUP);
RENDER_PASS_CONFIG.setViewport( viewport );
}
private void SetupViewTransform(){
Transform3D trans;
trans = new Transform3D();
trans.setIdentity();
trans.setTranslation( 5.0f, 5.0f, 20f);
RENDER_PASS_CONFIG.setViewTransform( trans );
}
public TransformGroup getTransformGroup(){
return TRANSFORM_GROUP_FOR_THE_MAIN_SCENE;
}
}