游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3170|回复: 5

棘手的DX9框架问题(MFC)

[复制链接]

16

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2008-7-21 19:06:00 | 显示全部楼层 |阅读模式
小弟C++水平不是很好,初学MFC,前天用MFC+DX9写了个D3D9的框架,运行的时候窗口客户区域没有出现Render中的Clear效果,哎,代码翻来复去地查看都看不出有什么错误,可就是存在这个问题,望各位路过的好心人打救小弟,非常感谢!
好像是GameRes出了点问题,附件无法上传,不过我开了个DX的技术交流Q群,欢迎大家加入一起学习交流,顺便帮小弟解决当前难题。

Q群号码:66480652
验证信息:DX

16

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
 楼主| 发表于 2008-7-22 06:19:00 | 显示全部楼层

Re:棘手的DX9框架问题(MFC)

我把代码发上来,帮忙看看错在哪里...

//H头文件(DX.h)

class CMyApp : public CWinApp
{
public:
        virtual BOOL InitInstance();
        HRESULT Render();
};

class CMainWindow : public CFrameWnd
{
public:
        CMainWindow();
protected:
        DECLARE_MESSAGE_MAP();
};

//CPP文件 (DX.CPP)

#include <afxwin.h>
#include "d3d9.h"
#include "d3d.h"
#pragma comment(lib,"d3d9.lib")
#pragma comment(lib,"d3dx9.lib")
#include "DX.h"

CMyApp myApp;
LPDIRECT3DDEVICE9 pd3dDevice;
LPDIRECT3D9 pD3D = Direct3DCreate9(D3D_SDK_VERSION);
D3DPRESENT_PARAMETERS d3dpp;

BOOL CMyApp::InitInstance()
{
        m_pMainWnd = new CMainWindow;

        d3dpp.BackBufferWidth = 800;
        d3dpp.BackBufferHeight = 600;
        d3dpp.Windowed = TRUE;
        d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
        d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;

        pD3D->CreateDevice(
                D3DADAPTER_DEFAULT,
                D3DDEVTYPE_HAL,
                m_pMainWnd->m_hWnd,
                D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                &d3dpp,
                &pd3dDevice
                );
        m_pMainWnd->ShowWindow(m_nCmdShow);
        m_pMainWnd->UpdateWindow();

        CMyApp::Render();

        pD3D->Release();

        return true;
}
HRESULT CMyApp::Render()
{
        pd3dDevice->Clear(0,NULL,D3DCLEAR_TARGET,D3DCOLOR_XRGB(0,0,255),1.0f,0);
        if( SUCCEEDED(pd3dDevice->BeginScene()) )
        {
                pd3dDevice->EndScene();
        }
        return S_OK;
}

BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
  //...
END_MESSAGE_MAP()

CMainWindow::CMainWindow()
{
        Create(NULL,"The Hello Application",WS_OVERLAPPEDWINDOW,CRect(0,0,800,600));
}

16

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
 楼主| 发表于 2008-7-22 06:29:00 | 显示全部楼层

Re: 程序文件

我把文件发上来.分卷压缩了.

sf_200872262829.rar

500 KB, 下载次数:

16

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
 楼主| 发表于 2008-7-22 06:29:00 | 显示全部楼层

Re: 棘手的DX9框架问题(MFC)

第二卷

sf_20087226298.rar

500 KB, 下载次数:

16

主题

66

帖子

66

积分

注册会员

Rank: 2

积分
66
 楼主| 发表于 2008-7-22 06:30:00 | 显示全部楼层

Re: 棘手的DX9框架问题(MFC)

第三卷

sf_200872262941.rar

376.5 KB, 下载次数:

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2008-7-23 21:15:00 | 显示全部楼层

Re:棘手的DX9框架问题(MFC)

你最好把MFC里面的主循环"扣出来"再说吧。

可以看我的网站上有介绍
http://www.cppblog.com/tonykee/a ... 17/44725.html#56373
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-21 22:13

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表