基于D3D的Ray Trace
来源:互联网 发布:男生双肩背包知乎 编辑:程序博客网 时间:2024/06/06 17:57
主角还是变形金刚永远的两巨头--擎天柱、威震天。
计算包括贴图颜色Texture、漫反射diffuse、高光specular、反射Reflect、折射Refract、阴影Shadow。
使用了D3D9 API,没有使用GPU Shader。
程序是在D3D Tutorial 06: Meshes Sample 基础上顺手改的。
主要的几何算法就是Ray与Triangle的碰撞检测,Ray与AABB Box的碰撞检测,Ray与包围球的碰撞检测。
几乎所有的计算时间都耗费在大量的Ray与Triangle的碰撞检测上。这张412 X 386的图片计算耗时估计超过
三个小时。我的电脑CPU只是可怜的P4 1.7G,我曾经想计算一张800x800的图,可惜从我早上打开电脑开始算,一直到晚上回家也没有算完。而且大图的计算一直还会出现意想不到的问题,结果会是一张莫名奇妙的图。我至今还没有找到问题所在。
面的法线平滑好像有点问题。事实上我不知道如何取得类似D3D硬件所做的那种平滑插值的效果。而且整个场景有些偏暗,我猜测可能是取得贴图颜色偏暗造成的。
使用的模型是网络上找到的低模,或许用低模做Ray Trace并不合适。但是因为我可怜的CPU,同时没有更好的算法优化,也只能这样了。
如果有时间,同时运气足够好的话。我会努力渲染出一张大点的图出来,效果也许会好一些 。
这张是Ray Trace的结果
这张是D3D渲染的原图
- 基于D3D的Ray Trace
- ray trace 第三章 翻译
- 基于D3D Effect的引擎模式探讨。
- 光线追踪(Ray Trace) 变形金刚大图
- 逐像素光照( ray trace ) (一)[反射光]
- 基于VC和D3D的粒子系统的实现
- 基于D3D技术实现的九宫格算法绘制图片
- Problem of Object Model arising from a Ray-trace Model
- 【Ray Trace from Groud Up】光线追踪代码实现解析
- 基于gem5模拟trace的cache模拟器的实现
- 基于C#中的Trace实现一个简单的日志系统
- 我的ray tracer
- 基于光线追踪的Mental Ray鱼眼镜头的编程实现
- 基于光线追踪的Mental Ray鱼眼镜头的编程实现 作者:华文广
- 基于GPU的光线投射体绘制(GPU-Based Ray-Casting Volume Rendering)入门学习
- 基于GPU的光线投射体绘制(GPU-Based Ray-Casting Volume Rendering)入门学习
- Q104:怎么用ray tracing画基于磨边楔形的“花环(Rosette)”
- 基于Python的分布式高可用扩展引擎Ray 0.2.0发布
- 关于网络流
- 你在寻找什么人
- c++中对const的总结
- WEB页面传值解决
- C之诡谲(转载自CSDN)
- 基于D3D的Ray Trace
- 学习笔记
- pku1781
- 如何查看EXE或DLL文件的导入函数及导入DLL
- IKE学习笔记(IKE第二阶段)
- 用myeclipse在struts中配置mysql和sqlserver的datasource
- 男孩重实用,女孩爱浪漫
- Java tostring()方法
- 致一位我暗恋很久的女生