中世纪音乐欣赏
中世纪音乐欣赏
Vulkan 从配置到放弃系列:环境准备
从 OpenGL 到 Vulkan
Vulkan 被视作是 OpenGL 的后续产品,由 Khronos Group 维护。Vulkan 基于 Mantle(第一个全新的低层次图形 API)。Mantle 由 AMD 开发而成,专为 Radeon 卡架构而设计。尽管是第一个公开发布的 API,但使用 Mantle 的游戏在基准测试中均显著提升了性能。后来其它产商陆续发布了其他低层次的图形 API,比如 Microsoft 的 DirectX 12、Apple 的 Metal,以及现在的 Vulkan。
Op ...
2022 年的我们,有怎样的集体记忆?
2022 年的我们,有怎样的集体记忆?
上海老人因妻子新冠阳性在微信群向邻居道歉
孩子凌晨发烧至 40 度母亲挨家敲门求退烧药
上海公共交通因疫情停运 患癌阿姨崩溃:我走不动
上海居民打电话向居委会求救 居委会:我们也没办法
上海疫情封城 老人哮喘因被拒绝救治而死亡
西安一居民出门买馒头被防疫人员群殴
七旬独居老人不会手机订菜崩溃大哭
父母带 2 岁孩子去方舱 邻居纷纷挽留
河南一老人因疫情停工无家可归睡桥洞
老奶奶问店主要剩的羊肉汤回去和瘫痪儿子分享
六岁男孩用板车拉奶奶做核酸
俄军即将空 ...
使用 NuGet 快速创建 OpenGL 项目
C++ 目前还没有一个标准的 C++ 依赖包管理器,传统上都是手动去下载源码编译(经典的例如 make),或者直接下载预编译好的库文件(例如没有开源的)和头文件。之后在项目里配置对应的头文件路径和库路径。这个过程非常繁琐,而且枯燥。对于 Windows 上的用户,其实可以考虑使用 NuGet 安装所需要的依赖。NuGet 会自动下载依赖并配置好,省去很多繁琐的过程。
什么是 NuGet
简单来讲,它是一个包管理的平台。类似,Python 的 Pip、JavaScript 的 npm。
创建一个项目
Vis ...
世界杯小白指南:足球运动扫盲
基础扫盲,很粗略,只是简单普及一下。
赛事区分
杯赛和联赛的区别
杯赛有 淘汰制,以一定的标准选拔队伍,两两对决,胜者晋级,败者退场。
联赛是各国体育竞技项目的基本赛事,定期完成。采取 积分制,只有尽可能在每一场比赛中都做到最好才能成为最终的玩家。单场踢 90 分钟,胜积 3 分,平积 1 分,负积 0 分。
通常为期 8 个月,正常情况下非大赛年
冬季与夏季有歇赛季
欧洲普遍采取跨年度赛季制,从当年的 8 月到次年 5 月底;冬季较为寒冷的国家会采取年度制,时间从 4 月到 11 月。(这就是为什么有 ...
UE 中 LiveLink 的开发:全流程
演示一下基本从 LiveLink Program 到 Unreal 编辑器中进行控制对象的全流程。
注意,需要有源代码版本的 Unreal Engine,而不是从游戏 Launcher 中下载的 Unreal 版本。
起点
可以将 Engine\Source\Programs\BlankProgram 作为模板拷贝一份,然后重新命名(可以使用文本编辑器进行全局替换之类的),这里命名成 CircleLiveLinkProvider,作为 Program 的起点。
使用 GenerateProjectFil ...
槽边往事:准备迎接后疫情时代
我觉得这篇文章写得非常好,值得作为写作的参考。
转载自公众号:槽边往事 2022 年 12 月 3 日的文章:《准备迎接后疫情时代》
昨天,家附近的许多商超通知复市;昨天,北京搭乘地铁取消48小时核酸检查;昨天,许多小区进出不再检查绿码时效;昨天,街面上的核酸检测亭悄然消失;昨天,我停滞一周多的网购包裹终于开始运送。所有人都知道疫情最终会结束,要么消灭病毒,要么和病毒共存。只是在2020年年初的时候,没有人预料到这会那么漫长,在2022年年末的时候,也没有人预料到这竟然是那么突兀。
有一个问题摆在所有人 ...
Refactoring UI 的笔记:层次
不是所有的元素都是平等的
视觉层次结构(Visual hierarchy)是指元素间关系的重要程度,它是构建具有设计感的最高效的工具。
当界面上的元素都在争夺你的注意力的时候,就会迷失重点:
淡化二级和三级信息,突出最重要的元素,即使配色方案、字体、布局都没有改变,效果也会非常不一样:
Size 不是全部(Size isn’t everything)
依靠太多的字体大小来控制层级是错误的,很容易导致主要的内容过大,而次要的内容太小。
可以考虑使用字体粗细和颜色来完成层级工作。
尝试坚持使用两到三种颜色: ...
布隆过滤器原理及其应用
解决成员查询问题的最简单且最知名的数据结构是 布隆过滤器(bloom filter)。1970 年由 Burton Howard Bloom 提出。
布隆过滤器只支持两种操作:
向集合添加一个元素。
测试一个元素是否属于该集合
布隆过滤器不支持删除操作,如果需要删除操作,可以考虑使用改进的方法,例如:计数布隆过滤器
数据结构
实际应用中,常用 比特数组 来表示布隆过滤器。假定该数组长度为 mmm,包含不同的散列函数 {hi}i=1k\{h_i\}_{i=1}^{k}{hi}i=1k。假定 mmm ...
Refactoring UI 的笔记:小白篇
本文是 Refactoring UI 一书的笔记。
从 Feature(功能) 开始,而不是 Layout(层次)
很多人一开始设计 App,首先就在想导航栏要放在哪里?
是顶部?
左边?
还是右边?
然后就陷入僵局。
从 Layout 层面去思考 UI 是有问题的,而应该直接站在所需要的功能角度。例如,你要设计一个机票预定的服务,那么出发点应该是预定的功能。
甚至完全不需要其它功能,比如这样:
后面再考虑细节(Detail comes later)
字体、阴影、图标等等这些细节最终很重要,但是这不是 ...