游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2107|回复: 3

NeHe 教程中 设置透明度的问题

[复制链接]

2

主题

13

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2010-5-18 10:31:00 | 显示全部楼层 |阅读模式
Nehe教程第19课"粒子系统"和44课"光晕"中,载入的纹理都是不带透明通道的bmp格式文件.使用的函数是glTexImage2D(GL_TEXTURE_2D, 0, 3, BMP.bmWidth, BMP.bmHeight, 0, GL_BGR_EXT, GL_UNSIGNED_BYTE, BMP.bmBits);
其中第3个参数的意义应该是GL_RGB, 那就是说没设置纹理的alpha通道.
可是渲染时透明通道是正常的,这是为什么呢. [em7]

各位大侠能指点一下么? 小菜百思不得其解啊. [em17]

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2010-5-18 23:41:00 | 显示全部楼层

Re:NeHe 教程中 设置透明度的问题

BMP本来就是24位的,本来就不包含Alpha值。

透明效果是通过 glBlend 来实现的啊。

2

主题

13

帖子

66

积分

注册会员

Rank: 2

积分
66
 楼主| 发表于 2010-5-20 19:52:00 | 显示全部楼层

Re: NeHe 教程中 设置透明度的问题

可是程序中使用的glBlend中的参数是GL_SRC_ALPHA 啊,这个是为什么呢?

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2010-5-22 18:13:00 | 显示全部楼层

Re: NeHe 教程中 设置透明度的问题

glBlend是带有2个参数的啊。
第一个是新渲染的alpha,第二个是旧alpha

glColor4f是设置颜色的,第四个参数表示alpha值
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-9 14:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表