WPF 3D挤出“位图”

时间:2010-06-11 08:43:42

标签: c# wpf 3d vector

我正在寻找一种在wpf 3D中模拟投影仪的方法:

我有“in”参数:

  • 光束形状:黑白位图文件

  • 光束尺寸(例如:30°)

  • 光束颜色

  • 光束强度(调光器)

  • 投影机位置(x,y,z)

  • 光束位置(平移(x),倾斜(y)相对于投影仪)

首先我想使用轻物体,但似乎wpf无法做到这一点

所以,现在我认为我可以为每个投影机制作一个来自我的位图的多边形......

首先我需要将黑白位图转换为矢量。 只有简单的形状(气泡,线,点,交叉...)

是否有任何WPF方式可以做到这一点?或者可能是外部程序文件(免费软件);

然后我需要使用转换后的位图的形状构建多边形, 颜色,大小,参数方向。

我不知道如何定义光束的长度,以及它是否可以有信息......

为了显示光束结果,我想到制作一个房间(地板,墙壁......),光束将结束这些墙......

我不关心真正的灯光渲染(色散...),但场景渲染必须是实时的,至少15次/秒(可能同时有1到100台投影机),有关的信息将为每个渲染发送位置,角度,形状,颜色......

那么,我需要样本,我想所有这些东西对其他人都有用

如果您有示例代码:

将位图转换为矢量 从具有角度参数的一个点挤出矢量直到墙壁碰撞 设置光束的x,y位置取决于投影机位置 设置光束的Alpha强度,颜色

也许我完全错了,WPF还没有为此做好准备,所以当然以样品的方式告诉我其他方式(xna,d3D); - )

谢谢你

2 个答案:

答案 0 :(得分:0)

我将“光束”表示为光。我将位图加载到模板缓冲区中。您应该可以使用OpenGL,DirectX或XNA执行此操作。 AFAIK,WPF不允许访问模板缓冲区或阴影的硬件。

答案 1 :(得分:0)

缝合做“地板上的浅色图案”有两种方式

使用带有cookie的聚光灯。或者使用自定义着色器进行添加剂混合的投影仪。

或手动创建部分透明的多边形来模拟“光线”。我需要一个例子用于一个或另一个案例