抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

使用Rust与WASM画三角形 概念 WASM是一种二进制格式,我们可以将一些语言编译为这种格式,使得代码可以在浏览器中运行 与Typescript转JavaScript不同,WASM是一种编译好的二进制,性能会比那些“编一句运行一句的代码”性能好 WASM最初是为了C/C++设计的,但也很适合使用Rust,如果你是一个Rust信徒,这套逻辑很适合你 环境安装 Windows 11 + W...

C++20特性 现在是2023年,C++23都出来很久了(尽管很多编译器没有实现全功能),但还是有着大量C++11/17的老项目,出于人力和风险的考虑并没有上新标准,我作为一个C++菜鸡,也没想着去了解C++20都更新了什么,直到最近遇到了很多语言层面的问题,于是想着学习一下C++20特性 当然这里面不止C++20 语言特性 指定初始化 可以只初始化一部分,可以指定想要初始化的部分 st...

Vulkan学习笔记 在过去,我以为Vulkan只有高端安卓才会用,相当复杂,没有下定决心去学。后来发现很多桌面和主机游戏也在用Vulkan,Vulkan真的很出色很重要,于是这几天开始看英伟达nvpro和Vulkan官方教程,打算自己敲一个小demo Vulkan API Queue 参考 what-is-actually-a-queue-family-in-vulkan Queu...

C# Attribute用法 内建功能 标记函数 比如标记函数已过时,再调用这个函数时会有绿色的波浪线,并提示你函数已过时 [Obsolete("This func is obsolete, use newFunc()")]public void OldFunc(){ // do something} 数据验证 可以确保某个数据存在 public...

CMake构建C#项目并使用DLL 项目路径 Windows cmd下使用tree /f即可生成文件路径 .│ CMakeLists.txt│ Main.cs│ p4api.net.dll│ p4bridge.dll cmake_minimum_required(VERSION 3.23)project(P4Test CSharp)set_property(GLOBAL PROP...

吸血鬼幸存者+战意 灵感起源 最近在玩战意,感觉这游戏玩法设计的有问题 主打将军梦的游戏,一次却只能带十几个兵,而且ACT玩法会给人一种这些小兵是具体的个体,而非抽象的军团,玩家扮演的是一个个十夫长(一个武将能杀几十个小兵,但绝不可能杀一个军团,但游戏中经常出现一个太刀侠杀一堆弓箭手) 小兵AI非常蠢,缺乏操作性,胜利基本取决于双方兵种的养成强度,而非操作 特别缺统御值,一场游戏只能带很少...

C/C++编译与链接 《程序员的自我修养:链接、装载与库》阅读笔记 编译 编译可以被分为四个步骤: 预编译(Prepressing) 编译(Compilation) 汇编(Assembly) 链接(Linking) 预编译 gcc -E hello.c -o hello.i cpp hello.c > hello.i 移除并展开所有#define 处理所有条件预编译指令,如#...

map 突然发现一个华科大佬的博客,学习一波 map是一种映射结构,能够存取键值对(键是唯一的) map通常有两种实现方式:哈希表(std::unordered_map)、红黑树(std::map) 哈希表 哈希表的查找删除均为O(1) 哈希表是一种空间换时间的算法,现在我们要存储一组键值对,假设键的范围是0~99,那么我们就开辟一个大小为100的数组,数组中存储了指向值的指针,于是我们...

BCN编码 之前在知乎看到有美术在吵PNG和TGA哪一个更好用,但实际上引擎里使用的贴图是需要经过编码处理为GPU友好的资源格式,比如Windows上常用BCN编码,iOS常用ASTC编码 BCN原理 By storing some colors in their original size, and other colors using an encoding scheme, you...

软光栅化遮挡剔除 DrawCall和着色十分昂贵,于是我们希望可以剔除掉那些看不见的物体,以提高性能。而简单的视锥剔除并不能剃干净场景的物体,于是需要遮挡剔除。 这篇文章是一个CPU端的遮挡剔除,需要离线制作Occlusion Mesh,但不依赖各种GPU Driven的技术 Intel认为,CPU端使用GPU生成的Depth buffer做剔除,如果你不提前开一个Depth Only Pa...