游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8475|回复: 20

在游戏中怎么表现出黑夜

[复制链接]

47

主题

145

帖子

3602

积分

论坛元老

Rank: 8Rank: 8

积分
3602
发表于 2004-5-27 20:39:00 | 显示全部楼层 |阅读模式
在游戏中怎么表现出黑夜??还有怎么让画面变黑白???

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2004-5-27 22:00:00 | 显示全部楼层

Re:在游戏中怎么表现出黑夜

将屏幕上每点的RGB值按比例增加或减少就可以了,
变暗的公式:
r=r*black/256
g=g*black/256
b=b*black/256
变亮的:
r=r*(white/256)+256*(1-white/256)
g=g*(white/256)+256*(1-white/256)
b=b*(white/256)+256*(1-white/256)
r,g,b分别是该点的RGB分量,
black和white是256级暗度和亮度
(这个公式是我根据alpha混合公式变来的,应该是对吧!)

3

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2004-5-28 09:33:00 | 显示全部楼层

Re:在游戏中怎么表现出黑夜

哪有那么复杂!!
直接进行加减同一个值即可:
变暗:
r=r-black;if (r<0) r=0;
g=g-black; if (g<0) g=0;
b=b-black; if (b<0) b=0;
变亮:
r=r+white; if (r>255) r=255;
g=g+white; if (g>255) g=255;
b=b+white; if (b>255) b=255;

变黑夜要用遮罩,变黑白要进行灰度图计算,具体应用网上去查。

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2004-5-28 13:17:00 | 显示全部楼层

Re:在游戏中怎么表现出黑夜

因为前几天给同学写了个alpha混合的几种效果演示代码,
其中正好就包含了屏幕变亮变暗效果,
就直接复制上来了,^O^

29

主题

178

帖子

187

积分

注册会员

Rank: 2

积分
187
QQ
发表于 2004-5-28 13:19:00 | 显示全部楼层

Re: Re:在游戏中怎么表现出黑夜

PeakGao: Re:在游戏中怎么表现出黑夜

哪有那么复杂!!
直接进行加减同一个值即可:
变暗:
r=r-black;if (r<0) r=0;
g=g-black; if (g&l...


这样做会改变色调的。

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
发表于 2004-5-28 15:23:00 | 显示全部楼层

Re:在游戏中怎么表现出黑夜

D3D中:
LPD3DXSPRITE pSprite;
.....
//将Surface绘制到BackBuffer
pSprite->Draw(Surface,
                        源矩阵,
                        缩放比例,
                        旋转中心,
                        旋转角度,
                        绘制Surface的位置坐标,
                        Alpha通道值)//通过设置该通道值来表现黑夜,如0xFF333333;

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2004-5-28 15:29:00 | 显示全部楼层

Re:在游戏中怎么表现出黑夜

呵呵,
D3D,
我喜欢,
太方便了,
其实我有时在想,
DDraw是不是真的该退休了!

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
发表于 2004-5-28 15:33:00 | 显示全部楼层

Re:在游戏中怎么表现出黑夜

呵呵,吾辈无能,不想搞汇编、MMX提速,所以就跳槽到D3D了

47

主题

145

帖子

3602

积分

论坛元老

Rank: 8Rank: 8

积分
3602
 楼主| 发表于 2004-5-28 19:26:00 | 显示全部楼层

Re:在游戏中怎么表现出黑夜

谁能告诉我到底该怎么改????说点实在的啊~~~

47

主题

145

帖子

3602

积分

论坛元老

Rank: 8Rank: 8

积分
3602
 楼主| 发表于 2004-5-29 19:25:00 | 显示全部楼层

Re:在游戏中怎么表现出黑夜

回:shenguhan
你的代码我试过了。。。 不行啊~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-24 09:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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