예제 #1
0
        public override ICubismTexture CreateTexture(byte[] texture_bytes)
        {
            var bitmap  = new Bitmap(new MemoryStream(texture_bytes));
            var texture = new CubismOpenGlNetTexture(bitmap);

            Textures.Add(texture);
            return(texture);
        }
예제 #2
0
 /// <summary>
 /// フレームバッファのサイズを変更する。
 /// </summary>
 /// <param name="width">幅</param>
 /// <param name="height">高さ</param>
 public void Resize(int width, int height)
 {
     Gl.BindFramebuffer(FramebufferTarget.Framebuffer, FrameBufferId);
     Gl.FramebufferTexture(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, 0, 0);
     Texture.Dispose();
     Texture = new CubismOpenGlNetTexture(width, height);
     Gl.FramebufferTexture(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureId, 0);
     Gl.BindFramebuffer(FramebufferTarget.Framebuffer, 0);
 }
예제 #3
0
        /// <summary>
        /// クリッピングマスクの描画のためのフレームバッファを作成する。
        /// </summary>
        /// <param name="width">幅</param>
        /// <param name="height">高さ</param>
        public CubismOpenGlNetClippingMask(int width, int height)
        {
            // テクスチャを生成する
            Texture = new CubismOpenGlNetTexture(width, height);

            // フレームバッファを生成し、テクスチャを割り当てる
            uint[] fbos = new uint[1];
            Gl.GenFramebuffers(fbos);
            FrameBufferId = fbos[0];
            Gl.BindFramebuffer(FramebufferTarget.Framebuffer, FrameBufferId);
            Gl.FramebufferTexture(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureId, 0);
            Gl.BindFramebuffer(FramebufferTarget.Framebuffer, 0);
        }