2

谁能推荐一种用于 HLSL 像素着色器(用于 WPF 或 Silverlight 3)的算法来产生点画效果?以下是一些示例:http ://www.nolinovak.com/、http : //sprouls.com/

4

2 回答 2

1

以下研究论文可能会有所帮助。 Jens Krüger 和 Rüdiger Westermann 的高效点画渲染

于 2009-05-20T13:04:18.037 回答
0

答案比你想象的更接近。向 Hugues Hoppe ( http://hhoppe.com ) 发送电子邮件,因为他曾经喜欢抚摸表面纹理。他的解释和建议会比你想的更复杂,但他确实知道怎么做。

出色的点画可能需要表面在每个点(渐变?)的主要 3D“方向”,这可能超出着色器模型限制的能力(两次渲染和多个渲染目标,或大型像素顶点数据结构) . 一个简单的第一个版本会将每个像素的灰度值转换为像素为黑色或白色的概率。这将为您提供 1 像素点,这不是您想要的。

您可以尝试将灰度值用作 3D 堆叠纹理中的堆叠维度 (Z),其中每个纹理 (X,Y) 都是手绘的、外观随机的、均匀密度的点画图案。黑暗级别之间的边界看起来很奇怪,但请尝试在堆叠维度上进行最近点和线性采样。

我不是为你写代码……至少不是免费的。

于 2009-06-15T22:03:47.190 回答