quote:What about D3DX? That is a huge amount of highly optimized code with a lot of proprietary IHV info in it. Easy to replicate? I don''t think so.
- There''s no need to provide a helper library that is as fast as D3DX. Remember that the suggested goal is not to replace DirectX on windows, it''s merely making it portable. This port doesn''t need to be as optimal as the windows one, it just has to be good enough to run things at reasonable speeds. It''s better than nothing
Heavy-weight engines are still being written in C++. I think that the next couple of years will see light-weight apps/engines/games being written with managedDX (by lightweight, I mean games that don''t do loads of processing, and winforms-based multimedia apps)
- Many Many games have been released *without* D3DX (on windows and other platforms) and have excellent performance. It''s quite possible and relatively easy, if you have those who can do it. Given that dotGNU/mono are open-source, they''ll most definitely find some interested assembly hackers
- There are free, optimized math libraries available from AMD and Intel (and others as well)
- What are you referring to regarding proprietary info, exactly? Cache sizes and similar? These can be retrieved via DX9 for DDI9 drivers, as far as I recall, so you can do that for all the cards that support it and use that info.
Even if these aren''t replicated, it''d still be OK to live without them (Using a common-sense cache-size would work good enough for most types of hardware, for example).
quote:What about DirectInput and DirectSound and so on? Not to leave out DirectDraw either since it''s in Managed DX.
- For sound, there''s OpenAL. It''s not as deep as DSound, as far as I know, but it''d get you the most important functionality done. i.e. You can ship with it.
- Basic input support in any OS covers the essential ground. Using that, you can get the very common immediate/buffered keyboard and mouse input to work right (and that covers the FPS/RTS/RPG genres, at least).
If there''s more advanced input support on *n{i,u}x-based systems - even if it''s not as uniform, or full-featured as DInput - you could get some sticks and pads running too.
- DirectDraw is basic hardware-accelerated 2D output. XFree86 ships with drivers supporting 2D drivers for almost all hardware, and 3D support for many/most (not sure about this 3D thing). I don''t think it''d be that hard to do the most commonly used DirectDraw functionality. Not sure about the more advanced DDraw stuff.
The point is, for anything exposed by some DirectX API, but we can''t do, we do one of the following:
- Report it as not-supported (through the caps system)
- Fallback to a reasonable lower setting that''d work
- Fail
Muhammad Haggag
Bitwise account: MHaggag -