我已经用C语言为3D图形编写了自己的软件管道(只是为了向自己证明我可以做到),并且在看到它工作之后,我想以DLL形式使用它作为Visual Basic .NET的库。过去,我以这种方式混合 C 和 VB 取得了很好的成功(C 在 DLL 中完成了艰苦的工作,VB 看起来很漂亮),但我现在想做的有点不同。我的软件渲染器需要以 VB 形式显示图形,最有可能在面板上显示。理想情况下,我会做两件事之一。首先,我可以在 Visual Basic 中创建位图类的实例,以某种方式将指向像素数组的指针传递给 C 中的呈现函数,然后将位图绘制到面板上。或者其次,我可以以某种方式更直接地控制面板上的图形,但我不确定这将如何工作。有人知道我怎样才能实现我的目标吗?
编辑:到目前为止,我一直在使用 SDL 来显示图形。
我可能已经在这里找到了我想要的东西。
http://msdn.microsoft.com/en-us/library/5ey6h79d.aspx
一旦我尝试了我的计划,我会回来提供更多信息。基本上,我可以使用锁定位方法获取位图的像素数组地址。我可以将其传递给我的 C 渲染函数。它应该完美地工作。