I'm trying to create a render image with transparence and then render further images and/or text to that image for use later. After trying a number of approaches I ca't get this working. I'm guessing I'm doing something wrong. Any ideas.
I need to:
1. Load a specified image from disk (with tranparency).
2. Create a render image from the image dimensions above (with transparency).
3. Draw the initial image to the render image.
4. Then I will draw further images to this render image retaining transparency.
Here is some latest experimental code. It's tier 2 but I guess similar calls in tier 1. Everything works as intended but there is no transparency around the initial image (just black). Any ideas? Thanks.
int iTempImageRef = agk::LoadImage( "test.png" ); // load a base image with transparency
int iTempSpriteRef = agk::CreateSprite( iTempImageRef );
// now create target image
int h = agk::GetImageHeight( iTempImageRef );
int w = agk::GetImageWidth( iTempImageRef );
int iImageRef = agk::CreateRenderImage( w, h, 0, 0 ); // create a render image to copy out initial image to
agk::SetRenderToImage( iImageRef, 0 );
agk::SetClearColor( 0, 0, 0 );
agk::ClearScreen();
agk::SetImageTransparentColor( iImageRef, 0, 0, 0 );
agk::SetSpriteSize( iTempSpriteRef, 1024, 1024 );
agk::SetSpriteX( iTempSpriteRef, 10 );
agk::SetSpriteY( iTempSpriteRef, 10 );
agk::DrawSprite( iTempSpriteRef );
agk::DeleteSprite( iTempSpriteRef );
agk::DeleteImage( iTempImageRef );
int iSpriteRef = agk::CreateSprite( iImageRef );
agk::SetSpritePosition( iSpriteRef, 100, 100 );
agk::SetRenderToScreen();