随笔-341  评论-2670  文章-0  trackbacks-0
    由于一时找不到题目写,所以这两天就搞了一个简单的基于光线追踪的软件渲染器。准备花点时间做下去了。从昨天开始到现在实现的东西有反射、阴影、多光源、线性变换等。

    先来两张图:



    这里的球和圆柱体都是通过一个函数而不是很多三角形来表示的。表示物体的函数用来将物体与一条射线求交,返回最近的交点的位置、法向量和材质的信息等。然后程序就遍历每一个像素,生成对应的射线,然后求交,最后就可以获得点了。阴影的做法是绘制点的时候,求出所有光源到这个点上的方向,然后反着看回去(用上面实现的代码)看看有没有被东西挡住。反射就更好办了,直接拿反射后的视线所获得的颜色跟结果进行混合就行了。

    从明天开始慢慢研究更多的材质和光学,然后慢慢给渲染器添加功能。
posted on 2009-01-19 00:48 陈梓瀚(vczh) 阅读(4032) 评论(5)  编辑 收藏 引用 所属分类: 3D

评论:
# re: 孔子曰:三日不编程,食肉无味 2009-01-19 02:21 | 扫地僧
这个有趣哎!请问就程序编写方面需要哪些知识呢?  回复  更多评论
  
# re: 孔子曰:三日不编程,食肉无味 2009-01-19 02:52 | 空明流转
你可以搞一个CSG  回复  更多评论
  
# re: 孔子曰:三日不编程,食肉无味 2009-04-15 07:22 | 小蚂蚁
这个东西是用什么画出来的,d3d?opengl?  回复  更多评论
  
# re: 孔子曰:三日不编程,食肉无味[未登录] 2010-09-26 06:53 | x
这个能不能提供源代码学习学习???  回复  更多评论
  
# re: 孔子曰:三日不编程,食肉无味 2010-09-27 20:26 | 陈梓瀚(vczh)
@x
代码被我丢掉了  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理