使用核心图形绘制雾效果

3

我知道OpenGL有功能可以绘制雾效果。

但是,如何使用核心图形(Core Graphics)绘制雾(烟雾)?这是一个困难的任务吗?还有,实现此任务的概念是什么?


核心图形是什么鬼? - Miha Markic
Miha Markic:一个绘图API。 http://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CoreGraphicsReferenceCollection/ - Peter Hosey
1个回答

3

我不知道Core Graphics中是否有内置的雾支持,除了在Core Graphics中可以让你访问OpenGL视口。

从图形角度来看,绘制雾与绘制烟很不一样。

绘制雾在概念上很简单:对于每个像素,你需要跟踪相机到最近点的距离。远离相机(超过任意“远”截止点)的点会逐渐淡出到一种均匀的颜色,通常是浅灰色。而离某个任意“近”截止点更近的点则完全不会被修改。在两者之间的点的颜色是点自然颜色和雾颜色的插值。你所做的插值类型主要是艺术选择。

绘制烟是一个更难的问题。一种常见的方法是使用粒子系统。系统中的每个粒子代表一团烟。较大的粒子速度更快,但外观不太逼真。然后你使用任何能给你想要的效果的方法来动画化烟的部分,并为每个模拟的烟粒子绘制半透明的斑点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接