-
光线跟踪
首先确定眼睛的位置和视线方向。然后确定从眼睛出发通过每个象素中心的光线方程。通过该光线求光线与场景中物体的最近交点。 若有交点,首先产生阴影测试光线,它是连接交点与光源的光线,然后计算该交点与光源间是否有阻挡物,如果没有则计算该点的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
-
c# 编写的类似媒体播放器(MediaPlayer)离子特效的演示程序, 同时实现了 GDI+ 和 DDraw 两套呈现引擎....
c# 编写的类似媒体播放器(MediaPlayer)离子特效的演示程序, 同时实现了 GDI+ 和 DDraw 两套呈现引擎. -c# prepared in similar media player (MediaPlayer) ion effects of the demonstration program, while achieving the GDI and DDraw has two engines.
- 2022-10-13 20:30:04下载
- 积分:1
-
学习图形学时做的大作业
学习图形学时做的大作业-done a big operation
- 2022-12-15 09:35:03下载
- 积分:1
-
中点分割裁减算法的实现,VC++,左键画出任意条直线,右键画出矩形进行裁减...
中点分割裁减算法的实现,VC++,左键画出任意条直线,右键画出矩形进行裁减-midpoint of the segmentation algorithm to achieve reductions, VC++, painted arbitrary menu of straight lines, right-painted rectangle for the reduction
- 2023-01-01 06:05:03下载
- 积分:1
-
用一组线性相位的滤波器组来对图像进行处理,以检验该线性系统的各项参数是否符合要求。...
用一组线性相位的滤波器组来对图像进行处理,以检验该线性系统的各项参数是否符合要求。-using a linear-phase filter to the image processing, to test the linear systems of the various parameters whether it meets the requirements.
- 2022-08-21 04:03:27下载
- 积分:1
-
一个VB编的图片操作程序
一个VB编的图片操作程序-a series of the VB Photo procedures
- 2022-07-04 18:46:44下载
- 积分:1
-
一个开发出来的桌面琮物
一个开发出来的桌面琮物-developed a desktop Cong-
- 2022-07-21 05:30:10下载
- 积分:1
-
一个可识别手写字母的程序框架, 适用初学者掌握原理用.
一个可识别手写字母的程序框架, 适用初学者掌握原理用.-A handwritten letter to identify procedural framework, the application of the principle of use for beginners to master.
- 2022-04-09 07:26:01下载
- 积分:1
-
呵呵,自己下载后打开看看,粒子效果真的不错,是本人以前收集的!...
呵呵,自己下载后打开看看,粒子效果真的不错,是本人以前收集的!-Oh, they look at the downloaded and opened, the particle effects really Yes, I used to collect!
- 2022-02-27 03:29:56下载
- 积分:1
-
这是我上计算机图形学课时老师要求做的作业,上载源码以供大家参考....
这是我上计算机图形学课时老师要求做的作业,上载源码以供大家参考.-This is my last computer graphics class teacher asked them to the operation of the source code available for reference.
- 2022-05-12 19:54:48下载
- 积分:1