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

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...

grep搜索lib grep 前几天写代码发现链接不到某个函数,同事说我肯定少链接了一个.lib文件,然我却不知道少链接了谁 同事交给我一个小技巧,lib文件本质是一个代码压缩包,是可以对里面的内容进行搜索的,在Linux(WSL)中进入存放.lib的库,输入命令 grep -r <函数名> . 就会匹配vkCmdBeginDebugUtilsLabelEXT这个函数在哪一个.l...

雨雪图 现在游戏大多会有天气系统,尤其是雨天雪天 在雨天和雪天静态物上面要覆盖一层雪,可以参考Shadow Map的方法,从顶部向下绘制一张深度图(一般只收集静态物),运行时比较深度即可判断像素是否在最上面 值得注意的是玻璃等半透明物体按不透明的方式绘制深度图 参考 Water drop

C++获取CPU型号 不同CPU的指令集有所差异,尤其是在使用SIMD之类的feature时要十分注意,以MSVC获取CPU型号为例 核心是使用指令__cpuid,其实你也可以__asm {}自己写汇编 #include <iostream>#include <string>#include <intrin.h>#include &...