用emacs玩转图形学的光线追踪


不久前因为在豆瓣的0bug围观,知道了Milo Yip这个牛人,他最近写了篇:用JavaScript玩转计算机图形学 ,图文并茂地介绍了离线渲染中最重要也是最基础的光线追踪算法。

编写光线追踪渲染器是图形程序员的一个仪式,所以区区编写了一个emacs版本 ,顺便把一直想写的ppm-gen功能完成。

这个渲染器速度是很慢的,所以要有心理准备。在区区的机器上,25x25渲染都要20秒。这可能是因为过量使用eieio的原因。不过,这在emacs lisp中也是没办法的事情。vector/sphere/ray的实现,从assoc list变为vector变为defstruct最后变为defclass,都是为了编写代码更清晰的,eieio的with-slots/oref/oset非常好用!

下面是几张效果图:
深度渲染

反射渲染

P.S: 用emacs lisp渲染是很慢的,如果你想了解自己机器的单线程速度,可以多一个度量了^_

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值