mtlbase::setsubTexmap(int i, bmaptex) 3ds max插件开发真不容易

来源:互联网 发布:网络数码显微互动教室 编辑:程序博客网 时间:2024/04/28 13:29
搞了两星期的3ds max插件开发,第一次接触,晕头转向,本身接口这东西就需要不停的查阅,加之英语水平有限,即使老师给的很多鼓励,但吃力感还是有的。浑浑噩噩,看了几天的帮助文档,就找了本中文教材(比较早的书,用的是windows98操作系统),结合sdk里给的代码写了个小东西,但纹理就是贴不上,着急呀,昨天大概找到一点思路就是:纹理要在材质的基础上贴,才可能有效,也就是要将纹理对象用在材质对象里,在把材质对象用到模型里。这个思路很重要,因为以前做的opengl的纹理贴图并不要求材质这东西,是分开的,所以由于这个误区浪费了不少时间,大概有一两天。在昨晚上加班搞了一下,大概按照思路找到相关类和方法,当时用的是mtl::setactiveTexmap(mtlBase *txm),结果死活不显示,今天星期六,没敢睡懒觉,接着加班,白天真没搞出来,网上找,文档里查,网上大多是导出模型信息的代码讲解,没有讲怎么加纹理贴图的,有也是如何运用max软件。。。。

。。。没办法,已经到了没有头绪的阶段,期间还打算找到对象mesh在根据纹理面之类的研究一下,仔细查看类库,没看到相关用法,也不知该不该放弃,就在郁闷之时,从新看了一眼文档,材质与纹理的第一章,里面有个mtlbase::setsubTexmap(int i, bmaptex) 函数,之前看过不过很奇怪没有在类库里看见这个方法做一放弃,不过今天好好看了看,是没在mtlbase的public function里而是在他的父类里,要在List of all member这个链接里才可看到,天杀的。。。。谁会一层接一层的查找呀


总结,学二次开发还没有掌握窍门,也不知道是3ds max类库写的乱还是我没有贯穿它的体系,总之感觉就是很吃力,误打误撞,帮助文档里关于纹理贴图讲了一些,大部分都是导出信息的,而不是如何添加的,在这里特别声明一下,这方面资料在网上很难查到,依次与大家分享借鉴。