搜档网
当前位置:搜档网 › 地形阴影渲染

地形阴影渲染

地形阴影渲染
地形阴影渲染

地形阴影贴图快速计算

时间:2007-12-05来源:作者:图腾收集发布人:admin 点击:97次

关键字:迅雷快车Baidu贴图地形阴影计算快速目录 1 引言 2 算法描述 3 算法实现 4 光照贴图 5 颜色部件原文:Fast Computation of Terrain Shadow Maps 译者:Dreams Woo1、引言(Introduction)地形渲染是一个覆盖内容非常广的主题。本文将集中介绍对地形的光照和阴影的渲染。在下图中,你将看到这一技术的

目录

1 引言

2 算法描述

3 算法实现

4 光照贴图

5 颜色部件

原文:Fast Computation of Terrain Shadow Maps

译者:Dreams Woo

1、引言(Introduction)

地形渲染是一个覆盖内容非常广的主题。本文将集中介绍对地形的光照和阴影的渲染。在下图中,你将看到这一技术的应用效果。

2、算法描述(Algorithm description)

本法则实际上非常简单,对于每一个栅格点,我们选择从灯光坐标点发出的光线到地图的交点。由于只选择射线L下面的点因此非常快。如下图1:

让我们了解下面的符号:

A = 目标点

B = 灯光位置的投影坐标(vector B = vector(sun_pos.x, 0, sun_pos.z));

C = 灯光位置坐标;

L = 光线矢量(L = A - C);

P = 光线经过路线的所有投影点;

X(P) = 投影点P在光线矢量上的坐标(用于单独计算LERP)。

点P用来参与从点A到点B之间的2D线计算。对于任意点P,假如在高度图中它的值大于点X(P)的Y值,那么就选择他。这样我们就知道光线L与高度图相交,那么点A的光照值就等于

‘ambient_color_value’,接着我们就可以处理下一个目标点。

假如所有的P类型的点都测试完没有发现交点,那么点A的光照值就使用下面的公式:

Illum(A) = ambient_color_value + (L dot N)

值的范围为[0,1]。

3、算法实现(Algorithm implementation)

假如上面的运算你还不明白,下面的代码将帮助你。最重要的函数是intersect_map。这个函数检查目标点是否被遮挡。测试光线是否与高度图有相交。这个函数调用高度图中每一个点。当发现一个交点时,就停止测试,接着测试下一个(如下图2中的点)。就象我在运算法则描述中的那样,假如目标点没有被遮挡,它的光照值使用上面的公式。

函数genLightmap用于产生光照图。它测试和照亮高度图中所有点。

注重:假如你使用下面的代码,你应当知道法线被从每个部件是FLOAT类型压缩为一个字节。

int intersect_map(const vector3& iv,const ray& r,Image* hm,float fHeightScale)

{

int w,hits;

float d,h,D;

vector3 v,dir;

v = iv + r.direction;

w = hm->w;

hits = 0;

while (!(( v.x >= w-1 ) || ( v.x <= 0 ) || ( v.z >= w-1 ) || ( v.z <= 0 )))

{

// length of lightdir's projection

D =

Magnitude(vector3(v.x,0,v.z)-vector3(r.origin.x,0,r.origin.z));

d = Magnitude(iv-v); // light direction

h = iv.y + (d*r.origin.y) / D; // X(P) point

if (hm->data[ifloor(v.z)* w + ifloor(v.x)] * fHeightScale > h)

{

// check if height in point P is bigger than point X's height

hits++; // if so, mark as hit, and skip this work point.

break;

};

dir = r.direction;

dir.y = 0;

v += Normalize(dir); // fetch new working point };

return hits;

};

Image* genLightmap(char* normal,Image* hm,vector3 fSunDir,int w,float fAmbient)

{

int i,j,hits;

float f,dot;

vector3 n,fVertex;

Image* lmap;

ray r;

float fHeightScale = 10.0f / 255.0f;

lmap = new Image(w,w,1);

if (!lmap)

{

printf("(!) Error: cannot alloc lightmap!\n");

return 0;

};

for (j=0; j

{

for (i=0; i

{

fVertex.x = i;

fVertex.y = hm->data[j*w+i] * fHeightScale;

fVertex.z = j;

f = fAmbient;

r.origin = fVertex + fSunDir * 2000.0f;

r.direction = fSunDir;

if (!intersect_map(fVertex,r,hm,fHeightScale))

{

// checks current working point for intersection

// computing the lighting equation

n.x = (float)(normal[3*(j*w+i)+0]);

n.y = (float)(normal[3*(j*w+i)+1]);

n.z = (float)(normal[3*(j*w+i)+2]);

f +=

0.5f*(1.0f+DotProduct(Normalize(n),Normalize(fSunDir)));

if (f>1.0f) f = 1.0f;

};

dot = f * 255.0f;

lmap->data[j*w+i] = (unsigned char)dot;

};

};

return lmap;

};

在你成功的建立你自己的光照图后,你或许将要使用它。我将告诉你如何把他添加到你的引擎中,这里有两个方法:一是把他当作光照图使用,另外一个方法是设置地形坐标的每一个点的颜色为它相应阴影图中的颜色。

4、光照贴图(Lightmapping)

假如你打算把阴影图当作光照图使用,你应当把他当作纹理部件的一部分,假如你预备使用这项技术,你应该设置纹理的环境光模式为modulate。在OpenGL 中,代码如下:

glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_MODULATE);

5、颜色部件(Color component)

当使用阴影图象素作为地形图元的颜色部件时,你应当为每一个顶点部件使用单独的缓冲。

By doing this, you will be able to send the data returned by genLightmap directly to the renderer, by setting the color array pointer to the address of the returned data. In OpenGL, this is done with the glColorPointer function.

注重(Note)

For any questions or suggestions, feel free to e-mail me at nervus@go.ro The full sources for this article can be found at

http://nervus.go.ro/ in the Downloads section.

The sources are free, you can do whatever you want with them, but if you include them in your project, or use this algorithm for any commercial or non-commercial use, please give me credit.

文献(Bibliography)

Global Illumination Compendium

March 16, 2000, Philip Dutré

phil@https://www.sodocs.net/doc/a55646668.html,

Program of Computer Graphics

Cornell University

https://www.sodocs.net/doc/a55646668.html,/~phil/GI/

3dmax渲染卡的问题

如果你用的是VRAY 渲染器就尽量不要使用3D自带的帧渲染窗口。。使用VARY自带的帧窗口。 教你个办法、在自定义-----系统设置(preferences)------视图------选择驱动----勾选第二个(openGL)----关闭3D再重启就行了 1、我的电脑——右键——属性高级——启动和故障恢复——设置——编辑——打开记事本窗口——在 “multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexec ute=optin /fastdetect“后加入“/PAE/3GB”——保存——重启动。 2、模型较大的场景文件,VR设置的“动态内存极限”建议修改为3000或3000以上试试。. 打开你的windows任务管理器,查看你的3dsmax内存使用情况,如果渲染图像时内存使用超过1.8GB,MAX将自动关闭,即使你的机器是四核、4G的内存,因为这不是机器硬件的故障问题。所有的32位系统下的3DSMAX都会这样。 解决方法 第一种:建议你装64位操作系统,要不你的配置也就浪费了。 第二种:设置如下 点击右键我…我的电脑?再点击…属性?,进入…高级?面板,在…启动和故障恢复?栏下点…设置?,然后,点击…系统启动?下的…编辑?按钮...把弹出的文本里的文字都删除,写下下面这段

[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect/PAE/3GB 上面的复制就行。 1)估计文件太大吧,把模型全选缩放 (2)或者无意中复制一个重复的双份文件,检查一下,删掉就OK |

3DMAX室内建模渲染流程

3DMAX建模渲染流程 一、概述 CAD图纸阶段 3DMAX建模阶段 v-Ray摄像机布置阶段 v-Ray材质参数调制阶段 v-Ray灯光环境布置阶段 渲染阶段 二、操作细则 1、CAD图纸阶段: a:将CAD平面布置图内的不必要家具清理掉,尽量只保留墙体结构。 b:导出图纸,另存为3DMAX建模用dwg文件。 c:找到目标房间,并记下窗高、台高、门高、房高等数据。 2、3DMAX建模阶段: 1:设置3DMAX的系统单位为毫米。 2:导入事前制作好的CAD图纸。全部选择—结组—使用移动命令设置模型的X Y Z 轴为0 -冻结。

3:右键单击捕捉命令,进行捕捉设置,选择顶点捕捉。 4:使用“线”命令,沿着目标房间内轮廓描边,在门口和窗口位置加点。 5:使用挤出命令挤出房高。并转化为可编辑多边形。 6:选择线层级—选择门口的两条线—右击—连接1条线。单击此线设置Z轴的数值为CAD 中门高值。窗口同理。设置好台高和窗高。 7:选择面层级—选择窗口所在的面,使用挤出命令挤出厚度。 8:选择元素层级—选择整个模型—右键—反转法线—再右击—选择对象属性。再窗口中找到“背面消隐”选项,并在前面打勾。 9:F3—S(打开捕捉)—L(左视图)—按住Ctrl+右键选择线—勾出门的轮廓—使用挤出命令制作门口的包边。 10:勾出窗口的轮廓—转换为可编辑多边形—线层级—“连接”上下两条边制作窗的轮廓—边界层级—使用“插入”命令做出窗框的宽度—面层级—“挤出”窗框的厚度。 11:勾出地面轮廓,使用倒角剖面命令拾取踢脚线剖面。如果方向不对在修改器中选择剖面层级,使用旋转命令旋转到合适位置。同样的方法制作吊顶。 12:选择面层级,分别选择地面,顶面。使用分离命令,并赋予材质,方便后期渲染。 13:在网络中找到需要的模型并下载,使用导入—合并,导入下载好的模型到自己的模型中,并放到合适位置。 14:用SKETCHUP做出造型简单的模型,导出为3DS文件,并导入到3DMAX中。放到合适位置。

Vray渲染器教程

3dmax Vray渲染器文字教程使用手册(渲染参数、材质参数介绍)-史上最完整... --史上最完整的VRay中文文字学习、查询手册,几乎函盖了网上所有能查到的一些关于VR 学习的文字的整体型介绍,并穿插了大量零三网自已记录的学习笔记与实例应用文字。本文基于零三网(https://www.sodocs.net/doc/a55646668.html,)站长学习笔记。本文一共有几部份组成,你可以把几部份都下载到txt文档里,然后用关键字查找所需要的内容。 (注:这是我(https://www.sodocs.net/doc/a55646668.html,站长)在学习过程中亲自收集或编写的,并附有一些实例操作,绝对有价值。零三网编辑。这是在学习中做的笔记,此文只作初学者交流,版权所有,转载注明“零三网”出处!) 开场白: VRay的特征 VRay光影追踪渲染器有Basic Package 和Advanced Package两种包装形式。Basic Package具有适当的功能和较低的价格,适合学生和业余艺术家使用。Advanced Package 包含有几种特殊功能,适用于专业人员使用。 Basic Package的软件包提供的功能特点 ·真正的光影追踪反射和折射。(See: VRayMap) ·平滑的反射和折射。(See: VRayMap) ·半透明材质用于创建石蜡、大理石、磨砂玻璃。(See: VRayMap) ·面阴影(柔和阴影)。包括方体和球体发射器。(See: VRayShadow) ·间接照明系统(全局照明系统)。可采取直接光照(brute force), 和光照贴图方式(HDRi)。(See: Indirect illumination) ·运动模糊。包括类似Monte Carlo 采样方法。(See: Motion blur) ·摄像机景深效果。(See: DOF) ·抗锯齿功能。包括fixed, simple 2-level 和adaptive approaches等采样方法。(See: Image sampler) ·散焦功能。(See: Caustics ) · G-缓冲(RGBA, material/object ID, Z-buffer, velocity etc.) (See: G-Buffer ) Advanced Package软件包提供的功能特点 除包含所有基本功能外,还包括下列功能: ·基于G-缓冲的抗锯齿功能。(See: Image sampler) ·可重复使用光照贴图(save and load support)。对于fly-through 动画可增加采样。(See: Indirect illumination) ·可重复使用光子贴图(save and load support)。(See: Caustics) ·带有分析采样的运动模糊。(See: Motion blur ) ·真正支持HDRI贴图。包含*.hdr, *.rad 图片装载器,可处理立方体贴图和角贴图贴图坐标。可直接贴图而不会产生变形或切片。 ·可产生正确物理照明的自然面光源。(See: VRayLight) ·能够更准确并更快计算的自然材质。(See: VRay material) ·基于TCP/IP协议的分布式渲染。(See: Distributed rendering) ·不同的摄像机镜头:fish-eye, spherical, cylindrical and cubic cameras (See: Camera) ·网络许可证管理使得只需购买较少的授权就可以在网络上使用VRay 系统。

VRay渲染设置面板详解

VRay渲染设置面板详解 第一课:安装和操作流程 Vray的安装 Vray的简介: VRay是由著名的3DS max的插件提供商Chaos group推出的一款较小,但功能却十分强大的渲染器插件。VRay是目前最优秀的渲染插件之一,尤其在室内外效果图制作中,vray几乎可以称得上是速度最快、渲染效果极好的渲染软件精品。随着vray的不断升级和完善,在越来越多的效果图实例中向人们证实了自己强大的功能。 VRay主要用于渲染一些特殊的效果,如次表面散射、光迹追踪、焦散、全局照明等。可用于建筑设计、灯光设计、展示设计、动画渲染等多个领域VRay渲染器有Basic Package 和Advanced Package两种包装形式。Basic Package具有适当的功能和较低的价格,适合学生和业余艺术家使用。Advanced Package 包含有几种特殊功能,适用于专业人员使用。 Vray的工作流程 1创建或者打开一个场景 2指定VRay渲染器 3设置材质 4把渲染器选项卡设置成测试阶段的参数: ①把图像采样器改为“固定模式“,把抗锯齿系数调低,并关闭材质反射、折射和默认灯。 ②勾选GI,将“首次反射”调整为Irradiance map模式(发光贴图模式) 调整min rate(最小采样)和max rate(最大采样)为-6,-5, 同时“二次反射”调整为QMC[准蒙特卡洛算法]或light cache[灯光缓冲模式],降低细分。 5根据场景布置相应的灯光。 ①开始布光时,从天光开始,然后逐步增加灯光,大体顺序为:天光----阳光----人工装饰光----补光。 ②如环境明暗灯光不理想,可适当调整天光强度或提高暴光方式中的dark multiplier (变暗倍增值),至直合适为止。

3DMAX渲染器参数设置教程

3dmax-vray渲染流程的方法 一、建模方法与注意事项 1、四方体空间或多边型空间,先用CAD画出平面,吊顶图,立面图。 进入3D,导出CAD,将CAD图绝对坐标设为:0,0,0用直线绘制线条,然后挤出室内高度,将体转为可编辑多边形。然后在此几何体上进行以面为主开门,开窗等, 2、顶有花式就以顶的面推出造型,再将下部做出地坪, 3、关键的容量忽视的: A、不管怎样开门......做吊顶......都要把几个分出的面当着一个整体空间,不要随地左右移动.否则会造成漏光。 B、由于开洞......会在面上产生多余的线尽量不要删除,会造成墙面不平有折光和漏光.如室内空间模型能做好,就完成了建模工程了。 二、室内渲染表现与出图流程 1、测试阶段 2、出图阶段 三、Vray渲染器的设定与参数解释 1、打开渲染器F10或 2、调用方法。

3、公共参数设定 宽度、高度设定为1,不勾选渲染帧窗口。 4、帧绶冲区 勾选启用内置帧绶冲区,不勾选从MAX获分辨率。 5、全局开关(在设置时对场景中全部对像起作用) ①置换:指置换命令是否使用。 ②灯光:指是否使用场景是的灯光。 ③默认灯光:指场景中默认的两个灯光,使用时必须开闭。 ④隐藏灯光:场景中被隐藏的灯光是否使用。

⑤阴影:指灯光是否产生的阴影。 ⑥全局光:一般使用。 ⑦不渲染最终的图像:指在渲染完成后是否显示最终的结果。 ⑧反射/折射:指场景的材质是否有反射/折射效果。 ⑨最大深度:指反射/折射的次数。 ⑩覆盖材质:用一种材质替换场景中所有材质。一般用于渲染灯光时使用。 ⑾光滑效果:材质显示的最好效果。 6、图像采样(控制渲染后图像的锯齿效果) ①类型: Ⅰ、固定:是一种最简单的采样器,对于每一个像素使用一个固定的样本。 Ⅱ、自适应准蒙特卡洛:根据每个像素和它相邻像素的亮度异产生不同数量的样本。对于有大量微小细节是首选。最小细分:定义每个像素使用的样本的最小数量,一般为1。最大细分:定义每个像素使用的样本的最大数量。 Ⅲ、自适细分:如果场景中细节比较少是最好的选择,细节多效果不好,渲染速度慢。 ②抗锯齿过滤器: Ⅰ、Area:Ⅱ、Catmull-Rom:Ⅲ、Mitchell-Netravali: 7、间接照明(灯光的间接光线的效果)

利用3D物体排序优化阴影体算法

技术创新 《微计算机信息》2012年第28卷第10期 120元/年邮局订阅号:82-946 《现场总线技术应用200例》 软件时空 利用3-D 物体排序优化阴影体算法 An optimization of shadow volume by ordering 3-D objects (长沙理工大学) 王健徐蔚鸿 WANG Jian XU Wei-hong 摘要:本文提出一种基于点光源的物体排序阴影体算法。方法是首先按与点光源的距离对场景中的物体进行排序,建立顺序 图。然后用z-pass 算法检测物体是否处于其他物体的阴影体中来判断物体是否被遮挡。最后对没有被遮挡的物体用阴影体算法计算阴影。实验分析表明该方法比传统的阴影体算法效率更高。关键字:阴影;阴影体;排序;顺序图中图分类号:TP399文献标识码:A Abstract:A new shadow generation algorithm by ranking objects which based on point light source is presented in this paper.The main idea is to sort all objects in the scene by the distance between point light source and objects,and create sequence diagram.Then z -pass algorithm is used to detect whether the object is occluded.Finally,shadow volume algorithm is applied to build the shadows of objects not occluded.Experimental results show that this method is more efficient than the traditional shadow volume algo -rithms. Keywords:shadow;shadow volume;ordering;ordering graphic 文章编号:1008-0570(2012)10-0504-02 1引言 阴影是虚拟场景的重要组成部分,它能有效地表现出不同物体之间相对位置关系,增加图像的立体感和层次感,提高虚拟环境的真实程度。但阴影生成计算量非常大,渲染具有阴影的场景需要大量的时间开销。尤其是在处理大规模场景和多边形数量增加时,渲染速度降低明显,渲染效果无法满足视觉要求。本文在阴影体算法的基础上,对场景中的物体进行排序(距离点光源从近到远)并生成顺序图。先对离点光源近的物体生成阴影体,然后检测后续物体是否处在该阴影体中。如果是则从顺序图 中删除这些物体的节点。 在大规模场景中,本算法可以减少生成阴影物体的数量,达到提升阴影生成算法效率的目的。 2阴影体算法 阴影体是根据光源和遮蔽物的位置关系计算出场景中会产生的阴影区域(shadow volume),然后对所有的物体进行检测,以确定其会不会受阴影的影响。要构造一个阴影体,首先要根据 光源与物体的相对位置找到所有的轮廓边。 轮廓边就是从光源角度看到物体的轮廓线,实际就是朝向光源的面和背向光源的 面所共享的边。 确定轮廓边的方法有很多种,其基本思想就是找出那些朝向相反(一个面向光源,另一个背向光源)的两个三角形的共享边。因为只有这样的边才会最终形成轮廓边,其它的边在光源看来都会在物体投影的内部。具体算法如下: (a)遍历模型里面所有的三角形。 (b)计算入射光与三角形法向量的点积。用这个结果判断三角形是面向光源(点积小于0)还是背向光源(点积大于0) (c)对于面向光源的三角形,将它的三条边压入一个栈,和里面的边进行比较,发现重复则删除这些边。 (d)检测完所有三角形的边后,栈里面剩下的就是当前光 源、 物体位置下的轮廓边。检测完轮廓边后,根据光源方向,将这些轮廓边投射出去,就形成了阴影体。 3利用物体排序阴影体算法 3.1、 场景中3-D 物体的排序这部分将描述3-D 物体排序算法。在给定点光源下,可对场景中所有物体按距点光源的远近进行排序。对于任意两个物体,通过一个平面将它们分到两个子空间里面。根据这可对任意两个物体进行排序,从而得到场景中所有物体的排序。通过一个分割平面,所有的物体形成一个局部顺序。 图1三个物体组成的场景 例如,如图1,参考点光源方向,用包含多边形P 2的平面对物体O 1,O 2进行分割,则O 2于O 1的尾部。只要获得场景中所有的这样的局部排序,就能得到场景中所有物体的顺序。为了描述局部顺序,可以定义一个顺序图。图中的每一个结点代表场景中的物体,每一条有向边代表着边首尾结点的空间顺序。例如,O i 位于O j 的尾部,则可用有向边表示。在顺序图中,O i 在有向边的尾部,O j 在有向边的头部。顺序图中所有的边可以由分割平面集分割场景中的所有物体所得。只要生成了顺序图,场景中物体的顺序就可以通过顺序图中的拓扑关系得知。 顺序图有如下性质: (a)顺序图中的物体O i ,O j 存在有向边和有向边,则O i ,O j 之间的顺序可以忽略,这两条边可以从顺序图中删除。这意味着可以不用考虑这两个物体间的顺序,它们可以以任何顺序显示在场景中。 王健:硕士研究生 504--

3DMAX Vray渲染大小图参数设置

-3DMAX V-ray 测试渲染/出图渲染参数设置明细VR基项帖缓存测试VR基项帖缓存出图 全局开关测试全局开关出图 .

图像采样器测试图像采样器测试 环境测试环境出图

颜色映射测试颜色映射出图 间接照明测试间接照明出图

发光贴图测试间接照明出图 灯光缓存测试灯光缓存出图

V-ray采样器测试V-ray采样器出图 VR基项 V-ray贴缓存 启用内置帖缓存ma 输出分辨率测试:800*600 出图:A4:1280*960 A3:1600*1200 V-ray全局开关 灯光:缺省灯光关掉 V-ray图像采样器(抗锯齿) 图像采样器测试:类型:固定出图:类型:自适应细分 抗锯齿过滤器测试:开启:区域出图:开启:Catmull-Rom V-ray环境 全局照明环境(天光)覆盖测试/出图开倍增器2.0

VR间接照明 V-ray间接照明(全局照明)开启 首次反弹:倍增 1.0 发光贴图 二次反弹:倍增 1.0 灯光缓存 V-ray发光贴图 内建预设:测试当前预设:非常低选项:显示计算过程显示直接照明 出图当前预设:中/高/非常高选项:显示计算过程显示直接照明 基本参数:测试半球细分:25 插值采样:10 出图半球细分:60 插值采样:45 V-ray灯光缓存 计算参数:测试细分:100 显示计算状态出图细分:1800 显示计算状态 VR设置 V-rayDMC采样器 测试自适应数量:0.9 噪波阀值0.1 最少采样:5 全局细分倍增器:1.0 出图自适应数量:0.75 噪波阀值0.005 最少采样:18 全局细分倍增器:1.5 V-ray系统 光线投射参数: 测试/出图最大BSP树深度:60 动态内存极限:3000 默认几何体:动态 灯光 黄光:255 214 149 蓝光:118 163 255 石膏线材质: 漫射240,反射40,高光度0.35,反射细分20,关掉跟踪反射 灯光细分40以上,灯光缓存1500以上,发光贴图中以上 抗锯齿用自自适应准蒙特卡罗+Catmull-Rom 让VR渲染的欧式石膏线变得更清晰。现在我们需要在漫反射后面的通道加一个VR污垢的程序贴图半径后面的值10改变成1.0,然后再改变衰减的值为1.5

VRay Adv 渲染器安装及检验方法全图讲解

【软件简介】 VRay Adv 1.5 RC3 渲染器,是一款在3ds max 上的高级光能传递渲染插件,无任何限制的版本。本VRay版本 支持3dsmax6~7~8~9 版本。 ------------------------------------------------- VRay Adv 1.5 RC2 Full 高级渲染器简体中文版安装路径及使用说明: 安装路径:\3dsmax 根目录下[支持3dsmax6~7~8~9],如:D:\3dsmax7 使用方法: 1.在安装前必须卸载先前安装过的Vray 英文版或中文版,否则可能会有冲突,切记!切记!切记! 2.开始安装,在选择目标文件夹后,后面会多出一个“\3dsmax8”的路径,请删除它。由于本人技术浅薄,不知道 如何取消,只好麻烦使用者手动处理了。如有知道如何修正这个问题的高手,烦请指点迷津,在下先谢谢了! 3.进入选择需要安装的组件栏中,请大家看清后选择需要的组件,再单击[下一步]。因为这里关系到安装3dsmax 的支持版本。 4.程序在安装中会跳出“V-Ray许可服务器”警告对话框,单击“确定”就是,然后会弹出“许可申请书”要求输入 许可证,这时,打开“Vray注册机”,再复制“许可申请书”中的请求码,粘贴到“Vray注册机”的“code”栏内, 会在下面自动生成授权码,复制授权码到“许可申请书”的“输入提供的许可证”栏内,单击“OK”,再单击“确定”, 最后完成安装。 5.启动3ds max,在主菜单栏内点击“渲染(Rendering)”,选择“渲染(Render)”,弹出面板,单击“公用(Common)” 面板,在“指定渲染器(Assign Renderer)”内选择“VRay Adv 1.5 RC3”渲染器,然后单击“渲染器(Renderer)”面板, 展开“V-Ray::授权”面板,点击“编辑并设置许可服务器信息”,弹出设置对话框,在“通用设置”内的“许可服务 器”栏内填写你的计算机名称,然后“确定”离开。就OK,享用^O^! 注:填写你的计算机名称,是为网络渲染服务用,反之,可以不填写。 ------------------------------------------------- 注意:要是安装过其它的版本,有可能会有冲突,如果出现这问题,可以到3dsmax 的插件管理器内把除 V-Ray additional plug-ins 以外的有关VRay 渲染器文件前面的选勾取消就可以了。 ------------------------------------------------- 在MAX 中英文版内测试通过,在英文版内,字体会有所变化,但不会有大碍,不会影响使用...... 下面图解

地形阴影渲染

地形阴影贴图快速计算 时间:2007-12-05来源:作者:图腾收集发布人:admin 点击:97次 关键字:迅雷快车Baidu贴图地形阴影计算快速目录 1 引言 2 算法描述 3 算法实现 4 光照贴图 5 颜色部件原文:Fast Computation of Terrain Shadow Maps 译者:Dreams Woo1、引言(Introduction)地形渲染是一个覆盖内容非常广的主题。本文将集中介绍对地形的光照和阴影的渲染。在下图中,你将看到这一技术的 目录 1 引言 2 算法描述 3 算法实现 4 光照贴图 5 颜色部件 原文:Fast Computation of Terrain Shadow Maps 译者:Dreams Woo 1、引言(Introduction) 地形渲染是一个覆盖内容非常广的主题。本文将集中介绍对地形的光照和阴影的渲染。在下图中,你将看到这一技术的应用效果。 2、算法描述(Algorithm description) 本法则实际上非常简单,对于每一个栅格点,我们选择从灯光坐标点发出的光线到地图的交点。由于只选择射线L下面的点因此非常快。如下图1:

让我们了解下面的符号: A = 目标点 B = 灯光位置的投影坐标(vector B = vector(sun_pos.x, 0, sun_pos.z)); C = 灯光位置坐标; L = 光线矢量(L = A - C); P = 光线经过路线的所有投影点; X(P) = 投影点P在光线矢量上的坐标(用于单独计算LERP)。 点P用来参与从点A到点B之间的2D线计算。对于任意点P,假如在高度图中它的值大于点X(P)的Y值,那么就选择他。这样我们就知道光线L与高度图相交,那么点A的光照值就等于 ‘ambient_color_value’,接着我们就可以处理下一个目标点。 假如所有的P类型的点都测试完没有发现交点,那么点A的光照值就使用下面的公式: Illum(A) = ambient_color_value + (L dot N) 值的范围为[0,1]。 3、算法实现(Algorithm implementation) 假如上面的运算你还不明白,下面的代码将帮助你。最重要的函数是intersect_map。这个函数检查目标点是否被遮挡。测试光线是否与高度图有相交。这个函数调用高度图中每一个点。当发现一个交点时,就停止测试,接着测试下一个(如下图2中的点)。就象我在运算法则描述中的那样,假如目标点没有被遮挡,它的光照值使用上面的公式。

各VRAY版本及安装教程

一.各VRAY版本及安装教程 所有常用VRAY版本 https://www.sodocs.net/doc/a55646668.html,thread-1033-1-1.html VRay Adv 1.5 RC3 渲染器和1.5 RC5 渲染器下载https://www.sodocs.net/doc/a55646668.html,thread-9221-1-1.html 最新版VRay1.5Rc5(中文版和英文版) https://www.sodocs.net/doc/a55646668.html,thread-11236-1-1.html VRay Adv 1.5 RC2 Full 渲染器 https://www.sodocs.net/doc/a55646668.html,thread-9217-1-1.html vray1.5RC汉英对照大全 https://www.sodocs.net/doc/a55646668.html,thread-9079-1-1.html VRay渲染器的安装方法(详细步骤) https://www.sodocs.net/doc/a55646668.html,thread-1433-1-1.html VRay Adv 1.5 RC3 渲染器简体中文版https://www.sodocs.net/doc/a55646668.html,thread-148-1-4.html vray中文使用手册 https://www.sodocs.net/doc/a55646668.html,thread-635-1-5.html VRAY 1.45 中文版手册(下载)从零开始https://www.sodocs.net/doc/a55646668.html,thread-735-1-8.html VR全中文翻译 https://www.sodocs.net/doc/a55646668.html,thread-649-1-8.html Vray渲染器的中文帮助 https://www.sodocs.net/doc/a55646668.html,thread-404-1-8.html 二.材质教程: vr视频教程(简单材质制作) https://www.sodocs.net/doc/a55646668.html,thread-1149-1-1.html 3DMAX7中文~VRAY渲染~不锈钢的表现

一种新的实时阴影渲染算法

一种新的实时阴影渲染算法 孙漠舟,费耀平 (中南大学信息工程学院湖南长沙410075) 摘要:对现有的实时阴影渲染算法进行详细的分析和比较,并给出了一种新的阴影渲染算法。该算法将阴影图和阴影体算法相结合,先通过阴影图绘制出阴影的轮廓,再利用阴影体算法更新轮廓处象素的模板缓冲值。该方法既克服了阴影图的边缘走样问题,又不会像阴影体算法那样占有大量的象素填充率。不仅渲染速度快,而且具有很好的渲染效果。 关键词:阴影渲染;阴影图;阴影体;实时渲染算法 中图分类号:TP391.41文献标识码:B文章编号:1004—373X(2007)12—119—03 ANewMethodforReal——timeShadowRenderingAlgorithm SUNMozhou,FEIYaoping (InformationEngineeringCollege,CentralSouthUniversity,Changsha,410075,China) Abstract:Thispaperanalysesandcomparessomeexistingreal—timeshadowrenderingalgorithmsfirstly,thenpresentsanewmethodforreal—timeshadowrenderingalgorithm.Thismethodcombinesthestrengthsofshadowmapsandshadowvol—umes.Wefirstuseashadowmaptoidentifyshadowsilhouettepixelsinthefinalimage,thenuseshadowvolumescomputationonlyatthesepixelstoensureaccurateshadowedges.Thisapproachnotonlycanhandletheproblemofaliasinginshadowmap,butalsocanavoidhavelargefillraterequirements. Keywords:shadowrendering;shadowmap;shadowvolume;real—timerenderingalgorithms 渲染场景时,阴影是很重要的一部分,没有阴影的场景看起来很不真实。阴影可以给出有关场景的信息,物体问的空间关系以及光源的位置信息。 在传统的计算机图形领域,阴影计算并没有受到过多的关注,因此,没有一种算法占主导地位。最近几年,阴影图和阴影体算法一直是两种比较流行的阴影渲染算法。但这两种方法各有优劣:阴影图算法与图像相关,因此不可避免地产生边缘走样等问题。此外,阴影的质量与阴影图的分辨率相关,当分辨率较低时,阴影质量很差。阴影体算法与图像无关,所以有较好的质量,但阴影体多边形的计算相当复杂,而且有很大的象素填充率。为了能更好地渲染阴影效果,给出一种新的阴影算法,他将阴影图和阴影体相结合,实验表明,该方法具有较好的效果。 1阴影的作用及特性 阴影是光照环境的函数,他包括本影和半影n1。本影指与光源完全隔绝的阴影部分,一个全阴影区。点光源只产生本影,有时也把这种投影称为硬阴影。而半影指从光源接收到部分光线的阴影区域。从半影到本影通常有个亮度渐变的过程。面光源或体光源产生半影,有时也称为软阴影。如图l所示。一般在绘制阴影的时候,会选择绘 收稿日期:2006—12—16制软阴影,因为他能让观察者知道他确实是一个阴影,而不像硬阴影的边缘看上去很不真实,有时甚至会被误认为是实际的几何特征,如表面折痕等。 由于计算量的问题,阴影一般不可能很精确地被绘制。但正如Wanger所介绍的,即使阴影不够精确也比完全没有阴影要好,因为人眼通常会忽略阴影的具体形状。 图1阴影示意图(面光源) 2经典的阴影算法 从最简单的平面投影到阴影体和阴影图算法,阴影渲染算法一直处于一个缓慢发展的过程。下面对几种主要的算法进行描述与分析。 2.1最简单的阴影生成算法 Blinnt司于1988年提出了关于阴影计算的问题,并设计了一种非常简单的方法计算单个物体的阴影。该方法 11 9  万方数据

3D Vray渲染器教程之VRAY渲染参数

3D Vray渲染器教程之VRAY渲染参数、材质参数介绍 VRay的特征 VRay光影追踪渲染器有Basic Package 和 Advanced Package两种包装形式。Basic Package具有适当的 功能和较低的价格,适合学生和业余艺术家使用。Advanced Package 包含有几种特殊功能,适用于专业人员使用。 Basic Package的软件包提供的功能特点 ? 真正的光影追踪反射和折射。(See: VRayMap) ? 平滑的反射和折射。(See: VRayMap) ? 半透明材质用于创建石蜡、大理石、磨砂玻璃。(See: VRayMap) ? 面阴影(柔和阴影)。包括方体和球体发射器。(See: VRayShadow) ? 间接照明系统(全局照明系统)。可采取直接光照 (brute force), 和光照贴图方式(HDRi)。(See: Indirect illumination) ? 运动模糊。包括类似Monte Carlo 采样方法。(See: Motion blur) ? 摄像机景深效果。(See: DOF) ? 抗锯齿功能。包括 fixed, simple 2-level 和 adaptive approaches等采样方法。(See: Image sampler) ? 散焦功能。(See: Caustics ) ? G-缓冲(RGBA, material/object ID, Z-buffer, velocity etc.) (See: G-Buffer ) Advanced Package软件包提供的功能特点 除包含所有基本功能外,还包括下列功能: ? 基于G-缓冲的抗锯齿功能。(See: Image sampler) ? 可重复使用光照贴图 (save and load support)。对于fly-through 动画可增加采样。(See: Indirect illumination) ? 可重复使用光子贴图 (save and load support)。(See: Caustics) ? 带有分析采样的运动模糊。(See: Motion blur ) ? 真正支持 HDRI贴图。包含 *.hdr, *.rad 图片装载器,可处理立方体贴图和角贴图贴图坐标。可直接贴图而不会产生变形或切片。 ? 可产生正确物理照明的自然面光源。(See: VRayLight) ? 能够更准确并更快计算的自然材质。(See: VRay material) ? 基于TCP/IP协议的分布式渲染。(See: Distributed rendering) ? 不同的摄像机镜头:fish-eye, spherical, cylindrical and cubic cameras (See: Camera) ? 网络许可证管理使得只需购买较少的授权就可以在网络上使用 VRay 系统。 1.安装Vray: 可以购买正版的Vray软件,也可以网上下载,按照提示安装即可。 2.使用Vray:在3dmax 软件中用F10打开渲染(Render)对话框,在公用(Common)里最后有“指定渲染器”,选择Vray即可。然后在渲染器(Renderer)中进行操作。 3.玻璃和水的制作可参考搜索本文在材质部分介绍的玻璃制作方法。玻璃配合散焦功能能做出逼真的玻璃 效果.模拟有线照向透明物体(漫反射光线不模拟也行),透明物体所全反射后折射散发出来的光线。一般用于钻石、水晶球等的特写才用到,在一般玻璃如窗户等表现时,不用也可以。请搜索参考本文的散焦介 绍与玻璃制作介绍。 我特别推荐不懂的人看一下本文的玻璃制作办法,请搜索“水及玻璃等透明、半透明物体的材质”。如果 搜索不到,本文由几段组成,请在本站找到其它几段,组在一起后就能搜索到,在材质应用里边。有清玻璃、有色玻璃等制作方法。 有色玻璃的阴影可以在fog color中加入颜色,把fog multiplier的值调低或适当,勾选Affect shadows 即可 4. VRay如何产生物体的模糊阴影

3Dmax mentalray网络渲染

?3dsmax的网络渲染图解流程 3dsmax的网络渲染图解流程 3dsmax的网络渲染功能十分强大,并且包括finalrender这样的优秀的渲染器对他的完全支持更令其可以发挥强大的威力。网络渲染的原理就是让所有的计算机一块参加计算,每台计算机算一帧图片,算好后空闲计算机会自动找到还没有计算的图片进行计算,这样就让原本需要计算n个钟头的动画序列的计算量平均分配到了网络中的n台计算机中去了。 首先要说明的是我没有系统的研究过max的网络渲染功能,对于他的操作其实是一知半解,完全是凭借主观判断瞎摸乱撞试验出来的,很多地方可能不十分科学。然而我们使用它的目的就是要提高渲染速度,能用起来就行了,因此我这个教程仅仅是演示一下我使用的过程,至于方法科不科学,请大家不要太计较。(如果我误导了谁也请不要砸我,我自己找块豆腐一头撞死好了。) 我们以网络中有两台电脑为例,如图: 假设局域网中有两台计算机,分别叫做lfn和lmapple,我把他们都摆在了一个工作组中,这样看得比较清楚。当然计算机越多越好,方法以此类推。 一般我们的局域网都设置了TCP/IP协议,我们可以打开来看看,方法?看win2000的帮助嘛。好了,在网上邻居点右键,选择属性,在本地连接上再点右键,再选择属性,双击internet协议(TCP/IP),出现

如下图一般的界面: 我这里使用的IP地址就是这样了,你的可能跟我不一样,不过不要使用自动获得IP地址,一定要手动输入,因为自动的……动态地址的网络渲染我不会……能不能成我也不知道(不要砸我)。注意子网掩码,待会要用到。另外一台机器的IP为:191.168.0.2,你可以随便设。 下面将要共享目录。为了让两台机器能够自由的相互访问,不用输入密码什么的就可以直接看到对方的目录文件,需要进行一些设置。如果你已经可以做到自由访问对方机器的话就不用看这一段了。好多人访问别人共享目录的时候(win2000下)还要输入用户名,这是很烦人的。 打开控制面板/管理工具/计算机管理,出现如图界面: 在用户里面增加两个用户,分别为lfn和lm,在属性里让他们隶属于administrators组,注意,两台机器都

Vray渲染器参数设置和出图流程

Vray渲染器参数设置和出图流程 Vray的出图流程: 1创建或者打开一个场景 2指定Vary渲染器 3设置材质 4根据场景布置相应的灯光。 5把渲染器选项卡的设置成测试阶段的参数: 1)把抗锯齿系数调低,并关闭缺省灯和反折射。 2)勾选Gi,将直接光传调整为lrradiance map模式(发光图模式) 调整min rate(最小采样)和max rate(最大采样)为-6,-5,同时间接光调整为QMC或light cache(灯光缓存模式),降低细分。 3)开始布光时,从天光开始,然后逐步增加灯光,大体顺序为:天光----阳光----人工装饰光----补光。 4)勾选sky light(天光)开关,测试渲染. 5)如环境明暗灯光不理想,可适当调整天光强度或提高暴光方式中的dark multiplier (暗部亮度),至直合适为止。 6)打开反射,折射调整主要材质 6根据实际的情况再次调整场景的灯光和材质 7渲染光照光子文件 1)设置保存光子文件 2)调整lrradiance map(发光图模式),min rate(最小采样)和max rate(最大采样)为-5,-1或-5,-2或更高,同时QMClight cache subdirs 细分值调高,正式跑小图,保存光子文件。 8 正式渲染 1)调高抗钜尺级别, 2)设置出图的尺寸, 3)调用光子文件渲染出大图。 vray 材质的设置参数 木纹材质调整方法: 1.木纹材质的肌理调整: A.使用过度色通道贴图后加入凹凸通道贴图,使木纹有凹凸感,肌理更明显凹凸通道强度通常为30% B.材质球的高光强度(specular level:)通常为43%高光面积(glossiness)为28~40%之间。亚光油漆面的高光强度可以低点,高光面积可以高点。 C.木纹的纹路调整可在过度色通道贴图下的U,V,W,坐标中的W中调整。 D.自发光的调整为5%可以因灯光的强弱来调整这个数值。光强则强光弱则弱。

3Dmax中渲染与表现中经常碰到的51个因果问题

1。我在渲染后,出现大量的锯齿,难以忍受,请问这事什么原因?我已经增加了节点啊! 答:在渲染菜单底下选择SMOOTH项目。 2。请指点怎样把平面图导入场景中的背景 答:选中正视图(可以是任意视图),点按Alt+B,或在渲染,背景命令,在弹出的窗口中点击Files导入图片文件,然后选择DisplayBackground(显示背景),其他设置因情况而定。设置完成。 3。请问如何用3DMAX输出背景是透明的PHOTOSHOP文件?或者透明的其它文件? 答:3DMAX不能输出photoshop文件啊,但支持透明通道。再说,你这么做有什么目的啊?一般都是用photoshop制作材质然后用3dmax调用。或者:用3DSMAX 输出为*.TIF文件,该文件格式将保留透明通道,用PHOTOSHOPE打开后,在通道面板里就能看到。不知你这么做有何妙用,如果只是要得到.gif文件的话,你可以把图片调到PHOTOSHOP中去呀,然后用魔棒工具把黑色背景删除,再另存为.GIF.格式的文件不就可以得到透明的.GIF格式的文件了吗?3dmax中生成透明背景,多数是为了在非线性编辑软件中进行视频后期合成,应当生成32bit的tga图像序列帧,如果生成是24bit的图像,背景仍然不透明. 4。我把要输出的AVI格式的动画尺寸设置为800*600为什么渲染出来的动画画面质量很差呀,而且还有些抖动!请问各位这到底是哪里没设置好呢! 答:你一定选了压缩程序!在输出动画时最好不压缩或用默认压缩!(如果硬盘空间还够!)点save后在点setup会出现选择压缩程序。 5。为什么我做出的max4物体在透视图中显示时是由多个有对角线的小面组成的?答:点材质渲染器,basic parameters------shading------phong ,就OK! 6。请问如何在动画制作过程中加入声音文件? 答:有两种方法,一是在编辑器中使用wav文件或是节拍器,但这种方法的素材太过简单和稀少,二,我常用的是在rimere中合成,这种方法非常的好用。 7。3d max 4.0中有两种摸拟景深的办法是什么? 答:1:在摄相机的卷展区中有个打开此功能的按扭,2:在渲染的子菜单中的环境编辑器中有个摸拟景深的模块! 摄象机下的更精确,速度也快。 8。请教一下各位高手,怎么样才能使渲染的背景是透明的。也就是不能有背景,不能是白色或黑色? 答:渲成JPEG后,在PHOTOSHOP 6菜单中帮助项上选择“输出透明图像”,就成了。视频软件后期处理,可添加alpha通道 9。请问如何让3ds max的渲染快点,能否用其他软件帮助渲染? 答:减少一些不必要材质和一些不必要的物体可以提高速度,提高电脑配置也是可以的,可以用lightscape渲染,效果非常好。优化skin,就是你放样的物体,你可以尽量减少shape和path的数值,当然前提是不损坏你的造型,因为是要在SKIN

(完整版)延迟渲染的一些思考

延迟渲染的一些思考 最近一直在准备开题,打算做延迟渲染(Deferred Shading)相关的实现。Deferred Shading 是目前实现多动态光源实时渲染的最主流的技术了。其实Deferred Shading后面还有Deferred Lighting和Inferred Lighting这两种更先进一点的改进技术,可师兄师姐们的经验告诉我,开题不能开太难了。如果开题太难了,最后实现的时候实现不出来,那就是给自己找麻烦了。 其实Deferred Shading技术在国外已经提出近20年了,在游戏中实际应用也有近10年了,近几年出的几个好的游戏引擎中几乎都用到了它。在国外,DS应该说是相当成熟了,可国内运用这种技术的引擎好像还没有听说过。我想并不是国内没有人会这种技术,网上很多博客都提到DS了,也有人自己实现了DS效果。只是这种技术对硬件的要求比较高,国内的游戏要照顾大多数的玩家。国外的玩家有可能因为想玩某个很酷的新游戏而升级硬件,国内几乎没有哪一款游戏有这种魅力。我想这也是为什么国内的游戏技术水平与国外的相差的不止一个级别的原因之一。 国内有些研究过DS的朋友在网上公布了他们的研究结果,不过好像并没有想像中那么好。他们的实现中要么就没有考虑阴影(比如燕良的博客中的他实现的源代码和效果图,我还没有认真研究他的源码,不过从他的效果图中看不到有阴影的迹象。 但光源数量达不到DS算法研究者声称的几十上百个动态光源的效果(吕希鸣的博客中有他实现的效果,他用的是Shadowmap实现的阴影,但他自己都坦言:“在GeForce-7300GT 上,最多画4个光源,再多就变幻灯片了,而且模型数量不能太 多。”https://www.sodocs.net/doc/a55646668.html,/lv_ximing/archive/2010/07/27/5766569.aspx)。 因为这个问题,我纠结了很长时间,DS算法说起来是比较简单,空间换时间。可为什么大部分相关文章在谈到DS的优点的时候,都说可以实现多动态光源,去很少提到阴影的具体实现方法,好像阴影是理所当然的事。 《GPU精粹2》中有一篇文章《S.T.A.L.K.E.R.中的延期着色(Deferred Shading in S.T.A.L.K.E.R.)》,其中介绍的阴影也是用shadowmap来实现的。 《GPU精粹3》中有一篇专门的介绍延迟渲染的,《Tabula Rasa中的延迟着色技术》,其实网上就有这篇文章的翻译:(“天堂里的死神”童鞋很给力,《GPU精粹3》的中文版是10年6月才出版的,他09年就翻译了这篇文章。) 阴影也是用shadowmap实现的。他还有一篇相关的博客《“杀戮地带2”中的延迟渲染》 是用的shadowmap来实现的。

相关主题