In article <20031106220604.2741.qmail@web41307.mail.yahoo.com>, Greg Toombs <gregtoombs@yahoo.com> writes:
Personally, I would recommend against the use of MFC.
Well, MFC is what it is. Its a fully featured application framework that does lots of the grunt work for you. That is the upside -- it saves you work. The downside is that it is a monolithic class library and if you're in for a penny, you're in for a pound. It feels "heavy" in that even a small MFC program brings in a big bunch of stuff. However, the incremental cost for adding more functionality after you take that first step is small.
I would tend to use raw win32 calls along with the DirectX API to create this project (if we do it, we may as well do it correctly).
DirectX has a place in Fractint. I would -not- recommend using raw Win32 API, however. Its just too much work and doing a major Windows revamp of Fracint is already enough work just by itself. (I know, I've studied the source code and made some efforts in that direction.) If you're going to do anything, you should start with the device abstraction that I introduced into the xfractint code base. It would be easy to start with that and go the DirectX route with a simple text-based UI like fractint already has. This would introduce a minimal amount of fussing with the Win32 API. If you want a "fancy" UI then I would recommend using some sort of UI framework that is native to Windows, such as MFC or WTL. I don't believe in "portable" UI frameworks; it has been my experience that they tend to be lowest common denominator and don't get everything exactly right on any of the platforms on which they work, thus making everything written with them feel just a little odd on every platform. The important point, though, is to start with the device abstraction that I've already introduced into the code. The code base for fractint should migrate into an "engine" portion and a "UI" portion. For the UI portion we should be able to do that in the best way for each platform (i.e. a native windowing toolkit like MFC for Windows, Toolbox for the Mac, etc.), or we could continue on with the stupid text-based UI that fractint has right now. -- "The Direct3D Graphics Pipeline"-- code samples, sample chapter, FAQ: <http://www.xmission.com/~legalize/book/> Pilgrimage: Utah's annual demoparty <http://pilgrimage.scene.org>