Direct3D试玩 - 实现一个Image Render

本文介绍了作者在尝试使用Direct3D实现一个Image Render时遇到的问题及解决过程。在Direct3D9的设备创建过程中,遇到CreateDevice方法失败的问题,通过查阅SDK文档发现不能在WM_CREATE消息处理中进行设备创建。将初始化代码移到适当位置并调整窗口大小后,最终成功实现了Render功能。
摘要由CSDN通过智能技术生成

前些日子写了一个基于DrawDib视频函数库的Render,虽然显示图片速度非常快,但是还是难以满足一些交互式的实时显示.而且在放大缩小的时候,无法设置反锯齿功能(antialias). 本来不想用Directx,看来现在还是逃不过. 我很讨厌用接口经常变动的东西,更讨厌需要安装支持动态链接库的东东, directx就是这样的东西,direct1到现在的directx9,每一次新接口都会变动,当然老的接口还是可以用的,但是出来相应的SDK文档却没有老接口的调用方法。没办法,down了个Directx9硬着头皮学学。

研究了一下午再加一晚上的SDK文档, 脑子里差不多有Render的框架了,大致如下:

class MMD3DRender

{

protected:

    IDirect3D9*             m_pD3D;

    IDirect3DDevice9*       m_pDev;

    IDirect3DSurface9*      m_pSuf;

……

    //作一些Direct3D9的初始化工作

    bool Init( HWND);

    // Buffer里面的东西送到Surface上去(m_pSuf)

    void Draw( BYTE* pBuffer,int iStep, LPRECT lpRc);

    // WM_PAINT 消息处理

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值