当前位置: 首页 > news >正文

网站制作商家入驻系统花钱做任务的小说魅网站

网站制作商家入驻,系统花钱做任务的小说魅网站,陕西公路工程建设有限公司网站,旅游网站制作文献前言#xff1a;原本目的是想寻求一种方式来对cpu计算密集型代码部分进行加速替代#xff0c;但是maya中mll插件的插件套路在传递参数上会占用大量的io#xff0c;对于数据比较大的部分也会有相当消耗。如果全部写在c部分又感觉缺乏灵活性#xff0c;所以琢磨的一种可以在p…前言 原本目的是想寻求一种方式来对cpu计算密集型代码部分进行加速替代但是maya中mll插件的插件套路在传递参数上会占用大量的io对于数据比较大的部分也会有相当消耗。如果全部写在c部分又感觉缺乏灵活性所以琢磨的一种可以在python中实现逻辑pyd中实现算法的方式。问题 纯python api来编译pyd的计算模块会有大量的数据转换比如获取模型所有的顶点会得到MFloatPointArray获取所有SkinMesh的蒙皮权重会得到MDoubleArray这些数据直接获取都很快但是要把他们转换成python api所支持的数据格式就很麻烦计算完成后还要转换回来一旦模型面熟很高很耗费时间。作为一个懒人不能忍~思路 maya api 1.0使用swig做封装借助swig解封PyObject指针的功能自动将python指针对象转换成maya内置的M数据类型。流程下载swig解压到本地路径添加到添加到环境变量中创建一个空的vs工程3. 添加一个文件compute.h我们所有的代码都放这个头文件里面4. 针对所有平台设置一下vs工程方便代码提示 输出格式 包含目录库目录 依赖库只用基本的数据类型 输出文件带下划线下面有解释随便写一个累加的测试函数// compute.h#pragma once #include maya/MIntArray.hint testMIntArray(MIntArray input) {int sum 0;for (int i 0; i input.length(); i){sum input[i];}return sum; } 编写swig的compute.i%module TestMayaApi%{ #include compute.h %}%include compute.h 添加到工程设置一下生成事件每次编译之前先生成包裹函数接下来编译就可以了maya中测试import sys sys.path.append(F:/swig_maya_test/swig_maya_test) import TestMayaApiimport maya.OpenMaya as om iListom.MIntArray() for i in range(100):iList.append(i)print TestMayaApi.testMIntArray(iList)优化:swig会生成两个文件py和pyd的py是模块名pyd是_模块名要不然导入python模块会失败要把pyd模块名的修改成TestMayaApi只修改工程设置里面的输出文件是不行的导入会报错需要修改源码这样我们只需要pyd就可以了。先将输出文件修改2. 禁用生成事件改为手动运行cmd3. 将swig生成的compute_wrap.cxx添加进来搜索替换模块名每次运行swig都要重新生成替换。重新生成后我们就不需要.py文件了直接删掉只保留TestMayaApi.pyd返回值的坑c函数不能直接返回maya内置类型如果函数定义成这样python中接受到的返回值是swig object指针传递给其它python api时会出错MIntArray testMIntArray(MIntArray input) 解决办法将参数传递改成引用类型这样就可以直接修改数据不用返回和api 1.0大多数做法一致void testMIntArrayMul(MIntArray input,int mul, MIntArray output) {output.setLength(input.length());for (int i 0; i input.length(); i){output[i] input[i] * mul;} } maya测试代码import sys sys.path.append(F:/swig_maya_test/swig_maya_test) import TestMayaApiimport maya.OpenMaya as om iListom.MIntArray() for i in range(100):iList.append(i)outListom.MIntArray() TestMayaApi.testMIntArrayMul(iList,2,outList) print outList总结:算是maya plugin和python api的之外的一种计算模块的方式编译之后maya 2016以下版本可以共用一个pyd其它版本可能要单独编译没测试很全。好处就是用起来更舒服不用转换数据和python api无缝衔接可以直接用MxxxArray并且支持OpenMP多线程计算。
http://www.pierceye.com/news/158438/

相关文章:

  • soap公司网站建设国家游戏网站
  • 网站可以用什么做安阳区号是什么
  • 网站建设实战李静如何建设网站的能力
  • 威海 网站开发做家具的网站有哪些
  • 宁波网站建设公司怎么报价网页打开速度慢的解决方法
  • 有趣的网站有哪些推荐关键词没有排名的网站怎么做
  • 昆山网站制作哪家强海淀区企业网络公司
  • 北京网站制建设公司永兴县网站建设服务商
  • 嘉兴做网站优化公司江阴网站优化公司
  • dz可以做旅游网站吗wordpress 4.1.1 漏洞
  • 谷歌网站地图生成福州便民网免费发布信息
  • 最新军事战争新闻超级优化大师
  • 好的网站建设公司排名网站建设 交易保障
  • 怎么查看网站外链效果代理注册公司有什么风险
  • 西安网站漏洞免费自动生成小程序
  • 怎么修改网站信息同ip网站做301
  • 松江品划网络做网站logo设计网页
  • 重庆博达建设集团股份有限公司网站徐州建设企业网站
  • 有没有专门做老年婚介的网站东营会计信息网官网
  • 鞍山怎么做平台软件汕头网站时优化
  • 邹城建网站深圳装修公司排行榜
  • 泊头网站优化WordPress如何添加cnzz
  • dz论坛网站创建页面wap网站建设方案 pdf
  • 网站建设项目报告总结报告seo关于网站搜索排名关键词的标准评定
  • 东莞电商网站建设wordpress注册验证邮箱
  • 网站建设名中国建设劳动学会是假网站吗
  • 一个优秀的个人网站百度极速版免费下载安装
  • 咋做211校徽加网站wordpress免费教程视频教程
  • 网站建设制作网络营销公司蛋糕店网站模板
  • a站网址东莞市网络seo推广价格