Q96:PT(3.5):木纹纹理(Wood Texture)

标题中的“PT”表示:Procedural Texture(过程纹理)。表示该章节属于“过程纹理”的内容。
当前章节在“过程纹理”内容中的位置:
过程纹理(0)——概述
过程纹理(1)——方格纹理(1)——3D方格纹理
过程纹理(1)——方格纹理(2)——2D方格纹理(1)——平面2D方格纹理
过程纹理(1)——方格纹理(2)——2D方格纹理(2)——球面2D方格纹理
过程纹理(1)——方格纹理(2)——2D方格纹理(3)——圆柱2D方格纹理
过程纹理(2)——纹理的仿射变换
过程纹理(3)——基于噪声的纹理(0)——概述
过程纹理(3)——基于噪声的纹理(1)——Basic Noise Texture
过程纹理(3)——基于噪声的纹理(2)——Wrapped Noise Texture
过程纹理(3)——基于噪声的纹理(3)——Marble
过程纹理(3)——基于噪声的纹理(4)——Sandstone Texture
过程纹理(3)——基于噪声的纹理(5)——Wood Texture

0,引言

该章节的内容理论参考:
《Advanced RenderMan》2000版本的12.4章节”Wood Grain”。

代码来自与《Ray Tracing from the Ground Up》作者按照《Advanced RenderMan》算法整理的C++代码。

本章节的内容,主要是个人对上面这两部分知识的理解和测试。

1,Wood类的基本版本

这里写图片描述
这里写图片描述

这里写图片描述

这里写图片描述

测试代码:

#define TYPE 0
// TYPE = 0: (0,1,0)
// TYPE = 1: (0,0,1)

void
World::build(void) {
    int num_samples = 9;

    vp.set_hres(300);
    vp.set_vres(300);
    vp.set_samples(num_samples);

    tracer_ptr = new RayCast(this);
    background_color = black;

    Ambient* ambient_ptr = new Ambient;
    ambient_ptr->scale_radiance(1.0);
    set_ambient_light(ambient_ptr);


    Pinhole* pinhole_ptr = new Pinhole;
#if TYPE == 0
    pinhole_ptr->set_eye(
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值