opengl 混合模式 设置问题

oKule 2011-10-08 06:43:19
程序运行效果图:
蓝色的被设置了alpha 100 结果蓝色的透到了桌面

理想效果:Ps处理过的
蓝色的alpha 100 但是不会透到桌面 而且还可以与 绿色混合

在这里
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
glColor4ub(0,0,255,100);
glRecti(0,0,100,100);
glDisable(GL_BLEND);
今天纠结了一天实在不知道如何才能实现第二幅图那效果
...全文
170 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
oKule 2011-10-08
  • 打赏
  • 举报
回复
2次混合解决了
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glColor4ub(0,0,255,125);
glRecti(0,0,100,100);
glBlendFunc(GL_DST_COLOR,GL_ONE);
glColor4ub(0,0,0,255);
glRecti(0,0,100,100);
glDisable(GL_BLEND);
顺便求一下不用2次混合解决的办法
oKule 2011-10-08
  • 打赏
  • 举报
回复
也就是说
目标与源进行 混合 第四位(alpha通道) 值为 0xff

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧