All pastes #171975 Raw Edit

Mine

public cpp v1 · immutable
·published 2006-09-15 19:07 UTC
rendered paste body
#define WIN32_LEAN_AND_MEAN#define IDC_OUTPUT_WINDOW 1000#define CUSTOMFVF (D3DFVF_XYZ | D3DFVF_DIFFUSE)#include <windows.h>#include <stdlib.h>#include <d3d9.h>#include <d3dx9.h>#pragma comment(lib, "d3d9.lib")#ifdef _DEBUG	#pragma comment(lib, "d3dx9d.lib")#else	#pragma comment(lib, "d3d9x9.lib")#endifLPDIRECT3DVERTEXBUFFER9 t_buffer = NULL;LPDIRECT3D9 g_pD3D;LPDIRECT3DDEVICE9 g_pD3Ddevice;void init_matrices(LPDIRECT3DDEVICE9);struct V_STRUCT {	float x, y, z;	DWORD color;};V_STRUCT t_vert[] = {	{0.0f/4, 0.0f/4, 0.0f, D3DCOLOR_XRGB(0, 0, 255),},	{1.0f/4, -5.0f/4, 0.0f, D3DCOLOR_XRGB(0, 255, 0),},	{1.0f/4, 5.0f/4, 0.0f, D3DCOLOR_XRGB(255, 0, 0),},};	LRESULT CALLBACK WndProc(HWND h, UINT message, WPARAM wParam, LPARAM lParam);int total = 0, value1 = 0, operation = 0;bool first = 1;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCommand){	WNDCLASSEX winc, dxclass;	HWND hwnd, dxwnd;	MSG msg;	winc.cbSize = sizeof WNDCLASSEX;	winc.style = CS_HREDRAW | CS_VREDRAW;	winc.lpfnWndProc = WndProc;	winc.cbClsExtra = 0;	winc.cbWndExtra = 0;	winc.hInstance = hInstance;	winc.hIcon = LoadIcon(NULL, IDI_APPLICATION);	winc.hCursor = LoadCursor(NULL, IDC_ARROW);	winc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);	winc.lpszMenuName = NULL; 	winc.lpszClassName = "MyClass";	winc.hIconSm = LoadIcon(NULL, IDI_WINLOGO);	dxclass.cbSize = sizeof WNDCLASSEX;	dxclass.style = CS_HREDRAW | CS_VREDRAW;	dxclass.lpfnWndProc = WndProc;	dxclass.cbClsExtra = 0;	dxclass.cbWndExtra = 0;	dxclass.hInstance = hInstance;	dxclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);	dxclass.hCursor = LoadCursor(NULL, IDC_ARROW);	dxclass.hbrBackground = NULL;	dxclass.lpszMenuName = NULL; 	dxclass.lpszClassName = "DXClass";	dxclass.hIconSm = LoadIcon(NULL, IDI_WINLOGO);	if (!RegisterClassEx(&winc))		return 0;	if (!RegisterClassEx(&dxclass))		return 0;	hwnd = CreateWindowEx(NULL,		                  "MyClass",						  "WindowTitle",						  WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_SYSMENU,						  100, 100,						  400, 400,						  NULL,						  NULL, 						  hInstance,						  NULL);	dxwnd = CreateWindowEx(NULL,		                  "DXClass",						  "",						  WS_VISIBLE | WS_CHILD,						  100, 100,						  200, 200,						  hwnd,						  NULL,						  hInstance,						  NULL);	if (!hwnd)		return 0;	if (!dxwnd)		return 0;	g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);	if (!g_pD3D)		PostQuitMessage(WM_QUIT);	D3DPRESENT_PARAMETERS g_D3Dpp;	ZeroMemory(&g_D3Dpp, sizeof D3DPRESENT_PARAMETERS);		g_D3Dpp.Windowed = true;	g_D3Dpp.hDeviceWindow = dxwnd;	g_D3Dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;		g_pD3D -> CreateDevice(		D3DADAPTER_DEFAULT,		D3DDEVTYPE_HAL,		dxwnd,		D3DCREATE_SOFTWARE_VERTEXPROCESSING,		&g_D3Dpp,		&g_pD3Ddevice);	init_matrices(g_pD3Ddevice);	g_pD3Ddevice->SetRenderState(D3DRS_LIGHTING, false);g_pD3Ddevice->CreateVertexBuffer(3* sizeof V_STRUCT,								 0,								 CUSTOMFVF,								 D3DPOOL_MANAGED,								 &t_buffer,								 NULL);void* vb_vertices;t_buffer->Lock(0, 0, &vb_vertices, 0);memcpy(vb_vertices, t_vert, sizeof t_vert);t_buffer->Unlock();	while(GetMessage(&msg, NULL, 0, 0) > 0)	{		TranslateMessage(&msg);		DispatchMessage(&msg);		g_pD3Ddevice ->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0,0,0), 1.0f, 0);		g_pD3Ddevice ->BeginScene();		g_pD3Ddevice->SetFVF(CUSTOMFVF);		g_pD3Ddevice->SetStreamSource(0,									  t_buffer,									  0,									  sizeof V_STRUCT);		g_pD3Ddevice ->DrawPrimitive(D3DPT_TRIANGLELIST,									 0,									 1);		g_pD3Ddevice ->EndScene();		g_pD3Ddevice ->Present(NULL, NULL, NULL, NULL);	}	return (int)msg.wParam;}LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){	switch(message)	{		case WM_DESTROY:			PostQuitMessage(WM_QUIT);			break;		case WM_CREATE:			break;		default:			break;	}		return DefWindowProc(hwnd, message, wParam, lParam);}void init_matrices(LPDIRECT3DDEVICE9 D3Dd){	D3DXVECTOR3 eye_vector, lookat_vector, up_vector;	eye_vector = D3DXVECTOR3(0.0f, 0.0f, -8.0f);	lookat_vector = D3DXVECTOR3(0.0f, 0.0f, 0.0f);	up_vector = D3DXVECTOR3(0.0f, 1.0f, 0.0f);	D3DXMATRIX view_matrix;	D3DXMatrixLookAtLH(&view_matrix, & eye_vector, &lookat_vector, &up_vector);	D3Dd->SetTransform(D3DTS_VIEW, &view_matrix);	D3DXMATRIX projection_matrix;	float aspect = 4/3;		D3DXMatrixPerspectiveFovLH(&projection_matrix,							   D3DX_PI / 4,							   aspect,							   1.0f,							   100.0f);	D3Dd->SetTransform(D3DTS_PROJECTION, &projection_matrix);	D3DXMATRIX world_matrix;	D3DXMatrixIdentity(&world_matrix);	D3Dd->SetTransform(D3DTS_WORLD, &world_matrix);}