【问题标题】:Fog drawing using Core Graphics使用 Core Graphics 绘制雾
【发布时间】:2011-01-23 21:43:33
【问题描述】:

我知道 OpenGL 具有允许绘制雾的功能。

但是,如何使用 Core Graphics 绘制雾(烟)?这是一项艰巨的任务吗?以及,实施这项任务的概念是什么?

【问题讨论】:

标签: macos opengl drawing core-graphics


【解决方案1】:

我不知道 Core Graphics 中对雾的任何内置支持,除非 Core Graphics 可以让您访问 OpenGL 视口。

从图形的角度来看,绘制雾与绘制烟雾非常不同。

绘制雾在概念上很简单:对于每个像素,您可以跟踪从相机到最近点的距离。远离相机的点(经过任意“远”截止)淡出为某种均匀的颜色,通常是浅灰色。比任意“接近”截止点更近的点根本不会被修改。而中间点的颜色是点的自然色和雾色的一些插值。你做什么样的插值主要是一种艺术选择。

抽烟是一个更难的问题。一种常见的方法是使用粒子系统。系统中的每个粒子都代表一团烟雾。较大的粒子速度更快,但看起来不那么逼真。然后,您可以使用任何可以为您提供所需外观的方法为烟雾点设置动画,并为每个模拟的烟雾粒子绘制一个半透明的斑点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多