抽象类与接口的模糊性 没有原生 interface 关键字,只能通过“包含纯虚函数(virtual void fn() = 0;)且没有成员变量的类”来模拟接口。 概念混淆:...
抽象类与接口的模糊性 没有原生 interface 关键字,只能通过“包含纯虚函数(virtual void fn() = 0;)且没有成员变量的类”来模拟接口。 概念混淆:...
C++ 移动语义(Move Semantics)是 C++11 引入的核心特性,其本质是在编译期利用类型系统,将对昂贵资源(如堆内存)的“深拷贝”转化为对指针或句柄的“浅拷贝...
C++ 传统拷贝与移动机制中的四大核心痛点: 1. 隐式深拷贝导致的“隐蔽性能开销” 在 C++ 中,auto b = a; 默认执行拷贝。如果 a 是一个包含巨量数据的 s...
在 C++ 中,默认构造函数(Default Constructor) 是一种非常特殊且深植于语言机制中的概念; 它的核心哲学是尽量自动化、隐藏细节(但也带来了复杂度和隐患)...
rust/cpp 结构体: https://www.jianshu.com/p/f2a9697513cd[https://www.jianshu.com/p/f2a96975...
这个“梗”在 Rust 社区确实流传甚广。很多刚从 C++ 走过来的程序员一看到 Rust 里有 String、&str、Box 、Rc 、Cow 、CString、CStr...
在 C++ 中,现代 C++ 的核心武器是 模板(Templates) 和 C++20 引入的 概念(Concepts)。你用模板来做泛型编程,用 std::enable_i...
你一定知道 C++ 的底层并发和指针是非常“自由”的。比如,std::shared_ptr 默认是原子的,但它包裹的数据并不是线程安全的;你想在多线程里读写一个变量,必须自己...
作为 C++ 程序员,你对内存管理(智能指针、RAII、生命周期、悬挂指针、内存泄漏)一定痛彻心扉或者了如指掌。 Rust 的所有权(Ownership)机制,本质上就是在编...
learn_shader_by_example 第一个
原理 在Unity中实现基于噪声纹理(Noise Texture)的动态火焰外壳,核心思路是利用噪声图的颜色值去干扰或裁剪模型的材质表面,并通过时间变量让这种干扰发生位移。它...
在 C++ 和传统的软件开发中,我们经常需要处理“一个变量可能属于多种类型之一”或者“一个操作有多种可能结果”的场景。 传统面向对象(OOP)和 C 语言给出的武器是:多态(...
在 C++ 中,struct 和 class 几乎没有本质区别(唯一的区别是默认访问权限:struct 默认是 public,class 默认是 private)。C++ 程...
屏幕空间环境光遮蔽技术原理 一、SSAO 是什么(核心概念) SSAO = Screen Space Ambient Occlusion,屏幕空间环境光遮蔽作用:模拟角落、缝...
需求:拼图游戏中,在选择1)正确随机,还是2) 完全随机+检查->如果不通过则再随机。我选择了 1)但事实是2)更好。 原因如下 (我觉得4最有用) 这是一个非常棒的元认...
通过AI整理这篇关于游戏服务端分布式架构的博客内容。这是一个技术架构设计话题,不需要搜索工具,直接基于你提供的资料进行专业梳理。 游戏服务端分布式架构设计:有状态服务的两种扩...
PBR(基于物理的渲染)和延迟渲染是现代游戏引擎的基石。它们让画面看起来“高级”的关键在于对物理规律的模拟。注:unity urp的 Lit 就是pbr 而 simple ...
在 Unity URP 中实现多层法线贴图叠加的动态水面,是让水体看起来“灵动”且具有层次感的关键。如果只用一张法线贴图,水面看起来就像是在传送带上移动的塑料片。(TODO ...
Bloom(辉光)是游戏开发中最常用的后处理效果之一。它模拟了摄像机镜头或人类眼睛在直视强光时的光学散射现象,让原本只是“亮白色”的像素点看起来真的在向外“发光”。 1. B...