游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1226|回复: 2

shader code float2????++的?定?法

[复制链接]

414

主题

611

帖子

621

积分

高级会员

Rank: 4

积分
621
发表于 2007-10-27 03:42:00 | 显示全部楼层 |阅读模式
uniform float2 sm_nr_pixel;
uniform float2 sm_nr_pixel_inv;

以上?尚惺俏业?hder Code,以下是我要去?定??????

D3DXVECTOR2 NearFar=D3DXVECTOR2(NEARPLANE,FARPLANE);
D3DXVECTOR2 NearFarInv=D3DXVECTOR2(1/NEARPLANE,1/FARPLANE);

g_pEffect_QVSM_NORMAL->SetFloatArray(&NearFar, 2);
g_pEffect_QVSM_NORMAL->SetFloatArray(&NearFarInv, 2);

但是都??霈F以下??

Error 1 error C2660: 'ID3DXEffect::SetFloatArray' : function does not take 2 arguments c:\documents and settings\user\my documents\hw\testpool20071027\chapter 24 - shadow mapping\shadow map(qvsm)\shadowmap.cpp 918

???一下我???如何?理?

17

主题

282

帖子

436

积分

中级会员

Rank: 3Rank: 3

积分
436
发表于 2007-10-27 18:05:00 | 显示全部楼层

Re:shader code float2????++的?定?法

SetFloatArray()对应的参数不能是两个

例如:
float f[2] = {1.0f, 2.0f};

ConstTable->SetFloatArray(Device, handle, f, 2);

或者:
hr = m_pEffect->SetFloatArray("lightPos",(float*)&m_lightPos,3);

hr = m_pEffect->SetFloatArray("eyePos",(float*)&g_camera.getEyePos(),3);

简单的说就是你的参数个数不对

不知道我说得对不对

仅供参考

3

主题

13

帖子

17

积分

新手上路

Rank: 1

积分
17
QQ
发表于 2007-10-27 19:26:00 | 显示全部楼层

Re:shader code float2????++的?定?法

恩,得将sm_nr_pixel等变量用字符串的形式作为SetFloat的参数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-19 21:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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