如何实现光照效果(针对字体)?(200分)

  • 主题发起人 主题发起人 孔枫
  • 开始时间 开始时间

孔枫

Unregistered / Unconfirmed
GUEST, unregistred user!
字体是以bmp格式存储的。
我想大家看到过photoshop中的光照效果,由用户指定角度和光照强度,然后处理。
处理过程中涉及加阴影、加亮处理,单个的这些处理我已经实现,就是想知道如何根据
用户指定参数决定各点的加亮程度、阴影偏斜角度?

谢谢
 
加亮应该可以通过设置Alpha值作为参数啊!
阴影偏斜应该可以通过色差偏移度决定!
你先说说你是怎么设置的?才好对事论事哦!呵呵!
 
可以找类似的控件
 
你是不是在做游戏啊!呵呵!怎么全是图象处理啊!
我一般是先创建一个原图Buffer,再建一个亮度Buffer,然后将亮度Buffer和原图Buffer的数据组合得到模拟光照处理后的
数据显示,对于亮度Buffer,不推荐使用色彩信息叠加,那样容易达到色彩饱和,造成失真。建议采取衰减的方式效果更好。
该Buffer中一个点占1字节,但只使用低5位。0~31的数值表示了从0~31/32的衰减度。运算很简单,将RGB分别乘上衰减值除以32
就OK了。即 32-N/32 。如衰减度为40的光线和衰减度为24的光线叠加起来的光线衰减度为多少?即 32-(40+24)/32 为30 。
如果要改变光亮参数,你只需让用户改变光线衰减度的值即可。而对于阴影可以改变Buffer的偏移位置来设定。

顺便想探究一点,为什么偌大的一个超人气论坛,栏目这么少(如 游戏开发都没有),而且分类不够合理系统化,(如 有的
栏目太笼统,国外专业点的网页都分得较细,如 多媒体 其实应该划得更细) 好了 打住! 又扯远了!呵呵!
 
人在边缘:我的水平根本不到做游戏的地步,玩玩游戏倒还可以,你的水平到可以,
是不是做游戏的啊?;)
我想我的这些问题应该还只是图像处理里面一些比较普通的,还没有深入。希望今后能
拿些深层的问题来。
DFW本来只是讨论Delphi的论坛,现在已经加了不少内容了,yysun大概是想做精品,
不做滥。归->
正题:
我这个问题是这样的: 用户输入光照角度,亮度,我来对文字进行处理。
疑惑的地方是->光线照下来,各个点的效果应该不一样,我怎么判断每个点应表现出来的
亮度和它造成的阴影。不知道我说清楚了没有。

 
判断每个点应表现出来的亮度和它造成的阴影。
不需要这么复杂化吧!呵呵!
那样和贴图变换有什么区别吗?
还是作一个光照图和原图合成吧!像Photoimpact里一样。
你可以通过光源位置和倾斜度模拟出光照图,至于合成可以用我给你的算法。
 
^_^

TDXImageListCompressed -- LZH compressed imagelist

TDXWaveListCompressed -- LZH/MPEG compressed wavelist

TDXTextureList -- 2D on 3D Imagelist

TDXInputList -- Bind DirectInput keys to game functions w/ editor

DXPixels UNIT -- yet another pixel unit, this time built into UnDelphiX

DXGEdit 2.0 -- opensource DXG editor with compression and texturelist support

DXWEdit 1.0 -- opensource DXW Editor with compression support

Lots and Lots of DEFINEs (DELPHIXNT, DELPHIX2000, DELPHIXDX5, DELPHIXDX7, DELPHIXDX8 )
 
ybsnui:你说的这些哪里能找到呢?
 
需要自己做算法的,不过,你可以参考一下DIRECT3D的相关例子
 
to 孔枫:
最近忙的很,没有答复你以前的问题。^_^
关于光线跟踪算法,建议你看看 Pan Ying的一篇东东,

http://zeroworld.51.net/project/iip/index.htm
 
tyn:上面网页上的iip.zip,我怎么当不下来?
 
多人接受答案了。
 
后退
顶部