为什么不能正常显示呢?
时间:2011-09-13
来源:互联网
为什么没有显示到东西呢?
我原来没有使用DXUT的
现在只有黑色的一片,什么都没有
C/C++ code
我原来没有使用DXUT的
现在只有黑色的一片,什么都没有
C/C++ code
#include "head.h" #include "define.h" #include "DXUTsettingsdlg.h" #include "SDKmisc.h" #pragma warning(disable: 4995) #define WM_MOUSEWHEEL 0x020A //***************** Camera ********************************* CModelViewerCamera MyCamera; //***************** Model ********************************** Model_info *model; using namespace std; int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { DXUTSetCallbackD3D9DeviceCreated( OnCreateDevice ); DXUTSetCallbackD3D9FrameRender( OnFrameRender ); DXUTSetCallbackMsgProc( MsgProc ); DXUTSetCallbackFrameMove( OnFrameMove ); DXUTInit( true, true ); // Parse the command line and show msgboxes DXUTCreateWindow( L"G" ); DXUTCreateDevice( true, 1024, 768 ); DXUTMainLoop(); //***************** Wait Message ********************* return DXUTGetExitCode(); } LRESULT CALLBACK MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bool* pbNoFurtherProcessing, void* pUserContext ) { MyCamera.HandleMessages( hWnd, uMsg, wParam, lParam ); return 0; } HRESULT CALLBACK OnCreateDevice( IDirect3DDevice9* pd3dDevice, const D3DSURFACE_DESC* pBackBufferSurfaceDesc, void* pUserContext ) { pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,0,0), 1.0f, 0); model = LoadModel_Texture(L"I:\\I disk\\可移动磁盘 (L)\\3DS文件转换为X文件\\conv3ds\\test.x", L"I:\\I disk\\可移动磁盘 (L)\\3DS文件转换为X文件\\conv3ds\\Serah.jpg", pd3dDevice); D3DXVECTOR3 eyePt(0.0f, 0.0f, 50.0f); D3DXVECTOR3 lookAt(0.0f, 0.0f, 0.0f); MyCamera.SetViewParams(&eyePt, &lookAt); float fAspectRatio = pBackBufferSurfaceDesc->Width / ( FLOAT )pBackBufferSurfaceDesc->Height; MyCamera.SetProjParams( D3DX_PI / 4, fAspectRatio, 0.1f, 1000.0f ); MyCamera.SetWindow( pBackBufferSurfaceDesc->Width, pBackBufferSurfaceDesc->Height ); return S_OK; } void CALLBACK OnFrameRender( IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext ) { if (pd3dDevice->BeginScene()) { //***************************************************** D3DXMATRIX world = *MyCamera.GetWorldMatrix() ; pd3dDevice->SetTransform(D3DTS_WORLD, &world) ; // Set view matrix D3DXMATRIX view = *MyCamera.GetViewMatrix() ; pd3dDevice->SetTransform(D3DTS_VIEW, &view) ; // Set projection matrix D3DXMATRIX proj = *MyCamera.GetProjMatrix() ; pd3dDevice->SetTransform(D3DTS_PROJECTION, &proj) ; //***************** Render **************************** model->Mesh->DrawSubset(0); pd3dDevice->SetTexture(0, model->texture); //***************** Render **************************** pd3dDevice->EndScene(); pd3dDevice->Present(NULL, NULL, NULL, NULL); } } void CALLBACK OnFrameMove( double fTime, float fElapsedTime, void* pUserContext ) { MyCamera.FrameMove( fElapsedTime ); }
作者: WJN92 发布时间: 2011-09-13
3d的东东,我不懂 我肯定要学习,先标记
楼主调试时这些回调函数都可以进入吗,可以设个断点试试看是否进入了回调
楼主调试时这些回调函数都可以进入吗,可以设个断点试试看是否进入了回调
作者: guyue6670 发布时间: 2011-09-13
找个dxut正确的框架,然后修改添加自己的绘制函数。
作者: dizuo 发布时间: 2011-09-13
引用 1 楼 guyue6670 的回复:
3d的东东,我不懂 我肯定要学习,先标记
楼主调试时这些回调函数都可以进入吗,可以设个断点试试看是否进入了回调
3d的东东,我不懂 我肯定要学习,先标记
楼主调试时这些回调函数都可以进入吗,可以设个断点试试看是否进入了回调
是的,都能进入.
作者: WJN92 发布时间: 2011-09-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28