登录
首页 » 图形图像 » 光线跟踪

光线跟踪

于 2022-03-19 发布 文件大小:7.87 MB
0 285
下载积分: 2 下载次数: 1

代码说明:

   首先确定眼睛的位置和视线方向。然后确定从眼睛出发通过每个象素中心的光线方程。通过该光线求光线与场景中物体的最近交点。   若有交点,首先产生阴影测试光线,它是连接交点与光源的光线,然后计算该交点与光源间是否有阻挡物,如果没有则计算该点的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对象,光线跟踪的具体实

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 本代码实现的是windows的矢量字库的读写,生成8*8字模
    本代码实现的是windows的矢量字库的读写,生成8*8字模-the source implementation of the windows vector font reader, generate 8* 8 Fonts
    2022-01-20 22:50:57下载
    积分:1
  • 在VB的图形窗口中平滑滚动地图,源码运行没有闪烁
    在VB的图形窗口中平滑滚动地图,源码运行没有闪烁-in VB graphics window smoothing rolling map source operating without blinking
    2022-07-20 19:32:25下载
    积分:1
  • 这个程序演示了如何通过加载不同的ICO图标文件制作鼠标动态光标效果...
    这个程序演示了如何通过加载不同的ICO图标文件制作鼠标动态光标效果-this procedure demonstrated how different loading icon document production ICO mouse cursor dynamic effects
    2022-02-03 17:41:44下载
    积分:1
  • 光线跟踪
       首先确定眼睛的位置和视线方向。然后确定从眼睛出发通过每个象素中心的光线方程。通过该光线求光线与场景中物体的最近交点。   若有交点,首先产生阴影测试光线,它是连接交点与光源的光线,然后计算该交点与光源间是否有阻挡物,如果没有则计算该点的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
  • 均值漂移算法的演示
    mean shift功能演示,实现图像分割,具体请看效果-the demonstration of the mean shift algorithm
    2023-01-15 17:40:05下载
    积分:1
  • 基于bp神经网络的数字识别系统
    基于bp神经网络的数字识别系统-Number recognition system based on the BP Artificial Neural Network
    2022-12-11 04:10:03下载
    积分:1
  • 可以实现图像模板匹配功能,适合初学图像读者
    可以实现图像模板匹配功能,适合初学图像读者-can achieve image template matching function, images suitable for beginner readers
    2022-03-23 08:34:14下载
    积分:1
  • 本代码是用vc开发的水印的源文件,包括水印的嵌入…
    本代码是用VC++开发的水印源程序,包括水印的嵌入和提取-the code is developed by VC watermark source files, including the watermark embedding and extraction
    2023-02-16 12:55:03下载
    积分:1
  • 这是一个三维模型加载程序是有用的,可以下载的
    这个是3D模型加载的程序,很好用,大家可以下载-This is a 3D model loading procedure is useful, you can download
    2023-04-25 06:45:02下载
    积分:1
  • VC++图形绘制代码,操作风格类似AutoCAD,很有研究价值! 可以画出简单的直线,方形等图形...
    VC++图形绘制代码,操作风格类似AutoCAD,很有研究价值! 可以画出简单的直线,方形等图形-VC++ Graphics rendering code, operating style similar to AutoCAD, great research value! Can draw a simple straight line, square and other graphics
    2022-04-25 13:52:49下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载