纹理采样

纹理采样涉及采样状态、纹理过滤和采样器的使用。示例中声明了纹理和采样器,使用线性过滤方式采样Tex2D纹理。采样函数如tex2D用于获取纹理特定像素,可以通过添加"bias"或"proj"后缀进行调整。采样器还可用于数组形式,在循环中处理多个纹理。
摘要由CSDN通过智能技术生成

    一个纹理采样器包含采样状态,采样状态指定了纹理将如何被采样,并控制采样过程中的纹理过滤.在纹理采样时需要做三件事情:(1)获取纹理(2)声明一个采样器(3)定义采样器.

    这里写一个简单实例:   

texture Tex2D;
sampler2D Sampler2D = sampler_state{
 

 

    Texture = < Tex2D >;
    MipFilter = LINEAR;
    MinFilter = LINEAR;
    MagFilter = LINEAR;

 

};

    从中,我们可以看出,这个实例中首先声明了一个纹理和一个采样器,并通过让采样器包含一个采样状态来定义采样器的基本控制,这里指明采样器是采样Tex2D纹理,并使用线形过滤方式,具体的状态定义可以参看SDK中有关纹理过滤与寻址的内容(_D3DSMPLESTATETYPE).

    如果你使用确省方式定义如下:

    sampler2D Sampler2D;

    那么采样器状态默认为线形过滤(LINEAR)和重叠纹理寻址(WRAP).

 

    如果你希望读取一个纹理特定位置的象素,可以使用,tex1D,tex2D,texCUBE等,以下以tex2D为例:

    float4 sample_2D(float2 tex : TEXCOORD0) : COLOR
   {
      return tex2D(s_2D, tex);
   }

    tex2D接受一个采样器和2D纹理地址作为参数,定位出纹理上的特定象素,具体可以参看SDK中纹理映射的相关部分.

 

    如果在纹理查找函数后附加"bias"或"proj"后缀(如tex2Dbias).如果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值