【置顶】 此旧站点不再更新
此旧站点不再更新启用新框架 Astro
已将部分文章迁移至 blog.sboxm.top
hexo站点不再更新
【笔记】Csharp 单例线程安全
起因想定义一个单例模式模板类SingletonBase<T>,用于管理单例模式下的唯一实例。当子类继承这个基类时,它们会自动声明为单例模式。
12345678910111213141516171819202122namespace Common{ // 实例基类 public class SingletonBase<T> where T: SingletonBase<T> { private static T instance; // 获取单例实例 public static T Instance { get { if (instance == null) { instance = System.Activator.CreateInstance(typeof(T), true) as T; ...
一些好用的站点
📙分享一些在收藏夹存了好久的站点
🌈数百条收藏夹数据
🌈持续更新
🌈不断收集
Unity 资源pixabayhttps://pixabay.com/zh/music/
免版税音乐可供下载,超过 80000 首免费的音乐曲目。
Assets Kenney低面素材、游戏音效、UI素材下载
https://kenney.nl/assets/category:3D/page:3?sort=update
更多Unity 开发资源
内容过多 已经折叠 点击展开
框架
Unity 基础框架-MyUnityFrameWork
Unity 游戏框架-GameFramework
Unity 公用框架和工具-Moments
Unity 基础框架-TEDCore
Unity 小框架-Autoya
Unity 公共代码库-UnityCommon
Unity 游戏框架-CatLib
Unity 游戏框架-knight
Unity 游戏框架-KSFramework
Unity 游戏框架-BDFramework.Core
Unity 游戏框架-MyUnityFrameW ...
《Real-Time-Rendering-4th》
《实时渲染》第四版Real-Time Rendering, 4th Edition
概述
《Real-Time Rendering》(实时渲染)由Thomas Pharr, James Ferwerda, and Ingo Wald共同编辑,是计算机图形学领域中的一本经典教材。
第四版于2019年发布,包含了对现代GPU架构和技术的新理解,以及对游戏、虚拟现实、增强现实等领域的最新应用探讨。
内容结构
本书分为多个章节,每个章节深入讨论实时渲染中的一个特定方面,如光线追踪、阴影、纹理映射、光照模型、物理基础、着色语言等。
包括理论知识和实践案例研究,适合初学者到高级开发者学习。
技术覆盖
介绍了多种渲染算法和技术,比如延迟渲染、屏幕空间反射、环境光遮蔽等。
讨论了硬件加速方法,包括GPU编程技巧和多线程渲染策略。
探讨了未来可能的技术方向,如基于物理的渲染(PBR)、全局光照模拟等。
源文件仓库 > https://github.com/Morakito/Real-Time-Rendering-4th-CN
在线阅读 > https://www.wola ...
【PySide6】PySide6 小部件
【PySide6】PySide6 小部件
使用QPushButton, QCheckBox, QComboBox, QLabel, 和 QSlider 小部件
在Qt(和大多数用户界面)中,widget是用户可以与之交互的UI组件的名称。用户界面由多个小部件组成,排列在窗口内。
Qt提供了大量可用的小部件,甚至允许您创建自己的自定义和自定义小部件。
快速演示:PySide6 Widgets首先,让我们来看一些最常见的 PySide 控件。以下代码创建了一系列 PySide 控件,并将它们添加到窗口布局中,以便你能一起看到它们:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263import sysfrom PySide6.QtWidgets import ( QApplication, QCheckBox, QComboBox, QDateEdit, ...
【PySide6】Pyside6 信号、插槽和事件
【PySide6】Pyside6 信号、插槽和事件
用户行为和GUI事件的触发响应动作
此教程对PyQt6,PySide2和PyQt5同样适用
目前,我们已经创建了一个窗口,并在它上面添加了一个普通的按钮组件,但是这个按钮现在没有任何作用。这个窗口现在不是很有用–当你创建GUI应用程序,你通常想使用他们做某事!我们需要一个可以使当按钮被按下时可以使某些事情发生的方法。在Qt,这种方法由信号、插槽和事件提供。
信号&插槽当某事发生时,信号是由部件发出的信息。“某事”可以是:按钮被按下、输入框的文字被编辑和窗口文字的改变等等。许多信号由用户动作发起,但这不是固定的规则。
除了通知正在发生的事情外,信号还可以发送数据以提供有关所发生事件的其他上下文。
你还可以创建自己的自定义信号,我们将在稍后探讨
插槽是Qt用来接收信号的名词。在Python中,你的应用程序的任何方法(或函数)可以作为一个插槽–只需将信号连接到它。如果信号发送数据,则接收函数也将接收该数据。许多Qt小部件也有自己的内置插槽,这意味着你可以直接将Qt小部件连接在一起。
让我们来看看Qt信号的 ...
【PySide6】使用PySide6创建您的第一个应用程序
【PySide6】使用PySide6创建您的第一个应用程序
使用Python和Qt创建一个简单的“Hello World!”应用程序
在本教程中,我们将学习如何使用 PySide 来使用 Python 创建桌面应用程序。首先,我们将创建一系列简单的窗口,以确保 PySide 正常工作,并介绍一些基本概念。然后,我们将简要了解事件循环及其与 Python 中 GUI 编程的关系。最后,我们将介绍 Qt 的 QMainWindow,它提供了一些常用的界面元素,如工具栏和菜单。这些将在后续的教程中更详细地探讨。
创建一个应用程序让我们创建我们的第一个应用程序吧!首先创建一个新的 Python 文件 —— 你可以随意命名(例如 app.py),并将其保存在可访问的地方。我们将在这个文件中编写我们的简单应用程序。
随着我们的进展,我们将在这个文件中进行编辑,您可能想要回到代码的早期版本,因此请记得定期备份。
以下是应用程序的源代码。请逐字输入,并小心不要出错。如果出现错误,Python 将会提示您出了什么问题。
123456789101112131415161718 ...