3DS Max plugin 编程五,第一行代码

这个篇章结束,我们能自己写一个*.dle插件,这个插件的最后结果很简单,弹出一个对话框,如下图:




从图中的对话框内容可以看出,我们这个对话框是在DoExport()中被Max引擎给调用到了。文章中,我们会从一个空的工程开始一点一点加入代码,直到最后上面的结果,整个过程能让我们实践一个插件的开发过程,当然,只是万里长征的第一步。


整个工程最后的文件清单如下:

1,dllmain.h, dllmain.cpp

2,exporterdesc.h, exporterdesc.cpp

3,resource.h

4,OgreExporter.h, OgreExporter.cpp

5,exporter.def


4里面用到Ogre开头的名称,是因为我们后续可以导出成Ogre识别的XML格式,这个格式可以在Ogre DTD文档中看到,对大家都比较方便。最后我们也可以用Ogre知道我们导出的有没有问题。


现在就让我们开始:


准备、用VC新建win32 project,创建一个DLL, 记住勾选empty project,我们会在写插件的过程中不停的手工加入需要的文件。


1、在新项目中添加new item,类型选择.cpp,加入第一个文件,dllmain.h,内容如下:

#ifndef DLLMAIN_H
#define DLLMAIN_H


#include <windows.h>
#include "resource.h"
#include "max.h"

extern HINSTANCE hInstance;

extern TCHAR *GetString(int id);


#endif

这个头文件主要是包含了resource.h, windows.h, max.h 3个重要的头文件,准备做为一个基础给其他的C++文件包含用。


2、新加入dllmain.cpp,相关的代码如下,建议这个文件可以作为以后的模板文件,Copy-Paste代码的方式在这里完全是有意义的。


#include "dllmain.h"
#include "exporterdesc.h"

HINSTANCE hInstance;
static ExporterDesc gExporterDescInst;

BOOL WINAPI DllMain (HINSTANCE hInst, ULONG ulReason, LPVOID lpvReserved)
{
    hInstance = hInst;

    switch(ulReason
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值