-
光线跟踪
首先确定眼睛的位置和视线方向。然后确定从眼睛出发通过每个象素中心的光线方程。通过该光线求光线与场景中物体的最近交点。 若有交点,首先产生阴影测试光线,它是连接交点与光源的光线,然后计算该交点与光源间是否有阻挡物,如果没有则计算该点的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
-
使用OpenGL编程实现如下:围绕POI绘制矩形…
使用opengl编写程序,实现如下:画一个矩形,在xoy面内绕点P(100,50)旋转45度角。-Use opengl programming to achieve the following: draw a rectangle around the points in the xoy plane P (100,50) rotated 45 degrees.
- 2022-05-26 10:40:08下载
- 积分:1
-
STM32 UCOS 显示源码
本源码是基于Keil
MDK编写的。上面开发环境中没有keil的选项,不知道为什么?本程序可以直接运行在火牛STM32的开发板。是基于UCOS+UCGUI编写的。
-The source code is written based on the Keil MDK. The above development
environment does not the keil option, do not know why? This program can
run directly on the AC adapter the STM32 development board. Written
UCOS+UCGUI.
- 2022-02-22 00:27:05下载
- 积分:1
-
一个用IDL编写的GUI视图工具 详细源代码与工程文件 包含加载影像 RGB波段合成列表选择 放缩与全图漫游 鹰眼图 矢量数据空间叠加等视图处理功能 按照说明书...
一个用IDL编写的GUI视图工具 详细源代码与工程文件 包含加载影像 RGB波段合成列表选择 放缩与全图漫游 鹰眼图 矢量数据空间叠加等视图处理功能 按照说明书操作即可!-IDL prepared using a GUI tool to view a detailed source code and project file contains the load image list to select RGB-Band Synthetic zoom map with roaming space Hawkeye map overlay vector data such as view processing functions can be operated in accordance with the Manual!
- 2022-03-03 13:58:29下载
- 积分:1
-
图像的纹理分析应用实例.
图像的纹理分析应用实例.-image texture analysis application examples.
- 2022-03-23 17:09:56下载
- 积分:1
-
一个处理图形图象的库,很酷
一个处理图形图象的库,很酷-a graphic image processing library, cool
- 2022-03-05 22:40:47下载
- 积分:1
-
像素本身,创建一个新的像素或提高现有
PIXEL, by itself, creates a new PIXEL or raises the existing
singleton*.-PIXEL, by itself, creates a new PIXEL or raises the existing
singleton*.
- 2022-06-15 14:01:06下载
- 积分:1
-
一个微3D跨平台图形库,A mini 3D computer graphics C++ cross
一个微3D跨平台图形库,A mini 3D computer graphics C++ cross-platform library-a cross-platform 3D graphics library. A mini 3D computer graphics C cross-platform li brary
- 2022-03-26 15:58:50下载
- 积分:1
-
一个很好的查看文件二进制内容的软件,对于学习各种文件的存储格式和压缩方式很有帮助...
一个很好的查看文件二进制内容的软件,对于学习各种文件的存储格式和压缩方式很有帮助-a good look binary content of the document software, learning all kinds of file storage format and compression helpful
- 2022-04-09 20:11:48下载
- 积分:1
-
C与C++图像处理编程源代码.BMP解析原代码,已经经过测试验证.能够显示1024*1024 2^24种颜色...
C与C++图像处理编程源代码.BMP解析原代码,已经经过测试验证.能够显示1024*1024 2^24种颜色-C and C image processing program source code. BMP analytic original code, already after testing. to demonstrate 1024* 1024 2 ^ 24 colors
- 2022-06-19 10:00:26下载
- 积分:1