游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1404|回复: 3

着色器中寄存器的疑问

[复制链接]

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
发表于 2009-5-20 17:48:00 | 显示全部楼层 |阅读模式
看到如下像素着色器代码:
sampler s0 : register(s0);

请问这个寄存器关键字起到什么作用? 什么时候需要 什么时候不需要?

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2009-5-20 18:36:00 | 显示全部楼层

Re:着色器中寄存器的疑问

把变量直接绑定到一个寄存器上,这样在dx可以直接通过
SetVertexConstant,setPixelConstant,setSamplerState为shader中的变量赋值

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
 楼主| 发表于 2009-5-21 12:03:00 | 显示全部楼层

Re:着色器中寄存器的疑问

这3个函数是 ID3DXEffectStateManager 的成员函数对吧

13

主题

113

帖子

113

积分

注册会员

Rank: 2

积分
113
发表于 2009-5-21 12:28:00 | 显示全部楼层

Re:着色器中寄存器的疑问

IDirect3DDevice9::SetVertexShaderConstantB
Sets a Boolean vertex shader constant.

HRESULT SetVertexShaderConstantB(
  UINT StartRegister,
  CONST BOOL * pConstantData,
  UINT BoolCount
);

SDK文档是必备开发工具,要用啊.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 07:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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