游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1821|回复: 1

向高手请教

[复制链接]

2

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2004-1-25 23:03:00 | 显示全部楼层 |阅读模式
我现在想贴出一棵树,用于贴树叶的纹理是一张以黑色为底色的图片,我现在不知如何使黑色在场景中变透明,在OPENGL的书上我看到可以用透明度测试的方法屏避掉透明度小于某一值的图元从而达到透明效果,请高手指点入何使一幅的BMP黑色底色部分的 ALPHA 值为0,万分感谢!!
我想贴的树叶的图片如下:
sf_200412523340.jpg

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2004-1-26 01:04:00 | 显示全部楼层

Re:向高手请教

在读取bmp图象时,bmp图象大部分是24位的。可以自己定义一个比此图象文件大四倍的临时缓冲区,将bmp图象的RGB分别读出,填入缓冲区,接着写入Alpha即可,如果当前象素的RGB为0,则alpha为0,否则alpha为255,见下:

比如缓冲区为buffer,为BYTE *buffer

第一个象素RGB为0
buffer[0] = bmp[0];
buffer[1] = bmp[1];
buffer[2] = bmp[2];
buffer[3] = 0;

第二个象素的RGB不为0
buffer[4] = bmp[3];
buffer[5] = bmp[4];
buffer[6] = bmp[5];
buffer[7] = 255;
……
然后根据此缓冲区生成相应的贴图即可。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-25 00:19

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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