目的:

把shader_p的dll,mel,mi和maya所在路径分离,不影响maya目录下的目录结构,便于开发时的更改和调试。(当你shader开发完成后,再决定合并到maya目录里也不迟)

环境:

maya2009 ,windowsXP x32

依赖库:openEXR1.6.1 (vc2005.windowsXP.x32下的库官方没有,我编译后共享出来,在这里 )

具体步骤:

1.假设

shader_p的根目录为:

E:/dev/nVidia/mentalimage/OpenProjects/shaders_p/trunk/shaders_p_3.3,

openEXR1.6.1的dll目录:

E:/dev/tools/openexr/1.6.1/Deploy/bin/Release

2.为Maya.env添加如下内容:

//shaders_p SHADERSP_ROOT = E:/dev/nVidia/mentalimage/OpenProjects/shaders_p/trunk/shaders_p_3.3 SHADERSP_AE = $SHADERSP_ROOT/AE SHADERSP_ATTR_PRESETS = $SHADERSP_ROOT/attrPresets/p_MegaTK SHADERSP_DEPENDENCE_DLL = E:/dev/tools/openexr/1.6.1/Deploy/bin/Release SHADERSP_PLUG = $SHADERSP_ROOT/Release_Maya2009 SHADERSP_MI = $SHADERSP_ROOT/mi/Maya SHADERSP_MEL = $SHADERSP_ROOT/AE; $SHADERSP_ATTR_PRESETS; $SHADERSP_ROOT/mel_override/2009; SHADERSP_ICON = $SHADERSP_ROOT/icons //env PATH = $SHADERSP_DEPENDENCE_DLL; $SHADERSP_PLUG; $PATH; MAYA_SCRIPT_PATH = $SHADERSP_MEL; //MAYA_PLUG_IN_PATH = ; XBMLANGPATH = $SHADERSP_ICON; MI_CUSTOM_SHADER_PATH = $SHADERSP_MI; MI_LIBRARY_PATH = $SHADERSP_PLUG;

NOTE:

MI_LIBRARY_PATH 中如果在 $SHADERSP_PLUG 之前又加入一些路径,则渲染时

script editor提示:(注意:在PATH等变量里不要带空格,可能解决这个问题。 - 2010-06-07)

// Warning: (Mayatomr.Custom) : E:/dev/nVidia/mentalimage/OpenProjects/shaders_p/trunk/shaders_p_3.3/mi/Maya/shaders_p.mi: no shader library specified nor found in search path, expect manual loading //

同时,output window提示:

API 0.0 error 301031: call to undeclared function "p_HairTK" API 0.0 error 301036: while defining material "p_HairTK1SG": undefined shader "p_HairTK1" API 0.0 error 301031: call to undeclared function "p_irradiance" API 0.0 error 301036: while defining material "p_irradiance1SG": undefined shader "p_irradiance1"

(p_HairTK,p_irradiance是场景中用到的shader_p里的shader名称。)

这很奇怪。我花了好长时间才查出这个问题。

所以,一个笨拙的办法就是:既然要用的dll在$SHADERSP_PLUG 目录下,那么就让MI_LIBRARY_PATH = $SHADERSP_PLUG; 不要在MI_LIBRARY_PATH 再包含其他路径。

(需要注意的是shader_p把mi文件和dll文件放在不同的目录下了)

但现在出现另一个问题,如果我还有一套shader,假设是S ,也不想放到maya根目录下(原因和shader_p类似),那么Maya.evn中会有:

MI_LIBRARY_PATH = $SHADERSP_PLUG; {S.dll 所在路径};

这似乎会出错。

所以,可以在maya.env中删去MI_LIBRARY_PATH ,同时把每一套shader的mi和dll文件放在同一目录下:

shader_p.dll 和 shader_p.mi放在一个目录下,S.dll 和 S.mi 在另一目录下(假设是$S_MI )。

这时,maya.env里的MI_CUSTOM_SHADER_PATH = $SHADERSP_MI;$S_MI;

.

.

.

.

.

.

以上是个人摸索出来的,也许很笨拙,希望大家指正或提出更好的办法。谢谢

[mentalray]如何在Maya.env里设置shader_p的路径相关推荐

  1. 如何在Allegro16.3里设置Xnet并进行等长设置

    附件是一篇网上找到的文章,此文详细介绍了如何设置Xnet以及进行等长设置走线.本人的应用相对更简单,由于不是经常画板子,所以对于如何使用Xnet常常忘记,而本文介绍的相对复杂,为了在每次画板子的时候相 ...

  2. [备忘]how to use user-provided mentalray shader in Maya?(如何在maya里用自定义mentalray shader)

    说明:自己参考maya2009 document,稍加修改,得到了一个可行的方法.如有错误或不合适的地方,还请多多指正.谢谢~ 1.建立vc project files 按照Maya2009/devk ...

  3. 如何在BIOS里设置定时关机?

    如何在BIOS里设置定时关机? 通过CMOS设置实现定时开机的设置过程如下:首先进入"CMOS SETUP"程序(大多数主板是在计算机启动时按DEL键进入):然后将光条移到&quo ...

  4. 计算机单元格选项,如何在excel单元格里设置下拉选项

    我们在编辑excel表格的时候,填写的很多内容都是相同的,那么我们如何在excel单元格里设置下拉选项呢?下面学习啦小编告诉你! 在excel单元格里设置下拉选项的方法 首先我们先打开excel打开之 ...

  5. java怎么让表格的字段相乘,excel表格怎么让数据相乘-如何在excel表格中设置乘法公式...

    EXCEL里的表格使两列自动相乘怎么设置? 在你需要得出结果的那个单元格,输入"=",再点击你需要相乘的第一个单元格,再输入"*",再点击你需要相乘的第二个单元 ...

  6. android动态设置src,Android 代码里设置ImageView的src和background

    设置ImageView的src: image.setImageDrawable(getResources().getDrawable(R.drawable.blackk)); String path= ...

  7. 如何在cmd命令提示符里打开Python

    如何在windows 10 的cmd命令提示符里打开Python 首先,在控制面板(这个可以桌面图标里找到windows 系统)在里打开高级系统设置 然后再高级系统设置里选择高级,进行系统环境变量设置 ...

  8. 如何在GraphPad Prism 里创建条形图?

    GraphPad Prism 是一款做数据处理与图形软件.那如何在GraphPad Prism 里创建条形图呢?GraphPad Prism提供了八种不同类型的数据表.其中五种可用于创建条形图,如下所 ...

  9. excel中单元格日期为计算机日期,#excle里设置今天的日期#excel表格时间如何自动修改为当天的时间...

    excel表格时间如何自动修改为当天的时间 插入=TODAY()这个函数 如何在EXCEL表格里显示今天的日期 两种,一是永久显示今如今天显示2016-7-3,明天仍然显示显示2016-7-3么在需要 ...

最新文章

  1. 我花了10个小时,写出了这篇K8S架构解析
  2. Python 存储字符串时是如何节省空间的?
  3. Caffe学习笔记(4)--------用师兄的源码都差点没跑通觉得自己智商真的捉急!...
  4. Stanford UFLDL教程 微调多层自编码算法
  5. Audio Offload
  6. 操作系统之文件管理:2、文件的逻辑结构(有结构文件、无结构文件、顺序文件、索引文件、索引顺序文件)
  7. 狄慧201771010104《面向对象程序设计(java)》第八周学习总结
  8. VS2010对Excel操作---DLL向
  9. python自制懒人听书
  10. java 打印出库单_使用Jasperreporter生成入库出库单打印等报表操作
  11. 双线性对在密码学中的应用(上)
  12. win10安装RNDIS驱动
  13. HTML特殊字符符号大全
  14. Excel-冻结窗口和筛选
  15. 2021新宁二中高考喜报成绩查询,新宁二中举行2021年高考倒计时100天誓师大会
  16. 大数据量的五种处理方式
  17. 高德地图自己录制导航声音备份及恢复方法
  18. 【动态规划DP】跳木桩
  19. 分享伪原创文章的方法
  20. arduino 停止程序_Arduino 中断

热门文章

  1. java 实现docx文件指定位置插入图片
  2. 中谷教育python精讲_中谷教育Python视频(课件、源码)推荐
  3. WORD图片批量居中对齐
  4. cad 二次开发 插入图片_CAD如何加载二次开发程序?
  5. 深圳自动焊锡机有什么特色?其使用和保养的注意事项有哪些?
  6. 基于 LSTM 电影评论情感分析
  7. Mysql 创建临时表
  8. 江西是否有清华It校区
  9. mysql ibdata1_mysql ibdata1 ib_logfile的恢复
  10. 股票交易日志6 12.21