GDB调试 Jul 9, 2023 操作系统会记录运行过程中所有行为、资源申请、内存使用情况,当程序出现异常情况时,操作系统就会把它记录的情况写入到core文件,这个行为叫吐核。linux系统为了让用户有良好的体验,默认设置为不吐核. 在命令行执行:ulimit -c unlimited,该命令只是临时有效,如果想长期有效需要把它写入终端配置文件。 ulimit ulimit – 用户资源限制命令 1、说明: u...
测试框架 Jun 18, 2023 GTest gtest是一个跨平台(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)的C++测试框架,有google公司发布。gtest测试框架是在不同平台上为编写C++测试而生成的。 git clone https://github.com/google/googletest git checkout release-1.8.0...
pocketgl Jun 1, 2023 pocketgl支持在自己的web页面集成类似 Shadertoy、 Threejs 等基于webGL 的渲染图形窗口, 并且拥有shader代码高亮编辑器支持实时修改和预览。 其自带的mesh包含两个Sphere 和 Teaport, 同时支持上床自定义的网格 和 背景天空盒。其既支持像Shadertoy 这种只包含frag 的着色器, 可以用来实现一些后处理效果和 SDF配合Ray...
Shader中的偏阶导数 May 19, 2023 偏导数函数(HLSL中的ddx和ddy,GLSL中的dFdx和dFdy)是片元着色器中的一个用于计算任何变量基于屏幕空间坐标的变化率的指令(函数)。在WebGL中,使用的是dFdx和dFdy,还有另外一个函数fwidth = dFdx + dFdy。 偏导数计算 在三角形栅格化期间,GPU会同时跑片元着色器的多个实例,但并不是一个pixel一个pixel去执行的,而是将其组织在2x...
云渲染 Apr 19, 2023 WebRTC 本身提供的是 1 对 1 的通信模型,在 STUN/TURN 的辅助下,如果能实现 NAT 穿越,那么两个浏览器是可以直接进行媒体数据交换的;如果不能实现 NAT 穿越,那么只能通过 TURN 服务器进行数据转发的方式实现通信。目前来看,Google 开源的用于学习和研究的项目基本都是基于 STUN/TURN 的 1 对 1 通信。 Mesh 方案,即多个终端之间两两进行连接...
AI布料模拟 Feb 19, 2023 传统在游戏中实现大多是插件的方式实现, 比如Unity的Magica Cloth, Unreal 里的 uDraper。大多基于AI的布料解算封装在插件中, Magica Cloth Magica Cloth 是一款Unity上的高速布料模拟器,完全使用自己的物理引擎,因此,它完全不会干扰Unity的物理系统。其代码实现基于job system 在CPU上多线程运行。 ...
unreal 集成第三方算法库 Jan 8, 2023 库工程设置 vs创建一个动态链接库工程: 在属性面板里开启调试符号, 调试信息格式设置为用于“编辑并继续”的程序数据库 编译生成 .dll 和 .lib 第二种方式就是通过 CMake, 去CMake 官网下载相关的编译软件, 然后编写CMakelist.txt cmake_minimum_required(VERSION 2.8) if ( WIN32 AND NOT ...
Unity Scripting Runtime Dec 4, 2022 Unity支持的语言,有如 c#, UnityScript, Boo。 其中Boo 是 Python风格的面向对象的语言, 使用的用户很少, UnityScript 是 JavaScript风格的OOP语言, 面向初学者, 这两种语言目前已经被官方停止支持。 c#目前支持最完善, 游戏开发者最易接受 Java风格的开发者语言, 支持 JIT(Mono) 与 AOT(IL2CPP)。 ...