游戏开发论坛

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

各向异性的效果(足足想了我一天)

[复制链接]

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
发表于 2012-2-18 20:32:00 | 显示全部楼层 |阅读模式





在FX SHADER LIBRARY里面看到一个各向异性的例子,效果很好,但问题是它是使用一张反光材质MAP取样来模拟各向异的。
这就造成无法模拟扇形的反光面。BRDF光照模型的实现又太复杂,这里自己画草稿写了一个扇面反光的例子(真画掉了我十多张A4纸啊)。FX文件写的还不完善,如果有人有兴趣的留个言,我把SHADER的代码帖出来

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2012-2-23 11:06:00 | 显示全部楼层

Re:各向异性的效果(足足想了我一天)

各向异性只要把纹理过滤方式设置成各向异性过滤 设置好各项异性过滤的最大倍数
然后剩下就看美术资源mip map做得如何了

主要是在纹理出现放缩情况的时候才能看出效果,这个是硬件处理的吧

33

主题

159

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
QQ
 楼主| 发表于 2012-2-23 22:11:00 | 显示全部楼层

Re:各向异性的效果(足足想了我一天)

喵,之前真不知道能在采样过滤器里设各向异,谢咯学了。
喵,不过.......
d3d9.0的vs or ps _3_0 哪来的Filter = ANISOTROPIC;

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2012-2-24 17:11:00 | 显示全部楼层

Re:各向异性的效果(足足想了我一天)

HRESULT SetSamplerState(
  DWORD Sampler,
  D3DSAMPLERSTATETYPE Type,
  DWORD Value
);

typedef enum D3DSAMPLERSTATETYPE
{
    D3DSAMP_ADDRESSU = 1,
    D3DSAMP_ADDRESSV = 2,
    D3DSAMP_ADDRESSW = 3,
    D3DSAMP_BORDERCOLOR = 4,
    D3DSAMP_MAGFILTER = 5,
    D3DSAMP_MINFILTER = 6,
    D3DSAMP_MIPFILTER = 7,
    D3DSAMP_MIPMAPLODBIAS = 8,
    D3DSAMP_MAXMIPLEVEL = 9,
    D3DSAMP_MAXANISOTROPY = 10,
    D3DSAMP_SRGBTEXTURE = 11,
    D3DSAMP_ELEMENTINDEX = 12,
    D3DSAMP_DMAPOFFSET = 13,
    D3DSAMP_FORCE_DWORD = 0x7fffffff,
} D3DSAMPLERSTATETYPE, *LPD3DSAMPLERSTATETYPE;

用这个接口去设置...

不在vs ps中设置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-9 14:02

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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