我想用WPF写一个简单的光线跟踪器。这是一个学习项目,因此我喜欢可配置的性能(否则我会选择C++)。WPF中的快速像素绘制
我仍然想要相对较快的像素绘制。在StackOverflow上的previous question包含通过获取GDI位图在WPF中实现此目的的代码。从相对小我知道的Windows编程,
- GDI缓慢
- DirectX是快速
- WPF使用DirectX下(不知道这虽然WPF的部分)
是否有可能使用DirectX(而不是GDI)通过WPF Canvas(或类似的)获得像素级访问?
我也会考虑将WPF窗口(和其他WPF控件一起)中的DirectX API调用结合起来的建议(如果可能的话)。
在此先感谢。
最简单的方法是创建一个命令行应用程序,该应用程序呈现一些像四面体一样简单并将其保存为PNG的应用程序。一旦你有了,你会解决很多与raytracer本身相关的问题。然后你可以担心绘图到屏幕等。 – Indy9000
@Gigi:我不认为这是明智的尝试直接写在WPF屏幕 - 请参阅这里:http://blogs.msdn.com/b/greg_schechter/ archive/2006/05/02/588934.aspx – Surfbutler
我认为使用'WritableBitmap'可能是一个好主意。 – CodesInChaos