Can I compile and run Dx11Shader for Maya 2015 on my side?

Currently, you can find the source code of Dx11Shader under our devkit\plug-ins\ folder, but if you want to do some modification on this, can it be built and run within Maya 2015? Currently, the answer is Sorry! It’s currently a known issue, and hopefully, we will get this fixed in the coming release.

But in case if you do have need to build it on your side now, I detailed the steps and also the reason as follow, and please also contact us to get the correct library.

When you open the project, you will find the project file of Dx11Shader is still using VS 2010, which means based on VC 10. But it’s not compatible with Maya 2015. So 1st step you need to upgrade to VS 2012. Actually, for Maya 2015, you need to go with Visual Studio 2012 SP4.

After that, you should notice that there are some changes related to compiler version inside the source code, for example, at dx11Shader.h line #24 as follow. You will see the plugin uses different header files for VC 11(VC 2012) and above. Actually, these are not changes we need, but that Microsoft pushed to all dx11 developers. For more details about this, please read the article(mainly section 5) http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275(v=vs.85).aspx and http://blogs.msdn.com/b/chuckw/archive/2013/08/21/living-without-d3dx.aspx.

Code Snippet

  1. // for VS 2012, Win8 SDK includes DX sdk with some header removed
  2. #if_MSC_VER >= 1700
  3. #include<dxgi.h>
  4. #else
  5. #include<d3dx11.h>
  6. #endif

In short, D3DX is not considered the canonical API for using Direct3D in Windows 8 and later and therefore isn‘t included with the corresponding Windows SDK. So for our Dx11Shader project with VS 2012, not only you still need to include $(DXSDK_DIR)Include and $(DXSDK_DIR)Lib\x64, but also you need to put the $(WindowsSDK_IncludePath) and $(WindowsSDK_LibraryPath_x64) first in the list of header file and lib search.

After the operation above, you should be successful build the project, but there are still some problems to run within Maya 2015, you will see an error saying like “ Error: Effect from file compile errors (AutodeskUberShader.fxo)”, means your Dx11Shader cannot work correct with HLSL shaders.

Why this problem occurs? Actually, it’s very tricky, and is also a current limitation. As you see, the Dx11Shader has a dependency on a static link library of effects11.lib, which is supposed to be located in DirectX SDK folder like C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Samples\C++\Effects11\. Yes, that is true and it should work in previous Maya version. But unfortunately, Maya internally updated that project, so it cannot work anymore, and you need to link to our internally modified version of effects11.lib, but sadly, it’s not public to outside:(.

So if you want to make it work on your side, please just contact us, and we will try to find a way to help you. Sorry about the limitation.

时间: 2024-11-19 20:01:21

Can I compile and run Dx11Shader for Maya 2015 on my side?的相关文章

Load Mental Ray in Maya 2015

In Maya 2015, we usually use mental ray to render our model, some new users may not see the mental ray item, that is because you have not loaded it yet. Go to Window -> Setting/Preferences -> Plug-in Manager Find Mayatomr.mll, select both Loaded and

Maya 2015 中英文切换

我们在使用Maya软件的时候,有时候需要把语言在中英文之间切换,目前我感觉在不用插件的情况下,下面两种方法可以比较容易的做到: 方法一: 右键我的电脑属性,高级系统设置里面找到环境变量面板,然后新建一个环境变量,名字为 MAYA_UI_LANGUAGE,变量值设为en_US就是英文,设为zh_CN就是简体中文. 方法二: 去maya安装目录下 \resources\l10n,将 l10n 文件夹 改名即可 由中文版变英文,比如 l10n 改为 l10n_0 ,可将 resources 发送到桌面

Write Once, Run Anywhere:这不是Java,这是C#

注意,本文目的并非挑起语言之争.虽然有为C#平反之意,但主要还是介绍Mono并进行简单的测试. UPDATED: 25th August 2012 更新了「Compile Once, Run Anywhere:跨平台的终极目标」一节. Conmajia 2012 引言 "Write once, run anywhere"(一次编写,到处运行,WORA),有时也写成"Write once, run everywhere"(WORE),是Sun Microsystem(

模拟IDE上的run过程

看了一下老陈写的模仿JDK动态代理,从中取一部分单独扩展,模拟一下IDE上的run过程(不愧是老陈,去年写的东西我要现在才能理解) 对run过程的猜想 在点击run的过程中应该做了不少事.先编译运行run工具,执行引擎增加一个线程开始执行被加载的run工具的字节码指令:线程执行过程中将目标源码进行编译,获取ClassLoader实例对字节码进行加载,在堆上创建并初始化Class 模拟工具实现run过程 import javax.tools.JavaCompiler; import javax.t

【自制插件】将MMD4Mecanim转换的MMD模型导入maya

这个东西是给想把MMD模型导入maya或者其他3D软件或者游戏引擎的童鞋~ 有需要就拿走吧o(* ̄▽ ̄*)ゞ 玩过unity和MMD的应该都知道MMD4Mecanim这个东东吧,几乎可以完美把PMX/PMD模型转成fbx导入unity.但是这个fbx不带贴图的,unity是通过对于的xml读取贴图,所以导入maya是一片灰色.找了一圈教程好像只有结合blender导入材质的方法,感觉比较繁琐,就写了插件一键导入材质.不过动画还是要通过MotionBuilder导入. 先丢插件~ http://p

CG资源网 - Maya教程

Maya中mentalray灯光渲染终极训练视频教程 http://www.cgtsj.com/cg/f/vx3627/index.html Maya无人机建模制作训练视频教程第一季 http://www.cgtsj.com/cg/f/vx3626/index.html Maya动作捕捉关键帧技术视频教程 http://www.cgtsj.com/cg/f/vx3625/index.html Maya与PS材质绘制技巧视频教程 http://www.cgtsj.com/cg/f/vx3561/i

SBT详解

文章转载自http://beike.iteye.com/blog/1575296 SBT = (not so) Simple Build Tool,是scala的构建工具,与java的maven地位相同.其设计宗旨是让简单的项目可以简单的配置,而复杂的项目可以复杂的配置... https://github.com/notyy/sbtTemplate 是我配置好的一个sbt项目,已经配置好了单元测试框架specs2,log引擎logback,slf4j,和eclipse项目生成插件sbteclip

第4章:缓冲区、着色器、GLSL

原文链接: http://www.rastertek.com/gl40tut04.html Tutorial 4: Buffers, Shaders, and GLSL This tutorial will be the introduction to writing vertex and pixel shaders in OpenGL 4.0. It will also be the introduction to using vertex and index buffers in OpenG

/*unfinished*/ Summaries and my Random Thoughts of Core Java (10th edition) by Cay S. Horstmann

 Notes Emmmmm... I've already known that since my writing is awful and my intellect is ordinary, no one would ever like this article, which upsets me and prevents me from a good sleep every day. But if I am lucky enough, that if you find it really he