#include <Windows.h>
#include <D3D9.h>
#pragma comment(lib, "D3D9.lib")
const TCHAR *kClassName = "Rectangle_D3D";
IDirect3D9 *d3d9 = nullptr;
IDirect3DDevice9 *device9 = nullptr;
IDirect3DVertexBuffer9 *vectex_buffer9 = nullptr;
D3DPRESENT_PARAMETERS params;
D3DPRESENT_PARAMETERS *p;
BOOL window_mode = TRUE;
#define D3D_FVF_VECTOR (D3DFVF_XYZRHW | D3DFVF_DIFFUSE)
const int kWndWidth = 640;
const int kWndHeight = 480;
struct Vector {
Vector(float v_x, float v_y, float v_z, DWORD c) : x(v_x), y(v_y), z(v_z), color(c) {
rhw = 1.0f;
}
float x, y, z, rhw;
DWORD color;
};
LRESULT CALLBACK WindowProc(
_In_ HWND hwnd,
_In_ UINT uMsg,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
bool InitD3D(HWND hwnd);//初始化
bool Done();//完成
bool ReDrawRectangle();
int CALLBACK WinMain(
_In_ HINSTANCE hInstance,
_In_ HINSTANCE hPrevInstance,
_In_ LPSTR lpCmdLine,
_In_ int nCmdShow
) {
//init app
WNDCLASSEX wndclassex;
wndclassex.cbSize = sizeof(WNDCLASSEX);
wndclassex.style = CS_HREDRAW | CS_VREDRAW;
wndclassex.lpfnWndProc = WindowProc;
wndclassex.cbClsExtra =
#include <D3D9.h>
#pragma comment(lib, "D3D9.lib")
const TCHAR *kClassName = "Rectangle_D3D";
IDirect3D9 *d3d9 = nullptr;
IDirect3DDevice9 *device9 = nullptr;
IDirect3DVertexBuffer9 *vectex_buffer9 = nullptr;
D3DPRESENT_PARAMETERS params;
D3DPRESENT_PARAMETERS *p;
BOOL window_mode = TRUE;
#define D3D_FVF_VECTOR (D3DFVF_XYZRHW | D3DFVF_DIFFUSE)
const int kWndWidth = 640;
const int kWndHeight = 480;
struct Vector {
Vector(float v_x, float v_y, float v_z, DWORD c) : x(v_x), y(v_y), z(v_z), color(c) {
rhw = 1.0f;
}
float x, y, z, rhw;
DWORD color;
};
LRESULT CALLBACK WindowProc(
_In_ HWND hwnd,
_In_ UINT uMsg,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);
bool InitD3D(HWND hwnd);//初始化
bool Done();//完成
bool ReDrawRectangle();
int CALLBACK WinMain(
_In_ HINSTANCE hInstance,
_In_ HINSTANCE hPrevInstance,
_In_ LPSTR lpCmdLine,
_In_ int nCmdShow
) {
//init app
WNDCLASSEX wndclassex;
wndclassex.cbSize = sizeof(WNDCLASSEX);
wndclassex.style = CS_HREDRAW | CS_VREDRAW;
wndclassex.lpfnWndProc = WindowProc;
wndclassex.cbClsExtra =