https://github.com/ak-TechArtist/AnisotropicHair 各向异性头发
https://www.jianshu.com/p/7dc980ea4c51
http://www.artisticexperiments.com/cg-shaders/cg-shaders-kajiya-kay 最后有shader
https://blog.csdn.net/noahzuo/article/details/51162472
https://blog.csdn.net/yangxuan0261/article/details/89027809

abstract.
we present a method for rendering scenes with fine detail via an object called a texel, a rendering primitive inspired by volume densities mixed with anisotropic lighting models. this technique solves a long outstanding problem in image synthesis: the rendering of furry surfaces.

introduction
rendering scenes with very high complexity and a wide range of detail has long been an important goal for image synthesis. one idea is to introduce a hierarchy of scale, and at each level of scale have a corresponding level of detail in a hierarchy of geometric models (Crow 1982). thus very complex small objects may have a hierarchy of progressively simplified geometric representations.

however, for very fine detail, a significant problem has so far prevented the inclusion of furry surfaces into synthetic images. the conventional approach gives rise to a severe, intractable aliasing problem. we feel that this aliasing problem arises because geometry is used to define surfaces at an inappropriate scale. an alternative approach is to treat fine geometry as texture rather than geometry. we explore that approach here.

this paper presents a new type of texture map, called a texel, inspired by the volume density (Blinn 1982). a texel is a 3-dimensional texture map in which both a surface frame——normal, tangent, and binormal and the parameters of a lighting model are distributed freely throughout a volume. a texel is not tied to the geometry of any particular surface. Indeed, it is intended to represnet a highly complex collection of surfaces contained within a defined volume. because of this the rendering time of a texel is independent of the geometric complexity of the surfaces that it extracts. in fact, with texels, one can dispense with the usual notion of geometric surface models altogether. that is, it is possible to render texels directly, foregoing referents to 前面提到的 any defined surface geometry.

we will use the idea of texels to represnet fuzzy surfaces and present an algorithm for rendering such surfaces.

review of high complexity rendering

many attempts to model scenes with very high complexity have been made. one method is to attack the problem by brute force computing. a very early effort by Csuri, et al. (1979) generated images of smoke and fur with thousands of polygons. more recently, Weil(1989) rendered cloth with thousands of Lambert cylinders. unfortunately, at a fairly large scale, microscopic geometric surfaces give rise to severe aliasing artifacts that overload traditional antialiasing methods. these images tend to look brittle脆: that is, hairs tend to look like spines.

the brute force method fails because the desired detail should be rendered through textures and lighting modles rather than geometry. what is desired is the painter’s illusion, a suggestion that there is detail in the scene far beyond the resolution of the image. when one examines a painting closely the painter’s illusion falls apart: zooming in on a finely detailed object in a painting reveals only meaningless blotches 斑点 of color.

the most successful effort to render high complexity scenes are those based on particle systems (Reeves 1983, Reeves and Blan 1985). we believe their success is due in part to the fact that particle systems embody the idea of rendering without geometry. along the path of the particle system, a lighting model and a frame are used to render pixels directly rather than through a notion of detailed microgeometry. in some sense, this paper represents the extension of particle systems to ray tracing. as the reader will readily discern辨别, even though our rendering algorithm is radically 从根本上 different, particle systems and texels are complementary, e.g. particle systems could be used to generate texel models. indeed, this paper can be modified to render particle systems in a manner that is independent of the number of particles rendered.

gavin miller in (Miller 1988) advanced a solution that uses a combination of geometry and a sophisticated lighting model much in the spirit of this paper to make images of furry animals. however, like particle systems, the complexity of the geometric part of his algorithm is dependent of the number of haris.

the idea of texels is inspired by Blinn’s idea for rendering volume densities (Blinn 1982). Blinn presented an algorithm to calcualte the appearance of a large collection of microscopic 微观的 spherical particles uniformly distributed in a plane. this enabled him to synthesize images of clouds and dust and the rings of Saturn 土星. becaue Blinn was interested in directionally homogeneous atmospheres, he analytically integrated his equations to yield a simple lighting model.

in Kajiya and Von Herzen (1984), blinn’s equations were solved for nonhomogeneous media by direct computation. it was essentially a volume rendering technique for ray tracing. because our work is based on that earlier effort, we now briefly discuss the relevant equations from Kajiya and Von Herzen (1984).

as a beam of light travels through a volume of spherical particles, it is scatterd and attenuated. the attenuation is dependend on the local density of the volume along the ray. the scattering is dependent on the density of the particles scattering the light and the albedo of each particle. the amount of scattering varies in different directions due to the particle partially occluding scattering in certain directions. this scattered light then is attenuated and rescattered by other particles.

this model ignores diffraction 衍射 around scattering particles.
in ray tracing, we follow light rays from the eye backwards toward the light sources (figure 1). the progressive attenuation along the way due to occluding particles is computed for each point along a ray emanating from the eye. at each point on the ray through the volume, we measure the amount of light the scatters into the direction towards the eye. this light is then integrated to yield the total light reaching the eye. in this work we use Blinn’s low albedo single scattering approximation. that is, we assume that any contribution from multiple scattering is negligible 可以忽略不计的. we assume that the light is scattered just once from the light source to the eye. the accuracy of this assumption is relatively good for low albedo particles and suffers as the albedo increases (Blinn 1982, Rushmeier and Torrance 1987).

kajiya-kay 头发相关推荐

  1. 各向异性渲染(二)Kajiya Kay头发渲染

    介绍 基于之前的各向异性得结果,我们可以再推广到头发渲染.Kajiya Kay头发渲染是一种经验模型.它把头发模型为一条一条细管.然后利用上一章的数学基础,但当然Kajiya Kay也加了几个细节.包 ...

  2. 图形学基础|各项异性与头发渲染

    图形学基础|各项异性与头发渲染 文章目录 图形学基础|各项异性与头发渲染 一.前言 二.各向异性光照 2.1 各向异性光照现象 2.2 ShadingModel扩展 三.头发光照模型 3.1 Kaji ...

  3. 游戏角色写实头发制作

    贴图 本系列以UE4引擎为例,介绍游戏角色写实头发的制作.首先介绍贴图制作技法. UE4的hair shading model采用PBR计算,所以只需要4张Mask贴图通道,不再需要美术手绘颜色信息. ...

  4. 剖析Unreal Engine超真实人类的渲染技术Part 3 - 毛发渲染及其它

    目录 四.毛发渲染 4.1 毛发的构造及渲染技术 4.1.1 毛发的构造 4.1.2 Marschner毛发渲染模型 4.1.3 毛发的间接光照 4.2 毛发的底层实现 4.3 毛发的材质解析 4.3 ...

  5. 【KaJiYa改进】Shader头发效果

    感谢原作者,链接见转载. 头发各项异性高光:该shader需使用三张texture进行合成,可以像KaJiYa调节光照环,另外也可以调节Tilling影响发丝,立方体纹理影响整体效果. Shader ...

  6. unity3d Hair real time rendering 真实头发实时渲染

    先放上效果 惊现塞拉酱 算法是Weta Digital根据siggraph2003的论文加以改进,改进之前使用的是Kajiya and Kay's 模型,它能量不守恒,也就是说不是基于物理的,不准确 ...

  7. unity给头发添加物理_unity3d Hair real time rendering 真实头发实时渲染

    先放上效果 惊现塞拉酱 算法是Weta Digital根据siggraph2003的论文加以改进,改进之前使用的是Kajiya and Kay's 模型,它能量不守恒,也就是说不是基于物理的,不准确 ...

  8. 【Marschner模型】Light Scattering from Human Hair Fibers人类头发纤维的光照散射

    Marschner模型源自SIGGRAPH2003<Light Scattering from Human Hair Fibers>论文,也就是本文的标题. Marschner模型是除Ka ...

  9. [图形学] 经典算法 - Kajiya三维纹理渲染毛发

    简介 渲染复杂度高细节丰富的场景一直是图像绘制的重要目标.一个想法是引入不同尺度的层次,每一层次对应一种精度几何模型.因此那些复杂的小物体可以被归类为可被简化的几何物体. 但是,绘制毛皮表面依然面临着 ...

  10. Shader头发效果

    头发各项异性高光: (1)KaJiYa的介绍: 跟KaJiYa的略有区别但是 背后原理一样,实际效果比kjy好 用一张图来说明kjy的原理: 代码中求衰减用到的函数 exp(x): (2)代码中大体思 ...

最新文章

  1. hdl四位二进制计数器_四位二进制计数器这样接成十进制计数器
  2. 边缘计算 — 商业模式
  3. iOS - 修改 UITextField 的 clearButtton 样式
  4. OpenJudge 2739 计算对数
  5. c mysql bulk,MySqlBulkLoader批量上传遇到的问题和解决方法
  6. Java-主方法main()的解析
  7. 下面我这个方法可以实现限制某些QQ号登陆,而没有被限制的QQ号可以登陆,不需要借助任何工具。...
  8. 使用pm2后台运行nodejs程序
  9. php jwt token 解析,JSON Web Token(JWT)入坑详解
  10. matlab空域内图像增强之灰度变换增强
  11. 在苹果 Mac上接收和暂停或停止接收通知操作方法?
  12. android log4j slf4j,Android中的LOG4J
  13. Python科学计算
  14. 二进制十六进制转换表
  15. 产品经理工具之软件篇
  16. linux数据向量化指令,VLIW DSP编译器向量化优化技术及指令分簇算法研究
  17. srt文件的时间轴平移处理
  18. 继 layui 之后, jQuery Mobile 宣布完全弃用!
  19. 手机内存跟电脑内存的区别
  20. java毕业设计——基于java+JSP+MySQL的网上购书系统设计与实现(毕业论文+程序源码)——网上购书系统

热门文章

  1. js 引用类型的判断
  2. Linux磁盘4k对齐是什么意思,linux查看硬盘4K对齐方法
  3. vue项目实现 一键复制粘贴 亲测有效
  4. 人力资源外包根据HR管理职能的七大分类
  5. 弘辽科技:印尼拼多多”冲刺IPO
  6. 主成分与因子分析异同_如何做主成分分析和因子分析?它们的区别与联系在哪里?...
  7. shell脚本字体颜色分类总结
  8. 利用jQuery实现表单里的增加、删除和修改
  9. Ubuntu与Windows10双系统引导问题-已解决
  10. docker的端口映射顺序