[转]在Ogre中如何关联textunit 与 cg/hlsl/glsl 语言中的 uniform sampler 关联

http://hi.baidu.com/litterbug23/blog/item/5c1afed083158216a18bb7ea.html

 

在Ogre中如何关联textunit 与 cg/hlsl/glsl 语言中的 uniform sampler 关联:

cg 和 hlsl 中基本上通用:

pass

{

textunit

{

        textname diffuseMap.jpg

}

textunit

{

        textname normalMap.jpg

}

}

 

float4 main(tex0: TEXCOORD0,

uniform sampler diffusemap ,

unifrom sampler normapmap ):COLOR

{

................

}

 

如果不指定参数的话,那么会按照纹理单元的顺序,与fragment_shader中的sampler顺序保持一致。

如果纹理单元很多,为了防止错误,最好使用下面的方法确定纹理单元与采样器sampler的关联

 

float4 main(tex0: TEXCOORD0,

uniform sampler diffusemap: register(s0) ,

unifrom sampler normapmap:register(s1) ) :COLOR 或者

float4 main(tex0: TEXCOORD0,

uniform sampler diffusemap: TEXUNIT0 ,

unifrom sampler normapmap:TEXUNIT0  ):COLOR

 

glsl 中关联我还没有验证,在网上找到的资料为

函数的采样参数需要在顶点程序声明中设置

 

fragment_program myFragmentProgramGLSL glsl

{

source prog.frag

default_params

{    

        param_named diffusemap int 0

        param_named normapmap int 1

}

}

 

不过好像以前使用 register(sn)好像也可以。有空再去试试。

转载于:https://www.cnblogs.com/pulas/archive/2012/02/23/2364538.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值