游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1321|回复: 0

关于 ID3DXEffect::SetMatrix 的问题

[复制链接]

4

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2010-5-5 23:14:00 | 显示全部楼层 |阅读模式
微软 DIRECTX SDK 中有两个例子,一个是SimpleSample Sample(July 2005),另一个是ShadowMap Sample( July 2004),在这两个例子的OnD3D9CreateDevice(SimpleSample Sample)函数和OnCreateDevice(ShadowMap Sample)函数中同样的位置加入同样的语句:
  WCHAR str[MAX_PATH];
  V_RETURN( DXUTFindDXSDKMediaFileCch( str, MAX_PATH, L"xxxxxxx.fx" ) );
  V_RETURN( D3DXCreateEffectFromFile( pd3dDevice, str, NULL, NULL, dwShaderFlags,
  NULL, &g_pEffect9, NULL ) );   
  //以上几句是原有的
  //以下两句是我加的
  D3DXMATRIX *aa;  
  g_pEffect9->SetMatrix("mj",aa);
编译时SimpleSample Sample报错:
error C2664: “ID3DXEffect::SetMatrix”: 不能将参数 1 从“const char [3]”转换为“D3DXHANDLE”

但ShadowMap Sample 却不会报错.
经仔细对比,发现SimpleSample Sample的预处理器定义中多出一个"D3DXFX_LARGEADDRESS_HANDLE",把它去掉后上述报错消失,但引出一个警告:
manifest authoring warning 81010002: Unrecognized Element "application" in namespace "urn:schemas-microsoft-com:asm.v3".而这个警告在ShadowMap Sample 中却不会出现,不知为什么?

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-9 19:19

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表