游戏开发论坛

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

问一个HLSL里面uniform的问题

[复制链接]

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
发表于 2008-1-2 09:03:00 | 显示全部楼层 |阅读模式
我看CG教程那本书说uniform是指定变量来自外部,但是我
VS_OUTPUT vs(float3 input : POSITION,
             uniform float4 color)
这样发现没效果,要把color改成全局变量才行,这个uniform应该是我理解错误了吧,不然跟extern没区别了……

文档里只说explicitly indicating that they are uniform inputs to the shader-__-||| [em21]

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2008-1-2 09:38:00 | 显示全部楼层

Re:问一个HLSL里面uniform的问题

默认vs和ps之外声明的变量都是
uniform extern

你上面那种写法不对
VS_OUTPUT vs(float3 input : POSITION,float4 inColor:COLOR)
或者

float4 color = float4(1,1,1,1);
VS_OUTPUT vs(float3 input : POSITION)
{
    //do what ever you want with color
    //xxx = color;
}

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
 楼主| 发表于 2008-1-2 12:11:00 | 显示全部楼层

Re:问一个HLSL里面uniform的问题

我开始用的也是clayman的写法,不过书上确实有段代码
VS_OUTPUT vs(float3 input : POSITION,
             uniform float4 color)
这本书是CG的,我写的是HLSL,应该一样的吧……不过确实用书上那种写法没效果……颜色不能输入进去……

uniform还有其他甚麽作用吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 23:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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