|
我用的是c++builder 6
代码如下
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include<d3d9.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#define Error(str) MessageBox(NULL,str,NULL,NULL)
TForm1 *Form1;
LPDIRECT3D9 g_pD3D=NULL;
LPDIRECT3DDEVICE9 g_pd3dDevice=NULL;
HRESULT InitD3D(HWND hWnd)
{
if(NULL==(g_pD3D=Direct3DCreate9(D3D_SDK_VERSION)))
{
Error("Direct3D create failed!");
return E_FAIL;
}
D3DDISPLAYMODE d3ddm;
if(FAILED(g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT,&d3ddm)))
{
Error("Get display mode failed!");
return E_FAIL;
}
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp,sizeof(d3dpp));
d3dpp.Windowed=TRUE;
d3dpp.SwapEffect=D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat;
if(FAILED(g_pD3D->CreateDevice(D3DADAPTER_DEFAULT,D3DDEVTYPE_HAL,
hWnd,D3DCREATE_HARDWARE_VERTEXPROCESSING,&d3dpp,&g_pd3dDevice)))
{
Error("Create device failed!");
return E_FAIL;
}
return S_OK;
}
void Cleanup()
{
if(NULL!=g_pd3dDevice)
if(g_pd3dDevice->Release())
g_pd3dDevice=NULL;
if(NULL!=g_pD3D)
if(g_pD3D->Release())
g_pD3D=NULL;
}
void Render()
{
if(NULL==g_pd3dDevice)
return ;
g_pd3dDevice->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(128,128,128),1,0);
g_pd3dDevice->BeginScene();
g_pd3dDevice->EndScene();
g_pd3dDevice-> resent(NULL,NULL,NULL,NULL);
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::RenderTimerTimer(TObject *Sender)
{
Render();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
Cleanup();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
InitD3D(PerspectivePanel->Handle);
}
//---------------------------------------------------------------------------
错误如下
[Linker Error] Unresolved external 'Direct3DCreate9' referenced from E:\PROJECTS\3DMODELEDITOR\UNIT1.OBJ
为十么会出现这样的错误,我加了$(d3d9)\Lib;$(BCB)\Lib;$(BCB)\Bin;$(BCB)\Imports;$(BCB)\Projects\Bpl;$(BCB)\Projects\Lib
|
|