摘要: 《Dependency Injection Principles, Practices, and Patterns》学习笔记 前言 分层架构的优点: 职责清晰,方便分工 代码复用,扩展性良好 体积小,易维护 依赖倒置原则(Dependency Inversion Principle): 高层模块(h 阅读全文
posted @ 2022-08-08 16:29 世纪末の魔术师 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Unity2018 Shader Graph 实验室 Shader Shader Graph Unity Tips: -- 在shader forge和amplyfy Shader节点图形化shader编程的诱惑下,unity官方终于在2018版本也推出了而自己shader节点可视化编程工具Shad 阅读全文
posted @ 2018-08-17 23:28 世纪末の魔术师 阅读(12651) 评论(4) 推荐(0) 编辑
摘要: Unity Shader 学习之旅 unityshader图形图像 纸上学来终觉浅,绝知此事要躬行 美丽的梦和美丽的诗一样 都是可遇而不可求的——席慕蓉 一、渲染流水线 示例图 Tips:什么是 GPU 加速计算? 1.1Draw Call CPU过Draw Call来g告诉GPU开始一个渲染过程。 阅读全文
posted @ 2018-07-22 12:12 世纪末の魔术师 阅读(1177) 评论(0) 推荐(0) 编辑
摘要: 借助Atrribute扩展UnityEdior C# Attribute 简介 Attribute 是 C# 提供的一种强大的元数据机制,可以用来为代码的程序元素(如类、方法、属性等)附加额外的信息。这些附加信息可以在运行时通过反射机制读取,从而影响程序的行为。 Attribute 的特性 轻量级 阅读全文
posted @ 2025-01-03 13:44 世纪末の魔术师 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 函子 在C#中,函数式编程的函子(Functor)是一种实现特定接口或模式的结构,它能够将函数应用于数据结构中的值。函子的核心概念源自数学中的范畴理论,但在编程中更倾向于实际操作。 函子的特点 包装一个值:函子是一个容器,能够存储某种类型的值。 提供一个方法来应用函数:它提供了将一个函数作用于容器中 阅读全文
posted @ 2025-01-03 11:18 世纪末の魔术师 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 内存映射文件 内存映射文件简介 内存映射文件(Memory-Mapped File)是一种将文件或其他对象映射到进程地址空间的机制,使得应用程序可以像访问内存一样访问文件内容。以下是内存映射文件的主要特点和工作原理: 主要特点 直接内存访问: 应用程序可以通过指针直接访问文件内容,而不需要通过传统的 阅读全文
posted @ 2024-11-21 09:34 世纪末の魔术师 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 众里寻他千百度,蓦然回首,那人却在灯火阑珊处 前情提要 在某些情况下,我们在场景中创建了数百万个物体,这些物体没有直接的网格或碰撞体(例如,通过GPU绘制的物体),因此无法通过常规的射线检测与碰撞体进行交互。我们仅掌握这些物体的坐标或顶点位置。在这种情况下,我们该如何通过鼠标来“选中”这些物体呢? 阅读全文
posted @ 2024-10-22 17:54 世纪末の魔术师 阅读(280) 评论(2) 推荐(3) 编辑
摘要: Shader Graph自定义渐变色节点Gradiant Unity自带Shader中的Gradiant不能暴露在外部 使用定义CustomFunction来制作暴露给外部的Gradiant ShaderGraph节点图 CustomFunction代码 if(inputValue<location 阅读全文
posted @ 2024-09-18 14:09 世纪末の魔术师 阅读(61) 评论(0) 推荐(0) 编辑
摘要: Ollama+OneAPI+Fastgpt部署本地免费AI知识库踩坑 资源网站 https://www.bilibili.com/video/BV1xm421J7dG https://ollama.com/ https://github.com/ollama/ollama https://githu 阅读全文
posted @ 2024-08-15 16:24 世纪末の魔术师 阅读(564) 评论(0) 推荐(0) 编辑
摘要: C#8 中有趣的的索引和范围特性 var array = new int[]{3,4,6,4,52,63,5,545,4,345,5,52,6}; Debug.Log(array[^5]); Debug.Log(array[5..8].Length); 使用 这些索引和范围特性可以让您更方便地访问和 阅读全文
posted @ 2024-07-17 11:13 世纪末の魔术师 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 八叉树 八叉树简介 八叉树(Octree)是一种在三维空间中进行数据组织和存储的树型数据结构。它的工作原理是将一个大的三维空间递归地分割成八个相等的小空间,每个小空间又可以继续分割成八个更小的空间,以此类推,直到达到某个预定的深度或者满足特定的终止条件(例如,空间内元素数量少于一个阈值)。每个分割后 阅读全文
posted @ 2024-07-05 16:57 世纪末の魔术师 阅读(176) 评论(0) 推荐(0) 编辑
摘要: C# 模式匹配 https://www.geeksforgeeks.org/pattern-matching-in-c-sharp/ https://www.codeproject.com/Articles/5368148/Your-Quick-Guide-to-Pattern-Matching-i 阅读全文
posted @ 2024-06-18 17:54 世纪末の魔术师 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 深入了解 C# Span:高性能内存操作的利器 在 C# 7.2 中引入的 Span<T> 类型为我们提供了一种高效且安全地对内存进行操作的方式。Span<T> 是一个轻量级的结构体,用于表示一段连续的内存区域,可以避免不必要的内存分配和拷贝,提高代码的性能和效率。 什么是 Span? Span<T 阅读全文
posted @ 2024-06-07 15:31 世纪末の魔术师 阅读(1176) 评论(2) 推荐(1) 编辑