Hi dudes,
I want to render the title of my game as follows:
protected void initGame() {
camera.update();
scene = new Node("Scene graph root node");
userInterface = new Node( "User interface" );
userInterface.setRenderQueueMode( Renderer.QUEUE_ORTHO );
userInterface.setCullMode( Spatial.CULL_NEVER );
userInterface.setLightCombineMode( LightState.OFF );
// TODO: Custom cursor, anyone?
MouseInput.get().setCursorVisible( true );
// Title Quad
Node title = new Node("titleNode");
title.setCullMode( Spatial.CULL_NEVER );
Quad quad = new Quad("title", 20, 5);
quad.setRenderQueueMode( Renderer.QUEUE_ORTHO );
title.attachChild(quad);
// Texture for the title quad
TextureState ts = display.getRenderer().createTextureState();
ts.setTexture(
TextureManager.loadTexture(BTAGame.class.getResource("/res/opening/bta_title.png"),
Texture.MM_LINEAR_LINEAR,
Texture.FM_LINEAR)
);
ts.setEnabled(true);
quad.setRenderState(ts);
// Alpha state for the title Quad
AlphaState as = display.getRenderer().createAlphaState();
as.setBlendEnabled(true);
as.setSrcFunction(AlphaState.SB_SRC_ALPHA);
as.setDstFunction(AlphaState.DB_ONE_MINUS_SRC_ALPHA);
as.setTestEnabled(false);
as.setEnabled(true);
quad.setRenderState(as);
quad.updateRenderState();
scene.attachChild(title);
title.updateRenderState();
title.updateGeometricState(0.0f, true);
scene.updateRenderState();
scene.updateGeometricState(0.0f, true);
userInterface.updateRenderState();
userInterface.updateGeometricState( 0, true );
}
But it gives me a black screen - that is, it does not render my Quad. If I comment out this line:
quad.setRenderQueueMode( Renderer.QUEUE_ORTHO );
Everything works fine, but then the quad is not displayed in an orthogonal perspective.
What's wrong with my code?
BTW, I'm extending BaseGame.
Son Of Cain