标题中的“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

1,理论介绍

“砂岩纹理”和“大理石纹理”基本是一样的。两者差异的地方:
1,“砂岩纹理”对应的“颜色带”来自真实砂岩的照片,所以“砂岩纹理”看起来更为逼真;
2,我们知道砂岩是沉积岩,所以纹理非常平整,所以我们需要将噪声系数perturbation设置得非常小(一般都是0.1左右)。

基于“大理石纹理”章节的代码,只需改动两处:
1,将“颜色带”图片换成“砂岩纹理”的;
2,将噪声系数设置成很小的正实数。

2,测试图形

2.1 测试代码

和marble章节差异的地方如下截图:

2.2 输出图形

求和项数6,求和幅值0. 5,求和频率2;噪声缩放系数为0.1

纹理仿射变换:
it_ptr->rotate_x(-60);
it_ptr->rotate_y(-60);

颜色带:

前边是纹理没有仿射变换时的图形;后边是纹理发生仿射变换时的图形。

颜色带:

前边是纹理没有仿射变换时的图形;后边是纹理发生仿射变换时的图形。

颜色带:

前边是纹理没有仿射变换时的图形;后边是纹理发生仿射变换时的图形。

颜色带:

前边是纹理没有仿射变换时的图形;后边是纹理发生仿射变换时的图形。

3,补充测试图形——Solid Cylinder

3.1 测试代码



3.2 输出图形

求和项数6,求和幅值0. 5,求和频率2;噪声缩放系数为0.1

纹理仿射变换1:
it_ptr->rotate_z(110);
纹理仿射变换2:
it_ptr->rotate_z(110);
it_ptr->translate(1.0, 0.0, 0.0);
纹理仿射变换3:
it_ptr->rotate_z(110);
it_ptr->translate(1.0, 4.0, 0.0);
颜色带:

第一张图形是没有纹理仿射变换;第二张图形是发生纹理仿射变换1;
第二张图形是发生纹理仿射变换2;第二张图形是发生纹理仿射变换3;

4,其他说明

完整代码下载路径:http://download.csdn.net/detail/libing_zeng/9799042

Referrance:
[1]. Kevin Suffern, Ray Tracing from theGround Up, A K PetersLtd, 2007.

Q96:PT(3.4):砂岩纹理(Sandstone Texture)相关推荐

  1. CUDA C 纹理提取Texture Fetching

    CUDA C 纹理提取Texture Fetching 一.参数曲面的纹理 使用纹理指定参数曲面属性. 二.CUDA C 纹理获取开发 用于计算纹理函数,根据纹理引用的各种属性返回的值的公式(请参见纹 ...

  2. 初识OpenGL (-)纹理过滤(Texture Filtering)

    1. OpenGL需要知道怎样将纹理像素(Texture Pixel,也叫Texel)映射到纹理坐标. 纹理坐标 不依赖于分辨率(Resolution),它可以是任意浮点值, 给模型顶点设置的那个数组 ...

  3. cuda 纹理内存texture使用时显示不是模板解决办法

    按教程使用纹理内存texture时显示 texture不是模板. 网上找了半天,只知道这个报错是VS没有识别的问题,运行起来并没有实质性影响. 但是一条红线在这画着总觉得很别扭,于是就想取消它,最终给 ...

  4. 【OpenGL】OpenGL入门之纹理(Texture)

    目录 纹理 纹理环绕方式 纹理过滤 多级渐远纹理(Mipmap) 加载与创建纹理 stb_image.h 生成纹理 应用纹理 纹理单元 参考 纹理   在此之前,我们已经可以为每个顶点添加颜色来增加图 ...

  5. Threejs纹理对象Texture阵列、偏移、旋转(纹理动画)

    纹理对象Texture阵列.偏移.旋转 本文是Three.js电子书的8.4节 8.1节给大家提到过纹理对象Texture,简单的说纹理对象Texture就是包含一张图片的对象,纹理对象Texture ...

  6. opengl地球贴纹理_一文看懂材质/纹理 Material, Texture, Shading, Shader 的区别

    在计算机图形学和三维设计中,有几个容易混淆的概念.今天我们来一举拿下. 概念整理 可以这么总结: Material 是表现 Shading 的数据集.其他几个概念都是生成这一数据集的资源或者工具. 这 ...

  7. starling教程-纹理(Texture)

    texture是被创建来填充Image对象的,Texture和Image的关系就好像是本地的BitmapData和Bitmap的关系一样.Texture类包含如下的apis: •  base : Th ...

  8. spine 导出纹理_Spine 纹理打包Texture packing_官方文档中文版

    马上注册,加入CGJOY,让你轻松玩转CGJOY. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 笑虾 于 2014-10-7 20:45 编辑 欢迎入群  Spine2D骨骼动 ...

  9. 卷积神经网络图像纹理合成 Texture Synthesis Using Convolutional Neural Networks

    卷积神经网络的图像纹理合成 TextureSynthesis Using Convolutional Neural Networks Taylor Guo, 2017年4月29日 星期六 摘要 本文介 ...

最新文章

  1. python爬虫新手项目-给新手推荐几个实用又适合上手的Python爬虫项目
  2. 数据的结构和运算(求和,最大和最小)
  3. node windows更新_node.js 01 简介 - 产生,发展历程,优势,适用场景,实际应用
  4. Unix网络编程之IO模型
  5. jQuery 学习笔记(jQuery: The Return Flight)
  6. 公厕的门下面为什么都要空一截?难道是为了和别人分享我中午吃的两碗螺狮粉?
  7. 小白零基础怎么学习Java?不要慌
  8. 【ElasticSearch】Es 源码之 LicenseService 源码解读
  9. 香港设计师带来仿生机器人,其身体 70% 构造均由3D打印完成
  10. 电功图matlab,基于Matlab的电力系统输电线路仿真
  11. cad批量打印_CAD插件之批量打印1
  12. 安卓音量设置流程之MasterVolume
  13. C语言误差用什么变量,C语言-实型变量
  14. 柏拉图《会饮篇》阅读笔记
  15. IT项目经理前景及优劣势分析
  16. 如何在Mac上解决蓝牙问题
  17. UVA1616-Caravan Robbers(二分)
  18. AlexNet网络介绍
  19. 飞行员兄弟 Java版
  20. 常州信息职业技术学院计算机清考,常州信息职业技术学院教务处:http://jwc.ccit.js.cn/...

热门文章

  1. linux 命令 — 文件相关
  2. 微软 SQL Server 2016 SP1 开发者版入驻 Windows 容器
  3. 使用tmpfs的好处
  4. 使用struts做一个简单的登录跳转
  5. 揭露QPS增高后的秘密
  6. CSS3秘笈复习:第十一章
  7. ubuntu 14.04 下搭建SVN服务器 svn://
  8. CentOS软件包管理之RPM
  9. 外网资源下载速度过慢的问题
  10. git复制迁移--SmartGit