Click here to Skip to main content
Click here to Skip to main content
 
Add your own
alternative version

MFC D3D Application: Direct3D Tutorial: Part I

, 9 Dec 2012 CPOL
Yet another Direct3D framework, this time for MFC apps, with a step by step tutorial
//-----------------------------------------------------------------------------
// XD3DSettings.h: Current D3D settings, including adapter, device, mode, etc.
//-----------------------------------------------------------------------------

#ifndef _XD3DSETTINGS_H_
#define _XD3DSETTINGS_H_

#include "XD3DUtil.h"
#include "XD3DEnum.h"

typedef CTArray<AdapterInfo*> AdapterInfoPtrArray;

//-----------------------------------------------------------------------------
// CXD3DSettings: Current D3D settings: adapter, device, mode, formats, etc.
//-----------------------------------------------------------------------------
class CXD3DSettings
{
public:
	AdapterInfoPtrArray	AdapterInfos;	// fullscreen [0] and windowed [1]

    UINT Windowed;						// index to the previous

	UINT ndm[2];	// indices to the best display mode within each AdapterInfo
	UINT ndi[2];	// indices to the best DeviceInfo within each AdapterInfo
    UINT ndc[2];	// indices to the best DeviceCombo within each DeviceInfo

	// indices into DeviceCombo properties that can be changed
	UINT nDSFormat;

	// constructor
	CXD3DSettings();

	// 'Get' wrappers
	AdapterInfo*		GetAdapterInfo();
    DeviceInfo*			GetDeviceInfo();
    D3DDISPLAYMODE		GetDisplayMode();
    
	VPTYPE				GetVPType();
    D3DFORMAT			GetBackBufferFormat();
    D3DFORMAT			GetDSFormat();
    D3DMULTISAMPLE_TYPE GetMSType();
    DWORD				GetMSQuality();
    DWORD				GetPresentInterval();

    // 'Set' wrappers
	void SetDSFormat(UINT nFmt);
};

#endif

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

hector [.j.] rivas
Software Developer (Senior) CompuCom, Inc.
United States United States
Hector J. Rivas has 25+ years of experience managing hardware and software development under many different operating systems, platforms and languages. He has developed microcontroller interfaces and PC games; authored computer based training lessons and delivered fully functional financial and administrative data-intensive applications, as well as image processing and other calculation-intensive applications. Mr. Rivas has also managed Y2K remediation, large scale platform migration and Web site projects, from R&D to actual deployment.
Follow on   LinkedIn

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.141223.1 | Last Updated 9 Dec 2012
Article Copyright 2006 by hector [.j.] rivas
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid