Code is cheap. Show me the idea.
过去软件行业有一句很有名的话:
1 | Talk is cheap. Show me the code. |
这句话代表了前 AI 时代非常典型的工程文化。空谈没有意义。能跑的代码才是真东西。不要只讲想法,把实现拿出来。
但站在 2026 年的角度看,这句话背后的价值结构正在发生反转。现在越来越像是:Code is cheap. Show me the idea.
过去软件行业有一句很有名的话:
1 | Talk is cheap. Show me the code. |
这句话代表了前 AI 时代非常典型的工程文化。空谈没有意义。能跑的代码才是真东西。不要只讲想法,把实现拿出来。
但站在 2026 年的角度看,这句话背后的价值结构正在发生反转。现在越来越像是:Code is cheap. Show me the idea.
整理了下近期以及过去做过的这方面的一些功能, 挑出点有意思的东西或思路谈谈. 这篇没有什么代码之类的东西, 就纯是碎碎念.
UE 渲染开发一直以来都是个很蛋疼的话题, 拜屎山一般的渲染系统所赐, 想要加点什么东西基本就只有改源码一条路可走, 以至于网上搜十个改源码的文章可能九个都是教你怎么加 ShadingModel 或 MeshPass.
我自己也曾在这类重复且枯燥的工作上花费大量的时间, 深切感受到这玩意到底有多恶心. 而且源码修改一时爽, 后续维护火葬场, 将来如果要升级引擎版本, 面对茫茫多的 diff 那才叫一个痛不欲生.
所以这个系列从 UE 的插件系统(Plugin)入手, 尝试探索在不改动源码的情况下, 如何最大限度的自定义渲染.
众所周知,C++一直没有一个官方提供的string split用于分割字符串,在过去(C++20之前)我们可能需要使用std::regex、std::string::find系列方法、甚至是继承自C的strtok函数来自行封装一个split,非常繁琐与不便。
然而,这一切都在C++20中发生了变化。C++20引入了范围库ranges,其中提供的两个范围适配器std::split、std::lazy_split可以使我们以一种更为优雅的形式实现split。
待搬运, 内容详见原文链接.
待搬运, 内容详见原文链接.
待搬运, 内容详见原文链接.
过去两周多折腾URP Deferred + Native Renderpass, 踩了无数的坑, 翻遍国内国外的社区也找不到太多可供参考的资料. 于是在这里简述一下一些不可回避的问题以及其解决方案, 也算是为社区做点贡献.
待搬运, 内容详见原文链接.
最近在研究基于UE5的卡通渲染,颇有收获。正巧前段时间与同事吃饭,聊到知乎,深感自己知乎各种不正经的东西实在太多了,而我又是个懒得腾出时间写正经东西的懒狗,遂决定趁编译Shader的空闲,写点学习笔记、心得与分享。