Slimdx.lib -

SlimDX.lib wasn't just a library. It was a declaration that managed code deserved access to the bare metal. It failed commercially, but it paved the concrete that Silk.NET and Vortice.Windows walk on today.

SlimDX.lib was the Rosetta Stone. It allowed you to write: slimdx.lib

Most developers ignored the .lib . They just referenced the C# DLL and moved on. But the .lib was the heart of the beast. SlimDX

Why? Because C# cannot inherit from C++ COM interfaces. You cannot write class MyDevice : ID3D11Device in C#. The v-table layout is wrong; the calling convention is wrong; the world is wrong. But the

var device = new Device(DriverType.Hardware, DeviceFlags.None); var texture = Texture2D.FromFile(device, "explosion.png"); While underneath, slimdx.lib was screaming through the kernel, calling CreateDXGIFactory1 and D3D11CreateDevice , and making sure the HRESULT errors bubbled up as proper .NET exceptions. The project was maintained by a handful of heroes: Mike "promit" Popoloski, Josh "the secret weapon" Petrie, and others. They had to reverse-engineer undocumented driver behaviors and rewrite C++ templates into C# generics by hand.

Pitanja i odgovori

Najnoviji članci