关于opengl的黑色表示透明问题,为什么在VC和delphi6当中差别很大.(请小雨哥,大家来讨论) ( 积分: 200 )

  • 主题发起人 主题发起人 dcsdcs
  • 开始时间 开始时间
D

dcsdcs

Unregistered / Unconfirmed
GUEST, unregistred user!
关于opengl的黑色表示透明问题,为什么在VC和delphi6当中差别很大.

在VC当中启用下面的程序可以达到效果:

1 glEnable(GL_BLEND);
2 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

3 glEnable(GL_ALPHA_TEST);
4 glAlphaFunc(GL_GREATER, 0);

……………………贴图

5 glDisable(GL_ALPHA);
6 glDisable(GL_BLEND);


但是在delphi当中:2句产生的是不透明效果,修改成其他参数可以透明。

两个透明的差别:
delphi会和背景产生融合,
而vc不会与背景产生融合,

比如你在红色地毯上面放一片绿色叶子(采用矩形贴图),
黑色都已经去掉。在delphi当中叶子是黄色,而vc是绿色,

不要告诉我采用像素操作。
 
关于opengl的黑色表示透明问题,为什么在VC和delphi6当中差别很大.

在VC当中启用下面的程序可以达到效果:

1 glEnable(GL_BLEND);
2 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

3 glEnable(GL_ALPHA_TEST);
4 glAlphaFunc(GL_GREATER, 0);

……………………贴图

5 glDisable(GL_ALPHA);
6 glDisable(GL_BLEND);


但是在delphi当中:2句产生的是不透明效果,修改成其他参数可以透明。

两个透明的差别:
delphi会和背景产生融合,
而vc不会与背景产生融合,

比如你在红色地毯上面放一片绿色叶子(采用矩形贴图),
黑色都已经去掉。在delphi当中叶子是黄色,而vc是绿色,

不要告诉我采用像素操作。
 
自己搞定
 
好,帮顶



--------签名档---------------------------

比肩国内顶尖源码下载站点 -> 源码我爱你

http://www.source520.com
http://www.source520.net

80G源码电子书免费免注册下载,大量精辟技术文档库随时更新
******************************************************************
附:为了站点持续发展,现有本站近年来收藏的大量大型商业源码低价出售,
详情请进入以下链接查看:
http://www.source520.com/building_delphi.htm

浏览商业代码请从如下URL进入查看实物:
1.商业源码库1: ftp://source520see3:browse@61.152.199.245/
2.商业源码库2: ftp://source520see2:browse@61.152.199.245/
 
adlyl031拣到聚宝盆。
 
后退
顶部