3D游戏中的描边算法

很容易想到的是法线放大算法,分两个pass:

  • 沿法线方向放大模型(vs)并用描边色渲染(ps)
  • 正常渲染模型


效果如图:优点是不需要renderTarget,兼容性好。

-------------------------------------------------------------------------------------------------------------------------

但是如何达到dota2游戏中那种边缘发光的描边效果呢?
经导师提供一种方案,类似于前面的发线放大,但是这里的放大是通过高斯模糊来实现的。
先上最终效果图:


思路如下:

  • 模型到RTT
  • 横向模糊
  • 纵向模糊
  • 正常渲染模型

RenderMonkey中实现简单。实际应用,还需想一下如何遮挡?感觉应该能用zbuffer

字体描边算法是一种在字体文字周围添加边框的技术。在计算机图形学描边算法被广泛应用于字体设计和文字处理领域。 字体描边算法的目的是增加文字的可读性和视觉效果,使文字在背景更加突出,同时使整个设计更加美观。描边算法通过在字体文字周围添加一层边框,扩展文字的形状,增加了文字的边缘对比度和清晰度。 字体描边算法的具体实现使用C语言编程。在C语言,可以通过使用图形库(如OpenGL、DirectX等)来实现描边效果。描边算法的实现主要包括以下步骤: 1. 读取字体文件:首先,需要读取字体文件,获取字体的轮廓数据和字符信息。 2. 字符轮廓细化:对于每个字符,需要对其轮廓进行细化处理,以得到更加平滑的边缘。这可以通过Bresenham直线算法或Bezier曲线等数学方法来实现。 3. 边缘扩展:在细化后的字符轮廓周围添加边缘。这可以通过扩展轮廓的方式实现,例如,可以向外扩展轮廓的每个点,以生成边框。 4. 边缘着色:为边框添加颜色,通常选择和字体颜色相近的颜色,以保持视觉统一性。 5. 字符叠加:将扩展后的字符轮廓和原始字符叠加在一起,以形成描边效果。 6. 输出结果:最后,将描边后的字符渲染到屏幕上或输出到图片文件,以供使用。 总的来说,字体描边算法是一种通过在字体文字周围添加边框来改善文字可读性和视觉效果的技术。它在计算机图形学得到广泛应用,并以C语言为基础实现,通过对字符轮廓的细化、边缘扩展和着色等步骤实现描边效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值