小生预言,鉴于目前CG产业中学术界与生产界之间的差异,未来必将有一门独立的学科,专门用于研究自然界的材质特性与表现,从此艺术界与学术界将呈现完美之统一,应该先在MIT或者Cornell出现。本人姑且将这门学科命名为“应用光学材料学”,其基础组成学科包括
- 量子力学
- 几何光学
- 傅里叶光学
- 固体物体
- 凝聚态物理学
- 天体物理学
- 刚体动力学
- 流体动力学
- 有限元分析
- 分析化学
- 数学分析
- 数值分析
- 概率论与数理统计
- 复变函数
- 超复数
- 线性代数
- 计算机图形学
- 表现技法
- 室内设计
- 建筑设计
- 计算机组成原理
- 数据结构
- 各种程序设计语言(包括C++、Python、Perl、Lua、SWIG等)
- 各种数值分析工具(Matlab、Mathmatica、Maple、GNU Octave等)
- 各种2D、3D工具(PS、Illustrator、Fusion、Shake、3dsmax、Maya、Houdini、C4D、Softimage|XSI等)
- 最少独立写3种渲染器(RenderMan、PBRT、Maxwell)
为求无所不能以及保证教学质量,任何开设这一课程的人2D方面最少要达到达芬奇、拉斐尔等文艺复兴时期所有大师的水平,3D方面要能够达到PIXAR\Bluesky等Studio整个R&D团队的制作水平,学术研究能力要能够达到Stanford、MIT、Cornell、MPI、IRINA所有已有Ph.D、Prof.头衔之一切学者的水平。只有满足上列三个条件才有资格教授本学科,否则由本人当场击毙。
posted @
2008-07-05 11:37 Bo Schwarzstein 阅读(72) |
评论 (0) |
编辑
摘要: 大海水晶,百闻不如一见,坐在海边吹着海风,看着远处迷雾中若隐若现的码头,感觉很舒坦。对苏北的态度一直很复杂,深入了那些企业才见到每个月几百块工资的血汗工厂是何等的繁荣昌盛。懒得再拍片了,一来是车间灰尘极大,估计LF上已经落一层灰了,都是木屑,刺激的气味,酸涩的眼泪,真是感叹不已。【点开看照片】
这个星期我依旧要实习,有事请发邮件或者直接打电话给我。
阅读全文
posted @
2008-07-04 21:30 Bo Schwarzstein 阅读(105) |
评论 (0) |
编辑
摘要: 这个星期学校组织去苏州实习,其实就是参观工厂。由于本人学习的是木工专业,所以我们走访的工厂都是和木材工业相关的,比如人造板场、家具厂,木工机械场等。使用了新买的腾龙17-50镜头,总得来说还不错,虽然说聚焦与成像素质比起标头来还是稍逊一筹,不过我已经比较满意了。苏州还是那个样子,郊区依旧很整洁,“绿扬馄炖”的蟹黄汤包依旧很甜很好吃。这几年去苏州的外来打工人员越来越多,那些老字号的店仿佛都大了一倍以上,服务也比以前更舒心了。【点开看照片】
阅读全文
posted @
2008-06-27 19:58 Bo Schwarzstein 阅读(136) |
评论 (1) |
编辑
摘要: GNU Scientific Library(以下简称GSL)是来自开源社区的重磅礼物,历史悠久功能强大,集成了最基础的同时也是最重要的科学计算算法如BLAS、Monte Carlo积分等。本文讲解了其基本使用方法,结合笔者的经验点明其应用,并提供代码进行参考。这里是PDF文档下载。
阅读全文
posted @
2008-06-22 14:26 Bo Schwarzstein 阅读(1542) |
评论 (6) |
编辑
My project has thrown a new milestone on the developement road. It can communicate with Maya environment by XMLRPC, exchang information about scene such as lights, mesh attributes etc. Then eat RenderMan shaders, transform them into Cg shaders, then do illuminate loop for fast preview.
THIS PICTURES IS PRIVATE, OWNED ONLY BY ME. ANYBODY MUST NOT USE THIS BY ANY WAY.
posted @
2008-06-17 22:05 Bo Schwarzstein 阅读(136) |
评论 (1) |
编辑
posted @
2008-06-07 16:07 Bo Schwarzstein 阅读(147) |
评论 (3) |
编辑
posted @
2008-06-02 14:33 Bo Schwarzstein 阅读(83) |
评论 (0) |
编辑
摘要: [CH]点渲染技术的EWA渲染方式能够有俺们的实时GPU超采样产生的图效果好么?肯定是不会有的啦。
[EN]Is the EWA splatting will be better than my GPU multipass supersampling method ? Of course Not !
[DE]Ist die EWA splatting so besser als meine GPU multipass supersampling Methode ? Naturlich nicht!
阅读全文
posted @
2008-05-22 16:00 Bo Schwarzstein 阅读(448) |
评论 (9) |
编辑
摘要: GPU Relightintg Preview
阅读全文
posted @
2008-05-20 17:57 Bo Schwarzstein 阅读(329) |
评论 (1) |
编辑
摘要:

阅读全文
posted @
2008-05-18 09:56 Bo Schwarzstein 阅读(166) |
评论 (0) |
编辑
摘要: REYES管线可以将一切几何体打散成二次面片与微多边形,用于高素质渲染。本文提出的方法可以将REYES输出的网格重构为参数化模型,使用三角形镶嵌以用来在GPU上实时渲染。
阅读全文
posted @
2008-05-17 22:09 Bo Schwarzstein 阅读(334) |
评论 (5) |
编辑
摘要: 本文概述了RenderMan点云的一些特性,如何渲染点云,提供RM以及GPU渲染的效果对比。
阅读全文
posted @
2008-05-15 22:33 Bo Schwarzstein 阅读(398) |
评论 (5) |
编辑
最近几个星期工作比较忙,博客没有更新。这个星期最大的两个成果一个是RSL到NVIDIA Cg的转换器的完工,还有一个就是能够将RenderMan分裂的的所有Grid以及Micropolygon弄出来,这样就可以实现Lightspeed中的Indirect Framebuffer,由此一来运动模糊、景深、乱续采样就都可以在GPU上完成了,一切的一切都在计划中,追赶上ILM与PIXAR的工具只是努力与时间的问题了。当第一阶段完工后将放上详尽文章,敬请期待。
posted @
2008-04-26 00:03 Bo Schwarzstein 阅读(219) |
评论 (6) |
编辑
从事先bake好ST的点云中构造切线。说起来极其简单,自适应的根据点的数目生成一个类似于棋盘格的加速结构,随后在每个网格内部进行搜索。示意图如下,
因为标记为Best的那个样本最接近于vec2(1,0),也就是保证了一个方向上的连续性,计算结果为当前采样点(五角星表示)的dPds。相同的道理,我们也可以得到dPdt。当然,我们也可以在RSL中手工计算这两个分量。
在我的笔记本上T2250+2G的机器上跑了3秒,在E6550+2G的台式机上跑了1秒,速度还是可以的。生成的图如下,注意为了显示已经把向量数值缩放。
这样计算对ST分布有要求,就是不能颠倒物体方向,导致P不能在ST空间内连续,所以模型上肯定会有一块不会连续了。或者更加智能的,bake出ObjectID一样的玩意,这样就在物体的每个部分内独立计算切线了。
posted @
2008-04-09 21:59 Bo Schwarzstein 阅读(167) |
评论 (0) |
编辑
posted @
2008-03-20 22:19 Bo Schwarzstein 阅读(237) |
评论 (3) |
编辑
用同事的适马105/2.8微距拍的玩具,不得不承认,除了德系装备,“日本光学”的素质还是比其他的镜头要高一些的
posted @
2008-03-15 14:01 Bo Schwarzstein 阅读(170) |
评论 (0) |
编辑
这是在亚马逊上找到的封面,人家都第四版本了,手头拿到的还是第二版本。我还是在林业大学,学的还是木材专业,此时只能用不是滋味来形容我的心情。
老师上课说啥,这是内部交流刊物,我当即表示嗤之以鼻,这些人的思想还停留在上古时代,根本不知道分享知识的意义与价值,还基本停留在科技官僚的时代。
这里是下载地址,感兴趣的朋友可以没事研究一下,以后打家具弄装潢可就非常自信了,再也不会被那些居心不良的木材销售商家给忽悠了。
posted @
2008-03-02 22:14 Bo Schwarzstein 阅读(159) |
评论 (3) |
编辑
简单的尝试了下用Lafortune BRDF渲染纸张。为了公平起见统一把Ka设为0,Kd设为1.0,没有Specular项。使用3Delight的免费Licence和学习版maya 8.5,所以没有版权问题,但没有出阴影,所以看起来比较奇怪。效果对比如下:
左边是用内建matte材质,也就是Lambert,右边的就是Lafortune了,使用了2个lobe。右边的Fresnel效果更加的强烈。
posted @
2008-02-28 20:48 Bo Schwarzstein 阅读(118) |
评论 (0) |
编辑
过一阵子准备尝试使用高级BRDF模型,如这个赫赫有名的Lafortune BRDF,调整参数极其的不直观 —— 27个系数形成的矩阵表示了材质各向同性与各向异性的特性。康奈尔的站点上提供的BMRT的RIB,可惜现在BMRT早已经被NVIDIA和法院“和谐”掉了,想要下载很麻烦。这是使用免费的3Delight渲染出的图,修改过一些Attribute。下面准备尝试使用康奈尔人做实验测量出来的BRDF数据渲染。
posted @
2008-02-26 10:52 Bo Schwarzstein 阅读(168) |
评论 (0) |
编辑
K-Means算法是一种比较有意思的数据簇算法,原始的意义是将n个物体分为k个区域,并且k<n。当我看到这个算法第一个想法就是是不是和Voronoi图相关,事实上的确是的,两个簇边界上的点大体构成Voronoi图的剖分线段。这个算法广泛应用于分子生物学,以及CG —— 康奈尔的那帮家伙用这个算法加速间接照明部分的计算,很是强大。
posted @
2008-02-21 10:50 Bo Schwarzstein 阅读(277) |
评论 (2) |
编辑
This is a very simple blobby scene rendered by 3Delight with the free licence in my laptap PC.
I will dive into several CFD papers from Stanford University, UC Berkeley and ILM, try to use blobby to handle the fluid effect.
posted @
2008-02-20 11:20 Bo Schwarzstein 阅读(104) |
评论 (0) |
编辑
开源软件很好,可惜想编译的话,如果软件自己又依赖于其他平台或者是其他的库,就会很麻烦很麻烦,误工误时不说,心情还烦躁。PBRT是个好东西,可是编译起来需要先安装cygwin的相关组建,也就是编译器的编译器bison、Yacc、Flex相关的黑客玩意,很是麻烦。琢磨了一下编译好了PBRT,提供给大家下载。
I hate to recompile opensource software, spent lots of time on configuation hell. Furthermore, we can not learn anything usefull except being more familiar with our IDE.
If the program shows that missing some dll such as OpenEXR or the others, please download them manually. My environment is not the same as yours, so I can't be sure that you can running this little program as free as me.
Download Here
Enjoy !
posted @
2008-02-08 21:11 Bo Schwarzstein 阅读(202) |
评论 (4) |
编辑
声明:所有内容均搜索自互联网,如有违反相关法律,本人第一时间撤下所有有争议的内容
搜索到了VS2008 Team英文正式版本的BT种子文件,祝广大开发人员新春愉快幸福健康!
下载速度很快,我1M的ADSL花费了17个小时平均速度70KByte/s,主要是中途速度有些慢,到后面就一直保持极限速度。已经刻录为DVD保存!
推荐使用Ayu版本的迅雷绿色版本,点击
这里下载
posted @
2008-02-03 10:57 Bo Schwarzstein 阅读(226) |
评论 (3) |
编辑
Google很容易就搜索到,虽然说Rank很高,可是高处不胜寒,连连叫嚣bullshit的人不少,算了,我还是不献丑了
我喜欢根据那些论文,提取出重要的内容,当然包括数学公式,再加上现有的实现法则,应该大部分都算是Introduction与Tutorial,为什么要骂我呢?真受不了。
中文的有价值的CG资料那么少,基本上都是建模软件使用方面的,根本没有多少资料会谈到最新的CG技术成果,现在人家都开始为EG08写论文了。我做好事为大部分人总结,却找来“这么多数学能说明什么问题,你也不是数学家,纯属胡扯”这样的评论。
原谅我,我只是一个二流大学的本科生,还不是CG专业、数学专业的,高数分数也不高全靠自学,我却要去琢磨Pat Hanrahan、Joeg Kreuger这样的人的论文,我容易么我?有本事你做点事情到Siggraph上发表给我看看去,那时候我承认你骂我的是完全正确合理的,否则,你也就一个废柴。
posted @
2008-01-31 10:29 Bo Schwarzstein 阅读(189) |
评论 (17) |
编辑
Bo Schwarzstein
Copyright
The referred graphs have been announced.
We’d better view some principle about BSSRDF and human skin. Repeat, this is not a math hell. BSSRDF is not used for completely remove the BRDFs (include Phong, Blinn, Cook-Torrance etc.) from the earth. It’s only for correctly representing translucent material in computer graphics. If you want to learn something deepter, you’d better ask your solid physics or applied optics teacher. They will explain to you that all the problem is about the reaction between light energy and atom at quantum level. Oh, it sounds terrible, not easy at all. So, we will show something much easier than you dive into papers all by your self.
In computer graphics, we want to “correctly” illuminate the appearances of objects in scene, whatever from psychology, like Phong shading, or physical, just like the Monte Carlo method. So we have used some classic BRDF model in computer graphics. In fact, the BRDF is a approximation of BSSRDF, it is assumed that light enters and leaves at the same point [A Practical Model for Subsurface Light Transport]. But if we investigate the translucent objects near us, such as grape, marble, milk, skin, we will know that every lighten points we saw on them were effected by nearby point even inner of them when the light was traveling through them. The origin formula is:
If we want to solve equation is quite stupid. In reality, artist likes to face to many linear parameters, modifies them by simple arithmetic, or just in a compositing software such as Shake, After Effect, not these mathematics devils. So we have to separate something important parts from the origin formula. Let’s continue now.
The radiant exitance is our final wanted result, because we can use it as diffuse radiance data directly.
Ep is irradiance at the location p, calculated like this:
It means that Ep is the sum of ambient and diffuse components multiply with Kdt surface color, also the radiance diffusely transmitted through the surface. Ap is the area of the location. From simple to difficult, the last part can be expressed like this:
Oh, we attract more unknown variable quantities, before we can solve this, we have to get something ready:
And more:
Solving Rd is just for get α'. Because:
But this function is not easily to invertible, otherwise we can directly get everything. But we first should see its graph:
It has a simple monotonic shape in the valid region α' is in [0,1], we can use a secant root finder to compute α'.
Now, do not feel complicated about so many symbol. The most important parameters which dominate skin appearance are sigma_s' and sigma_a, luckily, these two parameters can be measured from experiment. So this is the plot from [Analysis of Human Faces using a Measurement-Based Skin Refectance Model]:
This plot gives us a very valuable reference to our deciding approximate parameters for different human skins. The circle shape encodes male the other is female. Mark size encodes age, the bigger the older. Color encodes skin appearance, from black, dark brown, to brown, white to olive, until white, very white.
|
Shot
|
Reduced Scattering Coeff.
|
Absorption Coeff.
|
Addtion
|
|
0.74 0.88 1.01 |
0.032 0.17 0.48 |
Built-in skin1 |
|
1.09 1.59 1.79
|
0.013 0.070 0.145
|
Built-in skin2
|
|
1.4 1.18 1.3
|
0.07 0.23 0.46
|
Table Data
|
 |
2.18 1.67 1.9
|
0.025 0.18 0.4
|
Table Data
|
In Pixar RenderMan Pro Server there is a tool names ptfilter. We can use this command line tool to do sub-surface diffusion in a point cloud. Then we can make a brick file and use the illumination data in surface shader by texture3d() OP. We will touch 4 parameters if we want to get correct SSS effect manually. They are :
Unit Length, important physical-based parameter, depend on size of your 3D model, if you miss it and your scece unit is not mm, you will get wrong result.
Diffuse Mean Free Path, we use "DMFP" for short. This is a also physical-based parameter. This parameter is a attribute of translucency material surface. This parameter will be convert to Mean Free Path (MFP), means the average distance at which light scatters. This parameters will multiply with unit length above, so it’s physical preparation of material, even it’s spatially-varying.
Scattering Coefficient, just the σs', main parameters in controlling SSS effect, should be fixed before modify others.
Absorption Coefficient, the σa, as the same as σs'.
Albedo, for simple, it’s the diffuse color, to represent different degree of light scattering.
We have to know that this tool is based on dipole diffusion approximation algorithm in [A Practical Model for Subsurface Light Transport]. So it can't represent the effect such as refraction of light at the boundary casing internal caustics, translucent inter-scattering. For that we can use more advance method such as photon diffusion, but it have not been supplied public tool.
The next stage is about choosing which BRDF model used to fit the data. In [Analysis of Human Faces using a Measurement-Based Skin Reflectance Model], they have discussed enough about the BRDF model. The Torrance-Sparrow BRDF is physically-based, so it is quite suitable to represent the bump skin surface. There is nobody's face is perfect flat. This BRDF must be used spatially-varying, not uniform. So we have to reconstruct all the needed render data.
Refer to [Analysis of Human Faces using a Measurement-Based Skin Reflectance Model], artists should divide the whole face texture map into different part so that each region will be painted with correct BRDF parameters. And each region owns its distribution.
First, we should make sure what kind of human skin we want to simulate, male or female, how old, black or white. From these conditions we have had the bound of scattering parameter σa and absorption parameter σs'. General speaking, dark brown and black skin have higher absorption and lower scattering coefficients than white skin. It's natural that the absorption coefficient σa is highest for the blue and green channels, this is caused by blood in deep level of skin. From the function graph we know σa decreases with higher scattering coefficient σs'.
Then we can along the path showed by Christophe Hery in [Implementing a Skin BSSRDF]. When we have fixed the σs' , then we modify the σa, even the diffuse mean free path. But these parameters are quite unfriendly to artist. The origin data is measured in laboratory, is not intuitive. The less key parameters the artist will control, the more easier to handle. The index of refraction is fixed to 1.3 about many materials, such as skin, ketchup, skimmilk. We suggest that all of physical parameter such as DMPF, σs' and σa should be fixed by Technical Director (TD), then artist can convert approximate parameters into textures, combined with shading program, here are the channels baked by RenderMan shaders. Even TD manually write little C++ program to calculate these numbers by Pixar RenderMan SDK after discussing with artist or some specialist about material.
The perfect effect must be handed by artist. SSS is not the everything, a compellent cinematic effect comes from heavy compositing, high quality texture maps, accurate displacement, good lighting design, the SSS is just a good way to illuminate translucent materials. Good luck.
posted @
2008-01-29 22:26 Bo Schwarzstein 阅读(1486) |
评论 (18) |
编辑
表哥买了台HP 3706,预装了鸡肋Vista Home Basic,只有C盘和D盘,其中D盘容量为9G是恢复分区,C盘达110G。谁也没有一个疯子会把东西都放到C盘里面,那样日后数据整理,故障恢复都极其不方便。所以么需要重新分区,琢磨了几次,发现了最好的分区方法。不过需要注意的是,DOS版本的PQ仿佛没有用,最新的番茄花园附带的PQ 8.05仿佛不认HP的分区,显示为全部占用,检测显示严重错误。如果有重要数据请备份到外部存储介质,如USB移动硬盘什么的。这种分区方法会把C盘恢复到出厂状态。
HP的恢复程序启动的是一个精简的Vista,而且没有锁定硬盘,随便你如何分都可以,把C盘删除也可以。开机直接按F11进入HP的恢复程序,出现第一个对话框后不要按“下一步”,直接按键盘Alt和D键调出命令行,使用DISKPART这个微软提供的命令行分区工具分区,但是要注意的是C盘不能小于30G,否则从恢复分区拷贝的数据不够放,3706出厂时C盘占用大概11G。
这样就可以分区了,而且保留了HP的恢复功能。不知道为什么这个破HP不允许装XP,驱动不完善BUG一堆,真让人生气。
posted @
2008-01-20 19:41 Bo Schwarzstein 阅读(1192) |
评论 (4) |
编辑
原文链接
原文版权属于Adobe System Inc.
翻译文本版权属于Bo Schwarzstein,欢迎转载
注记:
RAW转换器不等同于软件,相机的预览功能也有一个内置的RAW转换程序
你肯定听说许多关于数码相机RAW格式的信息,但是你要知道,RAW真的不是一个简单的玩意。首先,不同的厂商RAW格式不相同,比如Canon的CRW与CR2,Minolta的MRW,Olympus的ORF,Nikon的NEF等等。但是它们都有许多共同点,无论是从拍摄还是到数据格式,但是为了彻底弄明白RAW你首先需要了解数码相机如何成像的。
首先,RAW文件记录着传感器捕获的信息。虽然有很多编码方式将传感器的数据写入到RAW文件中,但是RAW记录的必定都是未压缩的传感器捕获的数据。数码相机的成像方式有一些,但是几乎所有能够拍摄RAW格式的相机都是“Mosaic Sensor”或者是“Color Filter Array”(CFA)型的。
CFA型相机利用一个二维区域收集落到底片上的光子,利用CCD或者CMOS技术成像。一般来说,这个二维区域上的每一个元素就是一个传感器,都对应着最终图象的一个象素。但是这些传感器只会简单的数落入它区域内的光子数目,由产生的电压反映有多少光能量通过,这里有一个关键处就是,CAF型相机的RAW数据其实是灰度。
从灰度到彩色
CFA的作用是从捕获到的灰度数据恢复颜色。这个数组中的每个传感器都会被一个颜色过滤器(Color Filter,以下简称CF)覆盖,所以每个传感器仅仅捕获R、G、B之一。许多相机的CF采用Bayer排列模式,如下图:
还有一些相机使用CMY而不是RGB,因为CMY能够感受到更多的光,还有的相机可能再加入第四个色分量。这里的关键是,无论CF是如何排列的,CAF型相机的一个传感器只捕获一种颜色。红色传感器只测量红光的能量,绿色的只测量绿光的能量,蓝色的只测量蓝光的能量。
RAW文件包含两种信息:象素本身以及图象元数据(metadata)。Metadata意思是“关于数据的数据”(Data About Data),产生于相机的每次拍摄过程。无论你输出的是RAW还是JPG格式的照片都包含EXIF信息,包括相机类型、光圈大小、快门速度等等。RAW文件还包括了一些元数据以便RAW转换期使用,输出RGB图象。
让我们再次回到那个有些骇人听闻的灰度数据上。大部分RAW格式在元数据中都包含了“解码环”(Decoder Ring),记录了传感器上CF的排列数据,这样RAW转换器就知道应该如何生成象素的色彩数据。最终RAW转换器将利用插值法从灰度数据生成彩色数据。这个过程是RAW转换器的关键,但这绝对不是唯一的步骤。RAW数据的转换还有以下几项工作:
当你拍摄RAW格式时,相机的白平衡设置对生成的象素没有任何影响,它们只是简单的写入元数据而已。有的RAW转换器能够读取白平衡标记自动的采用默认的白平衡设置,还有则能够完全丢弃记录的信息而从图象中自动分析决定白平衡。
- 色度解释Colometric Interpretation
RAW文件记录的每个象素其实都对应着R、G、B一种色彩的亮度信息。但是你要知道,R、G、B都是相当不精确的信息,也许你问一百个人“红色”是什么样子,也许就会有一百个不同的答案出现。所以一般情况下RAW都记录CIE XYZ三刺激值,并由RAW转换器完成色彩空间的转换计算。
RAW片的伽马特性是线型的,系数为1.0,这和底片或者人眼都不同。RAW转换器需要进行伽马校正,重新计算照片的Tone,更加接近于人眼的感光特性。
- 降噪Noise Reduction抗锯齿Antialiasing锐化Sharpening
图象上极其微小的细节有时就可能导致严重的问题。如果细节部分只由红色传感器或者是蓝色传感器捕获,那么RAW转换器可能很难计算这个象素的最终颜色。简单的方法可能无法表现足够的边缘细节,所以大部分RAW转换器也会采用一些边缘检测、抗锯齿等方法减少图象的锯齿效果,使照片更加的美观。
虽然说所有的RAW转换器都做一样的事情,但是它们所采用的算法可能各不相同,所以相同的照片经过不同的RAW转换器处理后可能都不相同。一般来说,即使给定了一种RAW格式,也没有一种可以称为“正确”的解释方式。相机制造商自己会研究自己的格式,究竟用哪一种方法去解释最“好看”,所以还是用它们提供的软件去出片可能比较合适。
(后面关于JPG的就没有翻译了)
posted @
2008-01-19 00:57 Bo Schwarzstein 阅读(226) |
评论 (1) |
编辑
天井
由 Jedimaster上传于Yupoo, 由相机NIKON D80+50/1.4D拍摄.
今天陪同学去赛博未来城内买笔记本电脑,随手拍的建筑内部。尼康的躁点的确不如佳能,ISO400的躁点都相当的严重,动态范围也比不上富士S5 Pro。
posted @
2008-01-12 16:55 Bo Schwarzstein 阅读(100) |
评论 (0) |
编辑
你是我一只丢失的红蝶
早已飞至季雨登天的圣地
没有折返
我抑郁而终的爱情
一尊因等待而落泪的侍神
你依旧驻留在通天的塔尖
俯视天河流过的国度
思念是乡愁永不褪色的长旗
挥洒衣袖问候轮回中的星辰
不知何时能将悲苦超度
献上我独一无二的虔诚
根本没有谁能一路跟随
记下我追寻你的旅途
还有多遥远
PS:送给小茵

posted @
2008-01-11 22:42 Bo Schwarzstein 阅读(52) |
评论 (0) |
编辑
声明:本文引用了一些来自Lightspeed项目的一些图片,版权属于原作者。
Notice : I have referenced some picture from Lightspeed project. The copyright is belong to origin author.
Relighting系统是成熟的CG制作流程中不可或缺的一个环节。不过有趣的是,目前除了NVIDIA Gelato的那个附带的部件以及PIXAR曾经的IRMA,Relighting似乎还没有成熟的商业版本问世。这是由于Relighting系统的先天存在条件所决定的,它必须与制作流程紧密结合,绝非一个独立存在的功能。Relighting可以大幅度的提高艺术家的角色、灯光的布置设计,进而提高生产速度与品质。目前在ILM、PIXA R、DreamWorks等顶尖的CG工作室中都早就有了自己与整套制作流程相结合密切的Relighting系统,如PIXAR的Lpcis、ILM的Lightspeed等。
Relighting系统的主要工作过程如下:
-
选择关键帧,为这些关键帧预设计灯光
-
选择一种BRDF即光照模型
-
编写渲染器Shader,将计算光照所需要的所有数据以帧的方式渲染出来
-
将灯光参数、BRDF数据载入硬件进行实时计算
-
根据反馈结果调整灯光参数,直到符合要求为止
 |
Position |
 |
Normal |
|
Diffuse |
|
Specular |
|
Rendering Result |
在这里我们看到,整个Relighting过程类似于调整灯光进行延迟着色,而且可以牺牲掉一定的实时性能,而获得与真正渲染素质几乎相同的画面给艺术家参考。为了进行最大程度近似的光照计算,输出光照计算所需要成分的贴图时可以预先做好光线跟踪与环境照明,预先执行Displacement Shader等。
但是随着渲染场景复杂度的提升,艺术家所设计的灯光数目也越来越多,可能有几千个灯光用于构建真实场景的照明效果。同时,Surface Shader的复杂度、相关OP很有可能是硬件无法支持的。所以为了适应GPU加速计算,Lightspeed开发了编译器优化系统,通过分析RSL语法树识别出Surface Shader中动态与静态的部分,然后拆解为相应的Cg Shader,载入GPU进行渲染。在Relighting系统中真正许多调用的是Light Shader,Lightspeed通过Cg接口实现调用。对于一个基于GPU与GLSL的Relighting系统框架来说,可是预先编写好相应的Light Shader,包括Spot、Direction等。
多光源的问题将是一个不小的负担,因为对于GPU这样高度并行的流处理器来说,最慢的操作莫过于内循环。如果在GPU Shader中要求遍历100000次,这是相当不可思议的耗费。我们首先需要承认这样的一个事实,不是所有的光源对于场景都有巨大的贡献,很多光源只是为了模拟局部地区照明,在Relighting时几乎没有任何贡献,所以我们可以进行一些简化。康奈尔大学一直在做Relighting系统的设计,最新的《GPU Gems 3》中就有康奈尔学者的文章。从《Direct-to-Indirect Transfer for Cinematic Relighting》到《Matrix Row-Column Sampling for the Many Light Problem》,都是为了提高Relighting的速度,拓展Relighting的适用范围,更好的为制作流程服务。
posted @
2008-01-06 23:36 Bo Schwarzstein 阅读(254) |
评论 (4) |
编辑
由于原有rapidmind.net上已经不再提供下载,而且它的开发者论坛也不再提供注册,导致一些想尝试rapidmind的朋友无法下载SDK进行开发。因此,小弟放上曾经下载的,现在也是最新的2.0.1.6834提供给大家下载。
Because the rapidmind.net have hided the download link and the developer forum. In fact they are still alive. I upload the newest version of SDK, share it with developers, my friends.
点击LOGO下载
Click The Logo To Download
posted @
2008-01-06 19:40 Bo Schwarzstein 阅读(142) |
评论 (0) |
编辑
本文开篇第一句话我觉得应该是:如果我有错,还希望各位朋友指证。我既不是图形学教授,也谈不上专业从事CG工作多么的富有经验。我只是一个觉得自己刚刚入门的初学者而已。很多人问我问题,但是很抱歉,你们的许多问题我实在没有时间一个一个的解释,我有自己的学业与工作,一周除了学校的学习还要把其它所有的时间都放在CG的学习上,包括写程序看论文看书,所以到现在,游戏基本上不会玩,连个女朋友都没有呵呵,因为,实在没有时间。
Q:计算机图形学是什么?
A:计算机图形学Computer Graphic是一门交叉学科,可以说与娱乐业的兴起有相当大的关联。它的主要目的是在现有计算条件下,根据实际需求进行数字图象的绘制。
Q:我在学CG前要有哪些基础学科的知识呢?
A:具体牵涉到的学科,很大程度上与你将来希望从事哪方面的工作,甚至和你想达到的层次息息相关。最基本的应该包括,微积分,数值分析,线性代数,离散数学,几何光学,以及一些绘图艺术知识,比如素描,电影摄影技术等。
Q:CG究竟包括哪些内容?
A:归纳起来:架构Architecture、渲染Rendering、物理Physics,而且三者之间交叉的成分很多。做物理的不可能完全不懂得渲染技术,弄渲染技术的不可能不对架构不熟悉。架构主要是软件方面,包括渲染工具、设计工具、游戏引擎的架构设计等。渲染包括光照理论,材质理论,表现手法等。物理包括动力学方面,比如流体模拟,角色动画等等。
Q:我是个学工科的,为什么要求我学习摄影技术等艺术方面的知识呢?
A:CG并不完全为了工程模拟,也为了非真实渲染,比如卡通动画等。一味的强调“完全基于物理”是一种偏激与不负责任的做法,因为,我们不仅办不到,也不会按照这个理论走下去。你能说梵高的画比达芬奇的好或者是差么?它们根本就不是一个流派,所以,无法比较。学习艺术知识是为了让你更好的理解技术的意义以及各自适用的范围。
Q:我是个学艺术的,我害怕数学物理,甚至包括英语,我能学好么?
A:如果你是个传统画家,那么,计算机对于你来说,很有可能除了看电影、听音乐、玩游戏、逛易趣淘宝、不小心看到我这篇F&Q之外没什么作用。但是如果你从事的是CG行业,并且如果想提高水平,我给你的答案就是:不可能。
Q:英语很重要么?我很怕,我喜欢用中文的软件,看中文的书籍。
A:首先我们要知道,中国的CG水平很差,欧美是这个星球上最强的。第二我们要看到,欧洲非英语国家受过良好教育的人群中,英语几乎都很好。相比德语、法语等语言,英语很简单。计算机是美国人发明的,CG的资料差不多几乎都是用英文书写的,包括网页、论坛、讨论组、书籍、论文。英语是这个行业的通用语言,重要性自然不用多提。
Q:我的英语就是不好,怎么办?
A:戒骄戒躁,多看多读多记。如果你天天看论文和英文书籍,考四六级的时候什么单词都没有背诵过什么题目都没有做过,一样能够高分通过。
Q:我应该学编程么?
A:是的,最少要会除了C++之外的另外一门语言,Python最好。事实上,一个成熟掌握3dsmax、maya等工具的工作人员都会写一些脚本程序;一个精通算法与编程的CG技术人员都会使用3dsmax、maya、blender等工具。你希望自己处处被别人牵着走么?
Q:我应该从何种建模工具开始学?3dsmax还是maya?
A:根据行业。3dsmax用于游戏中比较多,比如你把《鬼武者3》打穿后,Credit就会提到3dsmax,同样,还有《翡翠帝国》等。如果你是做CG动画的,那么无可例外的,从Maya开始吧。
Q:我看到人家做的各种各样很绚丽的效果很羡慕,有什么快速取得成就的方法么?
A:这要根据你学习和兴趣的侧重点。如果你是思维活跃并且喜欢用软件的话,那么多看教程,多看别人的作品,自己学习,就可以提高了。如果你是思维严谨不喜欢走捷径(比如我),那么最好还是先打消这些念头,先把noise读懂了再说。
Q:我要看书,看哪些好呢?
A:可以先找本《Fundamentals of Computer Graphics》或者类似的书籍先了解一下,然后根据你的兴趣,选择接下来的学习内容。
Q:OpenGL和D3D我学哪个呢?
A:它们本质上都是GDI的接口。如果想从事游戏行业,那么D3D是不可避免的。如果你想研究图形学本生,那么GL比较方面。当然,两者都掌握最好。
Q:CG行业中的艺术家和研究人员最大的区别是什么?
A:区别是,前者用手头的工具创造无限可能,后者用理论以及代码为艺术家提供创造无限可能的工具。
Q:CG编程中有哪些常用的工具呢?
A:由于CG编程是一门和性能密切相关的技术,不同于商业软件,所以你必须掌握多线程技术。此外,处理各种图形格式也是家常便饭,所以我们需要FreeImage、CxImage、OpenEXR等库。用C++处理3D模型的话,我们有lib3ds、COLLADA DOM,前者处理经典的3DS场景格式,后者处理COLLADA XML描述文件。
Q:我想出国学习,我应该去哪里呢?
A:各种条件都好的话,首选美国。当然,德国法国也不错。欧洲的学者和美国学者联系很密切,很多美国的学者都是德国人。
Q:最后,有什么我应该时刻记住的么?
A:抓紧时间,努力学习。
posted @
2007-12-28 14:55 Bo Schwarzstein 阅读(520) |
评论 (5) |
编辑
近日多家3D站点纷纷报道了NVIDIA已经收购mental image的新闻。我觉得,这无论对电影工业还是桌面PC图形界都是强有力的讯号。
自从NVIDIA收购了Larry Gritz的公司,拥有了RenderMan的兄弟Intropy后,马上就推出了连显示窗口都没有变的Gelato,号称是能够用自己家的GPU加速的电影级渲染器。就在几个星期前,Intel收购了Neoptica,由斯坦福的一队强人组织的公司,据业内人士猜测,背后的东家可能就是NVIDIA。Neoptica这个公司很有意思,最初的成立目的是因为这些人对目前GPU的设计相当不满,有几篇Paper就是Neoptica所作。有人甚至预测,当NVIDIA收购了mental image,未来在GPU上实现实时光线跟踪将指日可待。我觉得这有些夸大其辞了,因为目前Interactive Ray Tracing的技术还是被德国人所掌握与推崇,代表人物就是,现在已经在Intel参与研发的Jörn Schmittler以及目前在Utah的Ingo Wald,还有Max Planck Institut的一批研究人员。NVIDIA是在光栅化硬件上过活十几年的公司,在光线跟踪领域还根本没有实力去与Intel较量,缺乏硬件支持,缺乏开发人员。从技术角度来看,未来NVIDIA的重要对手将是Intel,而非AMD/ATi。AMD处处灰头灰脸,CPU做不过Intel,GPU弄不动NVIDIA,真不知道未来AMD的命运是如何。
NVIDIA的聪明之处在于丰富的产品线,良好的开发社区支持,友好的开发软件,这一点倒是有些类似微软。Tesla刚刚获得Magazine Technical Excellence Award,NVIDIA肯定是相当的得意,因为GPU Stream技术已经获得了草根阶层的支持。至此,NVIDIA有可能在未来的几年内改变产品策略,为了对付气势汹汹的Intel以及依旧有生命力的AMD/ATi,将逐渐的进入以前涉足未深的离线渲染市场,客户将不仅包括Volkswage、Boeing,也将包括ILM等电影工作室。按照ILM的说法,只有在RenderMan不够的时候才用mental ray去救火,RenderMan纯粹的是为电影工业设计的,而mental ray不仅包括电影更包括工业客户。RenderMan的优势在于速度、画质,学术界与应用界的支持都非常广泛,最重要的是,90%还是光栅化。mental ray是高性能的RayTracing核心,用光线跟踪解决一切问题。现在NVIDIA有了menta ray的技术,极其有可能将其相当的技术充实自家的Gelato,映射到Tesla平台上。这样不仅保持了良好的兼容性,更解决了Shading性能这个巨大的问题,可谓一举多得,但是可以想象,要做的事情还很多,尤其是软件。我希望未来流式编程的条件有所改观,如同rapidmine那样写C++ meta然后生成GLSL代码的方式太局限,CUDA又与静态程序耦合的太紧密,CTM的虚拟机HAL不知道性能如何,brook的使用依旧比较繁琐。要不,未来干脆弄个Stream VM,在保证性能的条件下动态执行,把诸多的OP映射到GPU上?
CG业界山雨欲来风满楼,让我们拭目以待吧。
posted @
2007-12-16 13:55 Bo Schwarzstein 阅读(201) |
评论 (1) |
编辑
My 7300go in my laptop computer do not support interger type, so if I pass the ID of geometry instance to float framebuffer, when I read back the framebuffer, everying is dirty ! I have to convert them to BYTE type with Normal's 4th element. But at the same time it only support 255 object instance. It cost about 1 minute, single multithread, without OpenMP, without Vertex Buffer Object.
Future Feature : GPU Accelerated Shading & RayTracing, Carton Rendering
posted @
2007-12-08 21:06 Bo Schwarzstein 阅读(127) |
评论 (2) |
编辑
摘要: COLLADA是一个开放的标准,最初用于3D软件数据交换,由SCEA发起,现在则被许多著名厂家支持如Autodesk、XSI等。COLLADA不仅仅可以用于建模工具之间交换数据之用,也可以作为场景描述语言用于小规模的实时渲染。因为COLLADA DOM拥有丰富的内容用于表现场景中的各种元素,从多边形几何体到摄像机无所不包。我们可以通过COLLADA DOM库来进行场景文件的读取与处理操作,使用OpenGL渲染。
阅读全文
posted @
2007-12-01 11:54 Bo Schwarzstein 阅读(1004) |
评论 (3) |
编辑
I have improved the GPU rasteration used in Gelato described in GPU GEMS2, so we can more easily generate the FSAA pictures.
Resolution : 1024x768
Bucket Size : 256x256
Filter : 3x3 Gaussian
Supersampling : 8x8 Regular Sampling Used
Click To see Origin Size
posted @
2007-11-20 12:00 Bo Schwarzstein 阅读(167) |
评论 (1) |
编辑
我想关心实事的人都知道华南虎事件,在此之中当地政府、国家林业局、《科学》杂志等等都有所牵涉。先废话少说,上图!
上面的一副是农村地摊年华,下面的是所谓的照片,两者对比我们可以看到许多相同的地方,除了那些个树叶。
不过我有个想法,如何判断一张照片是翻拍的还是真实3D模型拍摄的,除了镜头的光学特性,那么是否还有其它的路径判断?
posted @
2007-11-17 11:42 Bo Schwarzstein 阅读(139) |
评论 (1) |
编辑
你可以随便说我如何的薄情如何的不懂事,这些我一点都不在乎,所谓成年人的那套所谓成熟伎俩我早就视之为邪恶与虚伪。你可能说我非常的极端和偏执,可是只有我这样才能生存下去,我想你在恨我不会剥夺我这点小小的自尊心的来源吧。我一直不知道你为什么说他如何如何的好。我知道我比不上他,可是这种比较根本就是没有任何意义的。也许等我到了他的那个年纪,我就完全可以在好莱坞的工作室找到一份工作,每天开车从加州海岸的别墅到工作的地方,去进行激动人心的事业,而永远的离开这个丑恶喧嚣的地方,这个污浊不堪的城市,这堆心灵黑暗猥琐的人尸。买花买巧克力买啥玩意谁不会,我不在乎这些能够给你带来多大的触动,也许我从刚开始就走错了一步又一步。或者今后在国内一个城市里面做我喜欢的职业,什么都会有,什么都会烙上高贵与敬重。现在你可以完全可以忽略这些也许就是可笑的许诺而毕业后直接投入他的怀抱,毫不犹豫。这些,到时候,我会根本的不在乎,但是我却绝对重视那一刻到来前的这段时间。我会努力的工作努力的上升,不断的去创造更好的未来,为了我也为了你。如果你不珍惜我也毫不在意,你说过,千里马常有而伯乐不常有,所以,我天天都满怀信心的看着太阳升起,然后埋头打开我的笔记本,撰写着这个星球上最激动人心的事业的历程。二十一岁生日快乐,你大了,真该懂事了。可惜女人最无法承受的就是选择,让她们永远的选择另外一条道路而没有任何回头的机会,而男人总是在岔路口仔细的权衡,时刻准备着创造转机的条件。
posted @
2007-10-29 21:51 Bo Schwarzstein 阅读(131) |
评论 (6) |
编辑
摘要: 前言:NVIDIA Gelato、Tesla、CUDA是一股对传统基于CPU的渲染器挑战的力量。GPU在诸多方面具有软件实现无可比拟的优势比如光栅化部分,遮挡剔除,以及潜在的并行计算能力,但是编程性实在缺少基于CPU的自由度,所以在相当的一段时间内还无法充分发挥性能。本文讨论了下基于GPU、CPU这种混合体系下的渲染器架构,相当思路也是Gelato所采用的。
阅读全文
posted @
2007-10-28 16:21 Bo Schwarzstein 阅读(952) |
评论 (20) |
编辑
桂花落香了,
我又等了你一年。
船桨撑开一片秋水,
山里凋零了一丛桃红。
我将肩膀凿进石壁,
背看你在栈道上拾花归来。
影子绘在墙上
把时光留守。
怀笑睡下,
因为午夜的清香。
我瞥见你的一簇羞慌,
而后转身欢笑沉入人海。
我倾听天涧的静谧与潮水,
苦难撑船赶往轮回的笙箫。
却未曾错过播种的时节,
准备好花苞沉入水底。
一日又一日的留守,
让江水泛红的那个日子。
于是乎,我又忘记
桂花落香了,
我又等了你一年。
posted @
2007-10-07 21:02 Bo Schwarzstein 阅读(142) |
评论 (0) |
编辑