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

光线跟踪

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

  • 一个dxf读写的类库(包含类库源码及演示源码)
    一个dxf读写的类库(包含类库源码及演示源码)-Dxf to read and write a class library (including class library source code and demo source code)
    2022-11-25 01:30:03下载
    积分:1
  • 泊松表面重建代码
    完整的泊松表面重建算法的,实现的是Hoppe2013年SIGG的一篇文章,这篇文章是基于2006年工作的基础改进性的工作,源码清晰易懂,有注释。
    2023-03-28 10:40:03下载
    积分:1
  • 随意在平面上绘并有位顺着轨迹移动
    随意在平面上绘图并有位图顺着轨迹移动-at random plane graphics and bitmap along the trajectory mobile
    2022-03-19 16:36:57下载
    积分:1
  • 使用opengl函数写程序,实现如下:画一个矩,平移至点P(100,50,200),绕x轴旋转45度角。...
    使用opengl函数写程序,实现如下:画一个矩形,平移至点P(100,50,200),绕x轴旋转45度角。-To write programs using the opengl function to achieve the following: draw a rectangle, flat move to point P (100,50,200), around the x-axis rotation 45-degree angle.
    2022-01-25 23:46:54下载
    积分:1
  • 显示一个可以旋转的立方体,通过鼠标的拖动而旋转。
    显示一个可以旋转的立方体,通过鼠标的拖动而旋转。-Showing a rotating cube by mouse drag and spin.
    2022-05-26 11:16:00下载
    积分:1
  • 曲线显示控件,类似于心电,For D5、D6、D7。
    曲线显示控件,类似于心电图,For D5、D6、D7。-curve shows controls, similar to the electrocardiogram, For D5, D6, D7.
    2022-01-27 23:38:12下载
    积分:1
  • 用于采集的C代码
    mini2440(处理器s3c2440)Linux下的cmos摄像头图像采集程序 该程序实现了 1、摄像头的图像的采集,采集到的数据直接显示在LCD上。 2、拍照,即将显示的采集到的图像信息保存为16位的bmp图片。(按键1拍照并保存,拍摄的时候led1点亮1秒)      3、图片浏览。可以浏览已拍摄的照片。(在拍摄状态按下按键2,即可进入图片浏览功能,     只可以播放一遍,其他功能尚未加入) 目前存在的问题: 1、保存的图像尚存在问题:在电脑上显示的不清楚,在    ARM9上可以正常显示。 2、拍摄的图片大小受限制,只能拍摄240*320的16位图片。下一步的改进:能够拍摄常见大小    的照片,并且保存为.jpg格式。 最主要的问题是摄像采集的数据 无线电协会
    2022-03-29 08:41:16下载
    积分:1
  • 在vc中产生对话框文件。
    在vc中产生对话框文件。-in vc dialog generated documents.
    2022-08-12 23:55:53下载
    积分:1
  • 人脸定位实例全部源码,包括对眼睛,嘴巴等的定位
    人脸定位实例全部源码,包括对眼睛,嘴巴等的定位-face location of all source code examples, including the eyes, mouths positioning
    2022-04-24 20:46:13下载
    积分:1
  • 不同线路或闪烁屏幕问题解决
    异或线解决闪屏问题-different lines or flashing screen problem solving
    2022-03-16 15:22:03下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载