public void Init()
        {
            Pipeline pipeline = m_graphics.Pipeline;

            m_gizmoRenderer = new GizmoRenderer(pipeline);

            ModelVertexInfo[] vertexLayout = ModelVertexInfo.GetVertexInfo <Vertex>();
            int vertexSize = Marshal.SizeOf <Vertex>();

            m_defferedShader = new Program
                               (
                new PixelShader(Shaders.DEFFERED_PIXEL, pipeline),
                new VertexShader(Shaders.QUAD_VERTEX, pipeline),
                vertexLayout,
                vertexSize,
                false,
                e_CullingMode.Back,
                pipeline
                               );

            m_defferedShader.VertexShader.Dispose();
            m_defferedShader.PixelShader.Dispose();

            const int buffCount = 3;

            m_renderTarget            = new MultiRenderTexture(buffCount, 1920, 1080, pipeline);
            m_transparentRenderTarget = new MultiRenderTexture(buffCount, 1920, 1080, pipeline);

            m_drawBuffers = new DrawBuffersEnum[buffCount];
            for (int i = 0; i < buffCount; ++i)
            {
                m_drawBuffers[i] = DrawBuffersEnum.ColorAttachment0 + i;
            }
        }
 private void OnDrawGizmos()
 {
     if (soloCubeField == null)
     {
         soloCubeField = new CubeField();
     }
     GizmoRenderer.DrawCubeField(soloCubeField);
 }