「平淡无奇小天才」:两块C++代码结合ASCII码,即可实现Nvidia光线追踪技术

新闻 前端
最近,Reddit上一则项目帖子引起了大家的热烈关注,此项目利用ASCII码实现了光线追踪技术,而众所周知,这项技术原本是只有Nvidia显卡才能做到的。不仅如此,整个项目的代码还非常的简洁。看到这里,想试试吗?

  [[378554]]

近期,有国外大神利用ASCII码,完成了Nvidia显卡才能实现的光线追踪技术,并实现了不错的光影效果。

下面是光线追踪的效果示意:

 

该项目一经过发出,在Reddit上的热度就达到了2.1K,演示视频在Youtube上的观看量也达到了3万多次。

代码结构简单,可在任何系统上运行

代码本身结构非常地简单:

项目代码地址:https://github.com/DinoZ1729/Ray

而要想在自己电脑上运行,整个过程也非常的方便:

只需要在控制台中将字体改为8,就可以实现在Windows上的运行。

如果想在Linux或者其他操作系统上运行,那么只需要加上修改几行代码的步骤就可以了。

像素级别光线透射,相关项目惹人瞩目

那看到这里,很多人都会好奇,具体实现过程是什么的呢?

作者原话是这么说的:

「I shot a ray through each pixel and then let it bounce」

意思是什么呢?

让每个像素都被光线穿过,并让光线进行了反弹。

为了进一步解释这个过程,作者还放上了两个相关视频和项目链接:

其中一个是用C++实现的「ASCII地球旋转」:

代码地址:https://github.com/DinoZ1729/Earth

另一个是「ASCII渲染四面体着色」:

着色前:

着色后:

项目地址:https://github.com/DinoZ1729/Renderer

网友反应热烈,连调侃都「精辟到位」

在项目和演示视频下的评论区,有许多网友都表示了兴趣和称赞:

也有不少网友表示「希望自己的编程课可以教这些」,还有些网友说:「这个项目激励了我继续学习C++」。

除此之外,有趣的是,不少网友开始了调侃:

「Nvidia:我们有实时光线追踪!

ASCII:你太可怜了」

「玩家:我买了一个RTX 3080用于射线追踪!

控制台 :嗯,我可以用ASCII码做这个」

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

责任编辑:张燕妮 来源: 新智元
相关推荐

2018-08-06 16:31:36

NVIDIA光线抗锯齿

2018-10-30 16:24:43

NVIDIA RTX游戏光线

2018-08-30 15:36:11

NVIDIA GFE8K技能

2020-03-20 15:13:07

硬件光线追踪

2019-03-21 09:21:07

技术研发指标

2009-02-17 14:46:41

linux网卡无法激活

2023-10-30 10:29:50

C++最小二乘法

2009-08-28 10:31:47

C#字符ASCII码

2019-05-30 22:20:51

5GWi-Fi思科

2010-01-22 13:45:36

C++代码

2015-08-27 10:19:31

LinuxRAID

2014-01-02 10:01:09

桌面虚拟化

2023-09-25 10:03:38

2019-01-10 10:42:52

GTX 1180RTX 2080图灵架构

2009-12-17 13:37:24

Ruby代码块

2013-03-04 15:01:07

MWC2013智能手机厂商

2017-06-13 09:13:43

raid5数据恢复

2022-01-04 06:54:31

通信行业产业链

2023-12-22 13:58:00

C++链表开发

2011-04-12 10:40:04

C++多态
点赞
收藏

51CTO技术栈公众号