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

光线跟踪

于 2022-03-19 发布 文件大小:7.87 MB
0 166
下载积分: 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 个回复

  • 片成页面
    列图片成页面 - 解没有ACDSee之急。 源代码+执行文件+chm格式帮助 本程序跟listimg的功能差不多,区别仅仅是前者使用javascript,这个使用vc6(MFC),在java没配置好的机器上前者用不了。 如果您对此有何改进,烦恼mail一份改进后的版本给我,-out into pages-no solution ACDSee urgency. The source code implementation document chm format with the help of this program almost listimg function, the only difference is the former use of javascript, the use vc6 (MFC), the java not configured machines on the former impossible. If you have any improvements, a trouble mail improved version of me, thank you
    2022-02-01 04:34:21下载
    积分:1
  • And jitter to achieve patterning technology, and bmp2txt command
    实现图案化和抖动技术,以及bmp2txt 命令行编译过程如下 vcvars32 rc bmp.rc cl dither.c bmp.res user32.lib gdi32.lib 注意事项: 运行时,文件c: est.bmp必须存在-And jitter to achieve patterning technology, and bmp2txt command-line compiler as follows vcvars32 rc bmp.rc cl dither.c bmp.res user32.lib gdi32.lib Note: run-time, the file c: test.bmp must exist
    2022-11-10 12:05:04下载
    积分:1
  • c语言实现抛物线逐次积分法
    c语言实现抛物线逐次积分法-c language realization parabola step-by-step integration method
    2023-03-10 18:50:03下载
    积分:1
  • beautiful icon source code
    漂亮的图标程序源代码-beautiful icon source code
    2022-03-01 02:29:52下载
    积分:1
  • 一个简单的玫瑰花儿程序.rar
    一个简单的玫瑰花儿程序.rar- A simple rose procedure rar
    2023-07-19 16:25:02下载
    积分:1
  • automatic face detection and recognition system
    自动人脸检测识别系统-automatic face detection and recognition system
    2022-08-17 11:50:47下载
    积分:1
  • 素边缘检测
    数字图像的边缘检测是图像分割、目标识别、区域形状提取等图像分析领域 十分重要的基础。在进行图像理解和分析时,第一步往往都是边缘检测。目前, 边缘检测已成为机器视觉研究领域最活跃的课题之一,其研究具有非常重要的理 论意义和实际应用价值。传统的边缘检测方法的检测精度最高只能达到一个像素 级,但是,随着科学技术的飞速发展,工业检测等应用对精确度的要求不断提高, 传统的像素级边缘检测方法已经不能满足实际测量的需要,因此需要更高精度的 边缘检测方法,即亚像素边缘检测方法。本文针对亚像素边缘检测技术进行了深 入研究,研究内容主要包括以下几个方面:
    2022-05-19 18:37:11下载
    积分:1
  • directx3d create daughters directx3d create daughters
    directx3d 创建子体 directx3d 创建子体-directx3d create daughters directx3d create daughters
    2022-01-27 19:06:13下载
    积分:1
  • 象均值滤波算法
    图象均值滤波算法-image filtering algorithm
    2022-03-07 09:34:00下载
    积分:1
  • 载入并显示3dsmax文件的代码
    载入并显示3dsmax文件的代码-printed document and display the code 3dsmax
    2022-12-19 03:00:03下载
    积分:1
  • 696518资源总数
  • 106155会员总数
  • 8今日下载