   microsoft framework for dx is not good
  it use many ugly stuff. for example:#define SET_ACCESSOR( x, y )  inline void Set##y( x t )  { DXUTLock l; m_state.m_##y = t; };#define GET_ACCESSOR( x, y )  inline x Get##y() { DXUTLock l; return m_state.m_##y; };#define GET_SET_ACCESSOR( x, y )   SET_ACCESSOR( x, y ) GET_ACCESSOR( x, y )//--------------------------------------------------------------------------------------// Callback registration //--------------------------------------------------------------------------------------typedef bool    (CALLBACK *LPDXUTCALLBACKISDEVICEACCEPTABLE)( D3DCAPS9* pCaps, D3DFORMAT AdapterFormat, D3DFORMAT BackBufferFormat, bool bWindowed, void* pUserContext );typedef bool    (CALLBACK *LPDXUTCALLBACKMODIFYDEVICESETTINGS)( DXUTDeviceSettings* pDeviceSettings, const D3DCAPS9* pCaps, void* pUserContext );typedef HRESULT (CALLBACK *LPDXUTCALLBACKDEVICECREATED)( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext );it use many macro and global function. are there any reason for that? is it worth learning?   
  If that's bad, then the people who wrote boost::spirit should be assassinated.   ;  yah just about anything that microsoft touches feels bloated thats just something to get used too. if you plan on being serious about dx then your going to have to learn it eventually. I don't know about every single aspect about it but some of it.   ;Quote:Original post by MushuIf that's bad, then the people who wrote boost::spirit should be assassinated.:-) I look at it. but what is a "recursive-descent" parser?"I was amazed how a mutually recursive set of functions can model a grammar."what is mutually recursive set of functions?   ;  I'm currently not using the Framework code but it seems D3D10 will be written in a similar way so maybe not a choice when that is released.   ;Quote:Original post by Anonymous Posteryah just about anything that microsoft touches feels bloated thats just something to get used too. if you plan on being serious about dx then your going to have to learn it eventually. I don't know about every single aspect about it but some of it.There's nothing bloated about it.  OGL is a pile of junk and that's all there is to it.  And if you wanted to talk about bloated, look at boost... talk about a dumping ground for compiler engineers.;  You can use DXUT, and it's reasonable, if somewhat crufty. If you use it, I suggest you clean it up, cut out some bits, and change some other bits -- use it as your own starter code, rather than as gospel (which it ain't).The DirectX SDK claims that DXUT was structured as a set of global functions because that's what the majority of developers wanted -- similar to GLUT, perhaps, but without the simplicity.Personally, I don't use it anymore. It's pretty easy to create your own window, and your own device. Handling device lost or changing is easy, if you model each resource (mesh, texture, etc) with an object that has "Load" and "Unload" functions, such that you can actually unload all resources, dispose the Direct3D device, and then re-load all resources without any of the upper-layer code necessarily noticing.;  As a basic rule, don`t use something you don`t have an idea how it works.Personally, I don`t like the basic framework, too much Windows API crap. I like to keep that to a minimum. The helper classes however, can teach you a lot of useful stuff if you check the surce code, like camera handling.   ;Quote:Original post by darkelf2k5As a basic rule, don`t use something you don`t have an idea how it works.Best to turn off your CPU then. While you're at it, stop using Windows, or Linux or MacOS. Hell, don't even use a C++ compiler. Don't bother using DirectX or OpenGL, either. Don't drive a car, or play a DVD. Christ son, stop using your computer.How about: As a basic rule, don't use something you don't know how to use.   ;Quote:Original post by _goatQuote:Original post by darkelf2k5As a basic rule, don`t use something you don`t have an idea how it works.How about: As a basic rule, don't use something you don't know how to use.Very well said.   