logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

游戏引擎原理与实践 03:空间变换与3D渲染流水线入门

本文深入浅出解析3D游戏开发核心原理:从左手/右手坐标系、欧拉角旋转顺序,到线性与仿射变换的数学本质,强调变换顺序(缩放→旋转→平移)与矩阵右乘约定的重要性。详解3D渲染流水线五大阶段——模型空间到屏幕空间的逐级转换,并剖析DirectX/OpenGL等图形API与引擎工作流,揭示美术资源如何通过建模、贴图、动画等软件协同,最终在引擎中组装成可运行游戏。结合实例与思考题,帮助开发者夯实图形底层逻辑

文章图片
#游戏引擎#3d#开发语言 +3
[简化版 GAMES 101] 计算机图形学 19:曲面细分与网格简化核心技术解析

本文深入解析计算机图形学中的曲面细分与网格简化核心技术。在曲面细分方面,重点介绍了Loop三角网格细分算法和Catmull-Clark通用网格细分算法,前者通过面片拆分和顶点加权实现三角网格的平滑细化,后者则能处理任意多边形网格并具有网格归一化特性。在网格简化方面,阐述了在保留模型关键特征的前提下精简面片以提升渲染效率的原理。文章还对比了不同细分算法的适用场景和技术特点,并提供了可直接落地的伪代码

文章图片
#图形渲染#游戏引擎
Effective STL第2条:不要试图编写独立于容器类型的代码

本文探讨了在C++标准模板库(STL)编程中避免编写独立于容器类型的代码的重要性。STL通过泛型编程提供了强大的容器和算法,但过度追求容器无关性会导致诸多问题:不同容器的成员函数差异、功能交集限制、迭代器失效规则不同、移植性障碍以及类型限制等。文章建议采用类型封装(typedef)和容器封装(类封装)技术来隐藏具体容器类型,提高代码灵活性。同时指出C++11引入的auto关键字能简化迭代器类型声明

文章图片
#c++#开发语言#软件工程 +1
C++20 高级编程 003:吃透现代基础语法与标准容器

本文介绍了现代C++(C++11至C++20)中的核心语法与标准容器,旨在帮助开发者摒弃传统C风格编程习惯。

文章图片
#c++20#软件工程#开发语言 +1
Python 高级编程 025:二分利器bisect模块

本文介绍了Python内置的bisect模块,这是一个基于二分查找算法的高效工具库,专门用于维护有序序列,提供检索和插入功能。文章通过对比传统排序方法的低效性,凸显了bisect模块的性能优势(时间复杂度从O(n)优化至O(log₂n))。详细解析了六大核心方法(bisect_left/right和insort_left/right)的差异及适用场景,并通过代码示例展示了其在列表和双端队列中的实际

文章图片
#python#算法#开发语言 +3
Python 高级编程 027:四大推导式全攻略

本文详细介绍了Python中的四大推导式(列表、生成器、字典、集合推导式),通过对比传统写法与推导式写法,展示了推导式如何让代码更简洁高效。文章重点解析了每种推导式的语法结构、适用场景及注意事项,包括列表推导式的"表达式+循环+条件"结构、生成器表达式的惰性计算特性、字典推导式的键值转换能力,以及集合推导式的自动去重功能。作者强调推导式虽强大但不可滥用,复杂逻辑仍推荐使用传统循环以保证代码可读性,

文章图片
#python#程序人生#开发语言 +2
Python 高级编程 026:内置数据结构之骈文纵论

本文以骈文形式探讨Python内置数据结构的特性与优劣。文章首先指出列表虽灵活通用,但存在内存分散、性能较低等问题;继而详述数组(array)模块源于C语言,具有内存连续、类型统一的特点,性能显著优于列表。文中对比两者差异,列表如杂货铺包容万物,数组如专卖店专精单一类型;通过类型码表和接口方法展示数组的严格类型约束与高效文件交互能力;最后以百万级数据实测证明数组内存占用仅为列表的1/7,性能优势显

文章图片
#python#数据结构#开发语言 +2
Python 高级编程 026:序列内核深剖

本文深入剖析Python序列的核心机制,从双维度分类(容器/扁平序列、可变/不可变序列)到抽象基类协议解析(Sequence和MutableSequence),揭示了序列的底层魔法方法实现。重点对比了四种序列拼接操作(+、+=、append、extend)的底层原理、内存机制和性能差异,通过实测数据证明+=和extend在大数据场景下的性能优势。文章强调理解序列协议对编写高效Python代码的重要

文章图片
#python#开发语言#软件工程 +1
C++20 高级编程 001:从极简HelloWorld到现代类型体系全梳理

本文介绍了C++20中的核心语法特性,从现代化的HelloWorld示例入手,对比传统C++写法,重点讲解了模块化、命名空间、字面量与变量等基础概念。C++20引入了模块(import)替代传统头文件(#include),提升编译效率;通过命名空间(namespace)解决命名冲突;推荐使用统一初始化{}语法声明变量。文章还介绍了C++20的格式化输出(std::format)、类型安全的输入输出

文章图片
#c++20#开发语言#编程语言 +1
开源项目成功之道 03:揭秘开源成功的四大密码

哈喽各位技术小伙伴们~👋 今天咱们来聊一个既熟悉又陌生的话题 ——开源(Open Source)!你可能会说:"害,开源不就是 GitHub 上那些免费代码吗?我天天用!🙅‍♂️ 如果你以为开源只是 “免费拿代码”,那可就 too young too simple 了~开源的世界远比你想象的精彩!从家酿啤酒配方🍺到基因组研究🧬,从蓝牙黑客硬件到支撑 30 亿设备的操作系统,开源的触手早已伸

文章图片
#开源#软件工程#程序人生 +2
    共 132 条
  • 1
  • 2
  • 3
  • 14
  • 请选择