我知道OpenGL有允许绘制雾的功能。
但是,如何使用Core Graphics绘制雾(烟雾)?这是一个艰巨的任务吗?那么,实现这项任务的概念是什么呢?
发布于 2010-03-05 08:08:47
我不知道核心图形中有任何内置的对雾的支持,除非核心图形可以让你访问OpenGL视窗。
从图形的角度来看,绘制雾与绘制烟雾非常不同。
绘制雾在概念上很简单:对于每个像素,跟踪从相机到最近点的距离。远离相机的点(超过任意的“远”分界线)淡出到某种均匀的颜色,通常是浅灰色。比一些任意的“接近”截止点更近的点根本不会被修改。中间点的颜色是点的自然颜色和雾颜色的某种插值。确切地说,你所做的插值主要是一种艺术选择。
抽出烟雾是一个更难的问题。一种常见的方法是使用粒子系统。系统中的每个粒子代表一束烟。更大的粒子速度更快,但看起来不那么逼真。然后,使用所需的任何方法设置烟雾的动画,并为每个模拟的烟雾粒子绘制一个半透明的斑点。
https://stackoverflow.com/questions/2383256
复制相似问题