小编Nak*_*Nak的帖子

C#+ GL控制混合背景与形式

我正在使用OpenGL的C#和OpenTK库,我想将GLControl与作为背景放置的图片框混合在一起.

*编辑*

我通过改变方法解决了加载源图像的问题,所以现在我使用位图和位图数据结构:

Bitmap bitmap = new Bitmap("image.png");
BitmapData data = bitmap.LockBits(new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height),
         ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
Run Code Online (Sandbox Code Playgroud)

我确定我的png源有4个通道,黑色背景上的alpha值为0

这是原始图片:http: //imageshack.com/a/img801/517/u2z8.png

这就是问题所在:http: //imageshack.com/a/img40/1729/zezj.jpg

top是使用GLControl的纹理,bottom是Windows Form的Picturebox,我想要做的是GLControl的黑色背景变得透明.

我把Blend cap启用并使用GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);所以我认为这不是问题.

也许问题出在纹理环境上?

GL.TexEnv(TextureEnvTarget.TextureEnv, TextureEnvParameter.TextureEnvMode,GL_MODULATE);
Run Code Online (Sandbox Code Playgroud)

c# opengl wpf opengl-es

2
推荐指数
1
解决办法
1395
查看次数

标签 统计

c# ×1

opengl ×1

opengl-es ×1

wpf ×1