IDX9.h

//	IDX9.h
#ifndef IDX9_H_
#define IDX9_H_

#include <d3d9.h>
#include <strsafe.h>
#include <iostream>
#include "Math.h"

struct ScreenVertex
{
	float x ;
	float y ;
	float z ;
	float rhw ;
} ;

#define SCREEN_VERTEX_FVF (D3DFVF_XYZRHW)

class IDX9
{
private:
	static const int BVBSize = 65536 ;
	static const int BIBSize = 65536 * 2 ;

	LPDIRECT3D9             g_pD3D ;
	LPDIRECT3DDEVICE9       g_pd3dDevice ;
	LPDIRECT3DVERTEXBUFFER9 pVertexBuffer ;
	LPDIRECT3DINDEXBUFFER9 pIndexBuffer ;

	void CleanUp() ;

public:
	ScreenVertex* backVertexBuffer ;
	int* backIndexBuffer ;

	int BVBCursor ;	//	short for backVertexBuffer
	int BIBCursor ;

	IDX9() ;
	~IDX9() ;

	bool SetUp(HWND hwnd) ;

	void RefreshBackBuffer() ;

	bool SubmitPolygonList(PolySelfContained* polyList, int count) ;

	bool DrawBackBuffer() ;

	void Render() ;
} ;

#endif



   

你可能感兴趣的:(IDX9.h)