[Mono-dev] Managed DirectX
Stefan Dösinger
stefandoesinger at gmx.at
Wed Oct 25 05:09:55 EDT 2006
Hi,
I am one of the programmers of the Wine Direct3D implementation, and I
wondered if there are any plans to implement Managed DirectX in Mono, and if
it is possible to share efforts between wine and mono?
I googled around a bit, but couldn't find anything substancial, except that
this was discussed for a SOC project, and that you have issues accessing COM
objects from mono.
This is basically what the wine direct3d code looks like: We have 3 libraries
for the various dx versions, ddraw.dll, d3d8.dll and d3d9.dll. Plans are
going on for a d3d10.dll. Those libraries offer a binary and source
compatible interface to Microsoft's Direct3D user mode interface. We do not
implement the kernel-side DDI or gdientry/ddentry interface and we do not
plan to do that.
ddraw.dll, d3d8.dll and d3d9.dll call our shared wined3d.dll library, which
offers d3d9-like COM interfaces. We are considering dropping COM from wined3d
because refcounting is a huge pita especially regarding ddraw.dll. WineD3D
contains a basically feature-complete Direct3D9c implementation(but still way
too buggy), and a software and opengl ddraw implementation(opengl ddraw is
still buggy). The interface of this libarary is not stable, and may chance
from wine to wine version, although this does not happen often.
If you want to use wine for managed directx you can use d3d9.dll, or wined3d
directly(which will need stabilization of the interface before though). The
COM interface of Direct3D(and the other dx libs) is not terribly complex, and
it does not support all the things that makes COM fun. As long as you can
dereference a pointer and call a function pointer you should be fine :-)
Cheers,
Stefan Dösinger
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.ximian.com/pipermail/mono-devel-list/attachments/20061025/9024d302/attachment.bin
More information about the Mono-devel-list
mailing list