-
光线跟踪
首先确定眼睛的位置和视线方向。然后确定从眼睛出发通过每个象素中心的光线方程。通过该光线求光线与场景中物体的最近交点。 若有交点,首先产生阴影测试光线,它是连接交点与光源的光线,然后计算该交点与光源间是否有阻挡物,如果没有则计算该点的Phong模型分量,若有阻挡物则不计算。若交点处的场景为反射表面,则产生反射光线,将此光线继续与场景求交。若交点处的场景具有透明性,则产生透射光线,将此光线继续与场景求交。 若无交点,则返回默认值。 最后将颜色填入相应象素中。 递归结束条件: 1.递归深度:预先设定一个递归深度值 2.光亮度值:如果反射或折射光线的光亮度贡献太小,可以忽略不计,则停止递归 本系统选择VS2008平台开发,采用MFC单文档结构作为系统的整体架构。其中,Object类为场景中物体的基类,从中派生出两个子类:Plane类和Sphere类,分别表示平面类和球面类。 Colour结构表示颜色,包含r,g,b三个颜色分量。 Material结构表示场景中物体的材质属性,包含,,三个分量,分别表示物体的漫反射系数、镜面反射系数和折射系数。 Vect结构表示场景中的点坐标。 Ray类表示光线或光源,当它表示光线时,它包含原点origin和单位方向向量dir;当它表示光源时,它还包含了光源颜色colour。 Hit类表示交点类,它包含交点处的法向量normal,交点所处的物体表面surface,交点系数t。 Scene类表示场景类,它包含物体指针数组objects,光源指针数组lights,场景物体个数nObjectCount,场景光源个数nLightCount。 CSceneLightDlg类为场景光源配置对话框,它里面显示了当前场景中的所有光源,用户可以在对话框中继续添加光源。 CSceneObjectDlg类为场景物体配置对话框,它里面显示了当前场景中的所有物体,用户可以在该对话框中继续添加物体。 CScenePictureDlg类为照片配置对话框,它里面显示当前人眼的位置、照片的大小、位置和分辨率。用户可以对该设置进行修改。 CRayTraceView类为框架的视图类,负责图片的显示。我在其中包含了一个Scene对象,光线跟踪的具体实
- 2022-03-19 03:38:04下载
- 积分:1
-
FLI图像格式处理库
FLI图像格式处理库-FLI picture form processing storehouse
- 2023-05-08 19:45:02下载
- 积分:1
-
Model examples using VB to develop all aspects of CAD. Includes the connection t...
实例示范采用VB开发CAD的各个方面。包括连接CAD、操作CAD数据库、实体操作以及CAD事件应用。共44个实例-Model examples using VB to develop all aspects of CAD. Includes the connection to CAD, operate CAD databases, operating entities, as well as the application of CAD events. A total of 44 examples
- 2022-07-28 02:46:18下载
- 积分:1
-
Delphi 7.0 + mapx5.0
Delphi 7.0 + MapX5.0-Delphi 7.0+ MapX 5.0
- 2023-05-23 10:15:03下载
- 积分:1
-
位图显示的淡入淡出出程序
位图显示的淡入淡出出程序-the bitmap Fade out of the program
- 2022-02-25 08:28:57下载
- 积分:1
-
Simple Browse是一款简洁易用,源码公开的图片浏览器。它短小精悍,浏览快速,生成的缩图精美漂亮,能浏览常见的多种图像格式。 它是仿照ACDSee而...
Simple Browse是一款简洁易用,源码公开的图片浏览器。它短小精悍,浏览快速,生成的缩图精美漂亮,能浏览常见的多种图像格式。 它是仿照ACDSee而做的,样子和使用方法都挺象。但是有一点不同:在ACDSee里,浏览到缩图后,想看大图,要用View命令切换到另一个界面,有时候,这种做法不够方便;而Simple Browse的做法是,目录树、缩图文件列表和大图观看窗口,全放在一个界面中,省去切换的麻烦。-Simple is a simple to use, the open-source browser pictures. It is small and fast browser, generating tiny exquisite beautiful, can visit a variety of common image formats. It is a replica of ACDSee done, and the use of methods like are very like. But there is one difference : ACDSee, browse to the tiny, big map display, use View orders switch to another interface, sometimes this approach is not convenient enough; Browse and Simple approach is that tree, tiny paper map and the list window to watch, all on one interface, switching saved the trouble.
- 2022-01-28 01:07:02下载
- 积分:1
-
一个比例尺的源代码,使用VC开发。功能简单。
一个比例尺的源代码,使用VC开发。功能简单。-a scale of the source code, the use of VC. Simple functions.
- 2022-04-28 19:58:11下载
- 积分:1
-
用VC实现的简单动画程序,即显示如GIF格式的动画效果。
用VC实现的简单动画程序,即显示如GIF格式的动画效果。-VC to achieve a simple animation
- 2022-11-03 20:05:03下载
- 积分:1
-
囊括28种图形变换算法源代码集合,包括几何变换、颜色变换等常用算法。
囊括28种图形变换算法源代码集合,包括几何变换、颜色变换等常用算法。-Include 28 kinds of graphics transform algorithm source code collections, including geometric transformations, color transform, such as commonly used algorithms.
- 2022-05-15 13:15:03下载
- 积分:1
-
C语言编写的DOS下的图形库支持1024x768的分辨率支持…
DOS下C语言的图形库,支持VESA2.0 支持者1024X768的分辨率 比较好用-C language under DOS graphics library to support a resolution of 1024X768 supporters VESA2.0 useful comparison
- 2023-07-31 07:50:02下载
- 积分:1