摘要: 编译vertex shader出现:\error X3025:global variables are implicitly constant,enable compatibility mode to allow modification.这是因为当前编译的shader基于一个较老的shader版本,必须指定兼容模式D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY才能 编译通过也就是在调用D3DXCompileShaderFromFile编译shader时,第6个参数必须包含此值。一般常见的代码更改后变为: hr = D3DXCompileShaderFrom 阅读全文
posted @ 2012-01-17 22:50 重甲土拨鼠 阅读(418) 评论(0) 推荐(1) 编辑
摘要: 引入rmxftmpl.h后 编译汇报类似重复定义的错误,如error LNK2005: "unsigned char * D3DRM_XTEMPLATES" (?D3DRM_XTEMPLATES@@3PAEA) 已经在 D3DDispath.obj 中定义问题原因不详,应该是sdk和环境的事,网上有说换一个sdk问题解决,没有试过,我的解决方法是,打开rmxftmpl.h文件将原来的unsigned char D3DRM_XTEMPLATES[] 改成staticunsigned char D3DRM_XTEMPLATES[] 后问题解决。 阅读全文
posted @ 2012-01-17 22:42 重甲土拨鼠 阅读(270) 评论(0) 推荐(0) 编辑
摘要: hr = pEnum->GetNextDataObject(&pData) 运行后 hr的值为-2005531806。 原因是因为没有注册模板,即使你使用的是directx标准模板也必须先注册,代码如下if(FAILED(pDXFile->RegisterTemplates( (LPVOID)D3DRM_XTEMPLATES, D3DRM_XTEMPLATE_BYTES))) { pDXFile->Release(); return FALSE; }当然需要引入头文件#include <dxfile.h>#include <rmxftmpl.h> 阅读全文
posted @ 2012-01-17 22:38 重甲土拨鼠 阅读(221) 评论(0) 推荐(0) 编辑