Q99:当Bezier曲面(Utah Teapot)同时遇上“噪声纹理”和“Phong反射模型”

198 篇文章 12 订阅
195 篇文章 27 订阅

1,理论介绍

完整标题应该是:当“三角形网格细分后的”Bezier曲面(Utah Teapot)同时遇上“噪声纹理”和“Phong反射模型”。
其实,就是将“Q97:怎么用三角形网格细分Bezier曲面——以Utah Teapot为例”
http://blog.csdn.net/libing_zeng/article/details/69360492
中的材料由“SV_Matte”换成“SV_Phong”

“SV_Matte”的定义、实现可以参考:Q95:纹理映射(Texture Mapping)——地球仪
http://blog.csdn.net/libing_zeng/article/details/65625675

“SV_Phong”的定义、实现和“SV_Matte”非常十分特别相似,此处不赘述(后续有完整代码链接)。
(关于“Phong反射模型”的原理,参考:“问题六十八:Phong反射模型的C++实现”
http://blog.csdn.net/libing_zeng/article/details/56676911))

“Phong反射模型”就说这么多;“噪声纹理”还是会用到marble、sandstone、wood。

简单说来,这一章节生成图形的三个步骤:
1,用三角形网格细分Bezier曲面(以Utah Teapot为例);
2,将“噪声纹理”设置给材料Phong(对应这“Phong反射模型”);
3,将“材料Phong”设置给曲面。

2,测试图形

2.1 测试代码

相对与“Q97”的测试代码,需要修改两处:

1,相机的位置(eye)、光源的方向
这里写图片描述

2,将SV_Matte换成SV_Phong
这里写图片描述

2.2 输出图形

接下来测试的三组图形,分别对应marble、sandstone、wood纹理。
前边是SV_Matte对应的图形;后边是SV_Phong对应的图形。

Marble:
这里写图片描述 这里写图片描述

Sandstone:
这里写图片描述 这里写图片描述

Wood:
这里写图片描述 这里写图片描述

3,其他说明

完整代码下载链接:http://download.csdn.net/detail/libing_zeng/9805846

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值