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); }
/// <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); }
/// <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); }