当前位置: 首页 > news >正文

kajiya-kay 头发

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).

相关文章:

  • Prncnfg.vbs参数详解
  • Docker安装
  • Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequency Lighting Environment
  • Ocelot-基于.NET Core的开源网关实现
  • Real-Time Rendering——Chapter 6 Texturing
  • 边缘分析及直线和圆拟合——第5讲
  • Towards Real-Time Photorealistic Rendering: Challenges and Solutions
  • SpringBoot——定时任务+WebSocket(问题)
  • unity调试lua工具和方法——IntelliJ IDEA+EmmyLua
  • cad.net 更改高版本填充交互方式为低版本样子
  • xlua——03_UIEvent学习
  • Ant构建原理及build.xml文档描述
  • 大型网站架构系列:负载均衡详解(3)
  • 概率论第10讲——离散型随机变量
  • error LNK1169 找到一个或多个多重定义的符号的解决方法
  • 时间复杂度分析经典问题——最大子序列和
  • 0x05 Python数据分析,Anaconda八斩刀
  • 4个实用的微服务测试策略
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • ES6 ...操作符
  • Javascript基础之Array数组API
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • mockjs让前端开发独立于后端
  • PAT A1092
  • Python3爬取英雄联盟英雄皮肤大图
  • Python实现BT种子转化为磁力链接【实战】
  • Redux系列x:源码分析
  • Swift 中的尾递归和蹦床
  • windows下如何用phpstorm同步测试服务器
  • 动态魔术使用DBMS_SQL
  • 前端性能优化——回流与重绘
  • 前端自动化解决方案
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 手写双向链表LinkedList的几个常用功能
  •  一套莫尔斯电报听写、翻译系统
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 数据库巡检项
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ###STL(标准模板库)
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (C语言)球球大作战
  • (java)关于Thread的挂起和恢复
  • (笔试题)分解质因式
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (区间dp) (经典例题) 石子合并
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)winform之ListView
  • (转)创业家杂志:UCWEB天使第一步
  • (转载)CentOS查看系统信息|CentOS查看命令
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .Net 6.0 处理跨域的方式
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件