Exemple #1
0
        public CCRenderTexture(CCSize contentSize, CCSize textureSizeInPixels,
                               CCSurfaceFormat colorFormat = CCSurfaceFormat.Color,
                               CCDepthFormat depthFormat   = CCDepthFormat.None,
                               CCRenderTargetUsage usage   = CCRenderTargetUsage.DiscardContents) : this()
        {
            int textureWidth  = (int)textureSizeInPixels.Width;
            int textureHeight = (int)textureSizeInPixels.Height;

            renderTarget2D = drawManager.CreateRenderTarget(
                textureWidth, textureHeight, colorFormat, depthFormat, usage);

            Texture = new CCTexture2D(renderTarget2D, colorFormat, true, false);
            Texture.IsAntialiased = false;

            Sprite             = new CCSprite(Texture);
            Sprite.ContentSize = contentSize;
            Sprite.BlendFunc   = CCBlendFunc.AlphaBlend;

            CCPoint center = contentSize.Center;

            renderViewMatrix =
                Matrix.CreateLookAt(new CCPoint3(center, 300.0f).XnaVector, new CCPoint3(center, 0.0f).XnaVector, Vector3.Up);
            renderProjMatrix =
                Matrix.CreateOrthographic(contentSize.Width, contentSize.Height, 1024f, -1024);
            renderViewport = new Viewport(0, 0, textureWidth, textureHeight);


            clearColor = CCColor4B.Transparent;
            drawManager.SetRenderTarget(Texture);
            drawManager.Clear(clearColor);
            drawManager.RestoreRenderTarget();
        }
Exemple #2
0
 public void AfterRender(CCTexture2D texture)
 {
     drawManager.RestoreRenderTarget();
 }