本文目录一览

1,什么是光迹追踪

我觉得应该是物理学 上的问题 一束光追着……
根据踪迹(或线索)跟踪追击而至。

什么是光迹追踪

2,光线追踪的介绍

光线跟踪(ray tracing)(也叫raytracing或者光束投射法)是一个在二维(2D)屏幕上呈现三维(3D)图像的方法。

光线追踪的介绍

3,光线追踪是什么

光线跟踪或 称光迹追踪是计算机图形学的核心算法之一。在算法中,光线从光源被抛射出来,当他们经过物体表面的时候,对他们应用种种符合物理光学定律的变换。最终,光线进入虚拟的摄像机底片中,图片被生成出来。由于该算法是成像系统的完全模拟,所以可以模拟生成十分复杂的图片。
光线跟踪是一种真实地显示物体的方法,该方法由Appel在1968年提出。光线跟踪方法沿着到达视点的光线的反方向跟踪,经过屏幕上每一个象素,找出与视线相交的物体表面点P0,并继续跟踪,找出影响P0点光强的所有光源,从而算出P0点上精确的光线强度,在材质编辑中经常用来表现镜面效果。

光线追踪是什么

4,光线追踪的定义

.一个光线跟踪程序数学地确定和复制从一幅图像的光线的路线,但是方向相反(从眼睛返回原点).光线跟踪现在被广泛用于计算机游戏和动画,电视和DVD制作,电影产品中.许多厂商提供用于个人电脑的光线跟踪程序.在光线跟踪中,每一个光线的路径由多重直线组成,几乎总是包含从原点到场景的反射,折射和阴影效应.在动画中,每一束光线的直线部分的位置和方向总是在不断变化,因此每一条光线都要用一个数学方程式来表示,定义光线的空间路径为时间的函数.根据光线在到达屏幕前经过的场景中的目标的色素或颜色来分配给每一束光线一种颜色.屏幕上的每一个像素符合每一时刻可以回溯到源头的的每条光线.光线跟踪最先是由一个叫数学应用组的组织中的科学家在20世纪60年代发明的.这些科学家中的一些人变得对光线跟踪作为一种艺术感兴趣,成为绘画艺术家,并建立了一个动画摄影工作室,使用光线跟踪为电视和电影制作3D电脑肖像和动画.

5,什么是实时光线追踪技术

实时光线追踪(real-time ray tracing),一直是很多图形技术发烧友心中的梦,一旦实现就将彻底颠覆现在的光栅化渲染技术,成就真正电影化的游戏等图形应用。Intel、NVIDIA、AMD等行业公司都在其中投入了巨大的精力。但是光线追踪技术极其消耗资源,现在的硬件、软件都远远不够资格,只能在低分辨率、低帧率下模拟。可能很多人不知道的是,在移动GPU领域呼风唤雨的Imagination Technologies,其实也在努力攻关光线追踪,特别是收购了在该领域有革命性突破的创业公司Caustic Graphics,推出了自己的专用加速卡,PowerVR 6系列也将集成光线追踪单元。TechReport今天报道说,已经结束多日的CES 2014展会上,除了常规移动图形技术之外,Imagination还在一个不为人注意的角落里展示了PowerVR光线追踪,称其是“真实化图形的未来”。本时代估计没办反登陆
光栅化渲染就是先计算多边形或三角形顶点的坐标变换,然后在多边形或三角形内填充纹理(同样是经过坐标变换),同时每个填充点也可以经过fragment shader计算来实现各种效果。光线追踪渲染就是假设屏幕上每一个点是一根一根向前的射线,计算这个射线打到了哪个多边形、平面或曲面上哪个位置,然后取出该点的纹理像素颜色。如果被打到的面带有反射或折射属性,那么还需要产生多根射线往下递归,最终经过blending算得最终像素颜色。如果遇到漫反射面的话一般是需要产生非常多的次级射线往下递归才能达到比较好的效果(否则噪点比较明显),如果需要模拟出光线打到玻璃或镜面上的效果,还需要计算photon map。而且搜寻一根射线跟一大堆多边形中哪一个相交也是非常耗时间的计算。所以光线追踪渲染的计算量非常大。记得采纳啊

6,光线追踪算法中的光线是怎么描述的

光线跟踪思路:从视点出发,通过图像平面上每个像素中心向场景发出一条光线,光线的起点为视点,方向为像素中心和视点连线单位向量.光线与离视点最近的场景物体表面交点有三种可能:当前交点所在的物体表面为理想漫射面,跟踪结束. 当前交点所在的物体表面为理想镜面,光线沿其镜面发射方向继续跟踪. 当前交点所在的物体表面为规则透射面,光线沿其规则透射方向继续跟踪. 伪代码: void TraceRay(const Vec3& start,const Vec3& direction,int depth,Color& color) { Vec3 intersectionPoint,reflectedDirection,transmittedDirection; Color localColor,reflectedColor,transmittedColor; if (depth >= MAX_DEPTH) { color = Black; //#000 } else { Ray ray(start,direction); //取start起点,方向direction为跟踪射线; if ( !scene->HasIntersection(ray) ) color = BackgroundColor; else { 计算理起始点start最近的交点intersectionPoint, 记录相交物体intersectionObject, // #1 Shade(intersectionObject,intersectionPoint,localColor); // #2 if ( intersectionPoint所在面为镜面 ) { 计算跟踪光想S在intersectionPoint处的反射光线方向reflectedDirection, TraceRay(intersectionPoint,reflectedDirection,depth+1,reflectedColor); } // #3 if ( intersectionPoint所在的表面为透明面 ) { 计算跟踪光线S在intersectionPoint处的规则透射光线方向transmittedDirection, TraceRay(intersectionPoint,transmittedDirection,depth+1,transmittedColor); } // #summarize color = localColor + Ks * reflectedColor + Kt * transmittedColor; }// else } //else } // 局部光照模型计算交点intersectionPoint处的局部光亮度localColor void Shade(const Object& intersectionObj,const Vec3& intersectionPoint,Color& localColor) { 确定intersectionObj在intersectionPoint处的单位法向量N, 漫反射系数Kd, 镜面反射系数Ks, 环境反射系数Ka; localColor = Ka * Ia; //Ia为环境光亮度 for ( 每一个点光源PointLight ) { 计算入射光线单位向量L和虚拟镜面法向单位向量H, // 由Phong模型计算光源PointLight在intersectionPoint处的漫反射和镜面反射光亮度 localColor += ( Ipointlight * ( Kd * (N.dot(L)) + Ks * (N.dot(H))^n ) ); } }

文章TAG:光线  光线追踪  追踪  什么  光线追踪  
下一篇