我回来了,CSDN
这几天忙Monoxide的事情,期间非常荣幸受邀来CSDN开博。发现自己的账号已经因为长期未修改密码而无法登陆。多谢CSDN的编辑小姐姐帮忙解封,找回了十几年前的在论坛里面发的贴子。当时还是一个C++萌新,正在和MFC和COM做斗争。一晃那么多年了,甚是感慨。很感谢一路走来有CSDN这样的平台,帮助一代代研发萌新茁壮成长。
十几年来,发生太多事情,从中科院计算所,到微软亚研院,又到微软总部的研究院,现在在创新工场。期间历经软件时代,互联网/移动互联网时代,到现在的AI和区块链的时代,期间历经无数平台和工具的更替,不过我现在自己还是在用C/C++,当然现在多学了一门语言,叫做Javascript。算是C++死忠吧,但其实是自己比较懒,不爱花时间在各种不同的轮子上。不过庆幸的是只有C++是跨所有desktop和mobile平台的,所以别的轮子也不用深学了。
在微软,主要是做计算机图形学方面的研究工作,产出是论文,是专利。很多人误以为做研究不需要写代码。别的领域我不好说,但是对于实时渲染这个领域来说,每个研究工作的代码量都在几万到十几万的工作量。论文比拼的不仅仅是新的算法,新的技术,还有渲染系统的性能,也就是大家在游戏里面经常看到的FPS。那个时候组里清一色都是C++的人,各个都是性能优化的高手。
而我偏偏做的又是基于真实样本的高真实感绘制,除了渲染系统,还需要做数据采集系统。什么意思呢,就是拿一个真实世界里的样本,比如一个半锈的铁片,用相机阵列和可控的照明系统,拍摄许多照片,并从这些照片里面重建这个材料的光学特性,然后可以在计算机里面实时绘制这个材料,并且看起来和真实材质一样。比如上图的这个大理石板,就是知春路西格玛大厦一楼大堂的其中一块,还有从金五星买的两块丝绸的料子,论文里面做成了一个抱枕的样子。这样的数据采集系统,涉及机电程控的东西,高并发的数据采集,各种网络和存储的设计和优化甚至还有光学系统。比如下面这些货 … (是的,没钱的时候,机械部分我就用乐高凑合了)
有时候想想,不是有种叫做Full Stack的工程师嘛,而做图形学研究的我想应该叫做Super Stack。从顶层的算法和架构设计,到CPU/GPU算法实现,到前端的3D交互UX,到算法模型表示和存储,到建模系统的分布式计算,到数据采集系统的高并发I/O,到工业相机的控制,到机电系统的SoC。特别坑的是,这些系统从来都是为特定研究工作完全定制的,每年几乎都会从头写一个,当然有一些积攒下来的组件偶尔可以复用。在北京那些年的坑,积累下来的,除了一堆SIGGRAPH论文以及相关的专利,更多是写代码的经验,倒不是说语言如何掌握这种小事,而是对各种系统的理解和经验。后来到了总部研究院慢慢转向分布式系统和并行计算领域,就轻松自如。对图形学有兴趣的同学,可以看看我的个人网站,https://jiapingwang.com/
当然图形学已经是职业生涯的一个段落了,虽然年年还做SIGGRAPH的审稿人 [无奈脸]。 这个博客,之后更多还是会和大家聊去中心化系统,分布式系统以及区块链相关的研究工作。再次借CSDN这块宝地,结识更多同好。