Original Author: nightmare
Source: http://blog.csdn.net/nightmare/archive/2007/03/27/1542927.aspx
The next version of xNa is expected to be released in April, but there are still many questions about the future of DX on. NET. With the freeze of mdx1.1, the expected mdx2/. NET 2.0 to mdx10/d3d10 roadmap has been annihilated with the cancellation of the mdx2 project. Apparently, Microsoft does not want MDX to take the lead in xNa, but xbox360 is the main feature of xNa. Mdx2 was relocated and transformed into xNa framework, with the target locking Xbox development. In this case, it was just emerging. net/dx development has a large vacuum area, developers are facing the dilemma of either turning to xNa, returning to C ++, or continuing to use mdx1.1 that is no longer updated.
XNa is a well-designed API. I don't need to talk about its advantages. It is the first choice for game development on C. However, xNa is designed to be compatible with 99% of the Code across Xbox and Windows platforms, making it limited to Xbox in many places. Most importantly, it cannot support d3d10, because xbox360 is a DX9-level hardware. These restrictions affect the development of Windows platform games and 3D programs. For game production tools and non-game 3D applications, xNa is too developed for games. A large number of d3dx auxiliary functions are excluded, and mdx1.1 must be used for directsound, directinput, and DirectShow. The official explanation is that the focus at this stage is to "simplify the hobby-based development of amateurs ".
Although these practices do not satisfy everyone, they have indeed implemented Microsoft vision. This vision is: Today's games are becoming more and more complex, and the development cost is getting bigger and bigger. It has reached the scale of movie production, reducing development costs and increasing development speed has become an urgent demand. The development of game engines requires a high level of labor and time costs. Therefore, you can streamline the engine and save costs by transferring the pre-processing part to the production tools with low development costs and quality requirements. This is true, but it also implies that it assumes that all game tools are used internally, while completely ignoring non-game 3D applications.
D3d10 is moving towards a more professional direction. There is no longer a simplified initialization process in d3d9, and the interface is closer to the hardware pipeline model. In particular, it is not based on COM, but simply an interface. Of course, for most developers, d3d10 is not a problem currently. After all, it can only exist on Vista and dx10 graphics cards. However, as time advances, it will become increasingly problematic.
Despite constant questioning, Microsoft did not reveal any official news. But in terms of action, its intention is obvious, xNa framework! In the battle for xbox360 and PS3, xNa framework is an important force to support Xbox. Drag developers into the Xbox camp and use the creativity of the masses to build the mass base. The term "Economics" is "Creative Commons. If mdx2 exists, it will inevitably take away the vast majority of Windows platform developers. For professional game development, the vast majority of engines are based on C ++, And. Net APIs are not very important to them, so mdx10 can be suspended. Once xNa's current goals are fulfilled, they can make a Windows platform-specific extension, or launch it together with the next generation of d3d11-based Xbox. But this becomes a waiting game, maybe one year, maybe five years. On the other hand, mdx10 does not seem to have much conflict with xNa. After all, d3d10 can only be used on Vista, but has little intersection with the user groups of mdx2 and xNa. The dx10 development team showed some ideas about how to create mdx10, but it seems to be hesitant. This situation is so embarrassing that someone threatens to turn to OpenGL.
In any case, developers should have become accustomed to the rapid development of DX, and each version is incompatible. The underlying API and engine logic are isolated in the Engine Design for future transplantation.
Hey, you can at least repost the article for the following reasons:
My daily job is MDX + C # 3D development, but this is not what I want, because I don't see hope. But one day I will go back to the DirectX + C ++ Road, and this day is not far away ......