可可西

随笔分类 -  编程实践

1 2 3 4 5 ··· 10 下一页

Android下动态加载libUnreal.so
摘要:Android下动态加载so库 具体有两种方式: (1)调用 load(String filename) 方法 System.load("/data/data/com.example.mygame/files/libUnreal.so"); // 传递进去的是全路径 (2)调用 loadLibrar 阅读全文

posted @ 2025-10-26 11:34 可可西 阅读(12) 评论(1) 推荐(0)

在win10上用ndk25b编译libwebsockets-3.0 Android静态库
摘要:libwebsockets-3.0(github)代码库:https://github.com/EpicGames/ThirdParty/tree/master/libwebsockets-3.0 ndk25b:https://dl.google.com/android/repository/and 阅读全文

posted @ 2025-09-06 15:25 可可西 阅读(30) 评论(0) 推荐(0)

D3D12中同步机制
摘要:命令列表(Command List) 命令列表(Command List):ID3D12GraphicsCommandList 是 ID3D12CommandList 的子类,其中定义了很多状态设置函数,调用其中的函数,就向命令列表添加一个状态设置命令 有了命令列表可以更好的利用 CPU 多线程能力 阅读全文

posted @ 2025-07-31 23:23 可可西 阅读(113) 评论(0) 推荐(0)

Xcode之PGO机制
摘要:PGO (Profile-guided optimization)是指利用程序运行过程中采集到的 profile 数据,来重新编译程序以达到优化效果的 post-link 优化技术。它是一种通用技术,不局限于某种语言 具体过程是:首先要对程序进行剖分埋点(Profile),收集程序实际运行的数据生成 阅读全文

posted @ 2025-06-30 20:46 可可西 阅读(49) 评论(0) 推荐(0)

HLSL中Clip函数的使用
摘要:在 HLSL(High - Level Shading Language)中,clip()函数用于在片元着色器(Pixel Shader)中丢弃特定片元,实现裁剪效果,常用于透明物体剔除、遮罩渲染等场景。 核心作用 丢弃片元:若输入参数 小于 0,则丢弃当前片元(不进行渲染) 语法格式:clip(f 阅读全文

posted @ 2025-05-15 11:43 可可西 阅读(250) 评论(0) 推荐(0)

llvm之opt工具
摘要:opt 是 LLVM 工具链中的一个核心工具,主要用于对 LLVM 中间表示(IR)进行优化、分析和转换 它是 LLVM 优化器和代码转换框架的入口,支持通过 Pass(优化/分析过程) 对 IR 进行各种操作,广泛应用于编译器开发、性能调优和 IR 分析 以下是 opt 工具的主要功能及用途: 优 阅读全文

posted @ 2025-04-21 00:03 可可西 阅读(416) 评论(0) 推荐(0)

llvm之wasm-ld工具
摘要:wasm-ld 是 LLVM 项目中的 WebAssembly 专用链接器,负责将多个 WebAssembly 目标文件(.o 或 .obj)和库文件链接为最终的 .wasm 二进制模块 它针对 WebAssembly 的独特特性(如沙箱环境、模块化、线性内存模型等)设计,支持生成高效且符合规范的 阅读全文

posted @ 2025-04-19 20:27 可可西 阅读(155) 评论(0) 推荐(0)

llc编译wasm64文件报warning:'+neon' is not a recognized feature for this target (ignoring feature)
摘要:llc.exe -march=wasm64 -filetype=obj patch.ll -o patch.o 报如下warning: '+neon' is not a recognized feature for this target (ignoring feature) '+neon' is 阅读全文

posted @ 2025-04-19 19:59 可可西 阅读(83) 评论(0) 推荐(0)

UE4之PhysX物理基础
摘要:UE4默认会创建简单碰撞和复杂碰撞两种形态,然后基于用户需要进行Query(简单查询 vs 复杂查询), PhysX会使用相应形态来进行碰撞检测(Collision Detection)。 常见的物理查询有三种:Raycast(零大小的射线检测,即有向线段)、Sweep(非零大小的检测,即扫掠体)和 阅读全文

posted @ 2025-02-28 23:29 可可西 阅读(555) 评论(0) 推荐(0)

在Win10上编译LLVM
摘要:代码仓库:https://github.com/llvm/llvm-project LLVM_TARGETS_TO_BUILD -DLLVM_TARGETS_TO_BUILD="X86;PowerPC". The full list, as of March 2023, is: AArch64;AM 阅读全文

posted @ 2025-01-20 16:57 可可西 阅读(400) 评论(0) 推荐(0)

使用Emscripten进行WebAssembly web开发
摘要:测试源代码 math.c内容如下: #include <stdio.h> int add(int a, int b) { return a+b; } int mul(int a, int b) { return a*b; } void Test(int a, int b) { int r1 = ad 阅读全文

posted @ 2024-12-29 23:55 可可西 阅读(129) 评论(0) 推荐(0)

WebAssembly基础
摘要:随着JavaScript语言的诞生,浏览器从单纯的内容展示工具升级为应用运行平台,开启了全新的Web时代。 然而,新的问题开始显露出来:JavaScript的运行速度太慢了。2008年,Google公司推出了Chrome浏览器,并在其内部搭载了全新设计的JavaScript引擎V8。 通过使用JIT 阅读全文

posted @ 2024-12-26 20:57 可可西 阅读(1108) 评论(0) 推荐(0)

python3启动一个本地http服务器
摘要:在windows中,使用python版本为Python 3.6.3 编写index.html网页 在当前目录F:\httpTest下,新建index.html,内容如下: <!DOCTYPE html> <head> <meta charset="utf-8"> <title>Http Test</ 阅读全文

posted @ 2024-12-26 19:37 可可西 阅读(466) 评论(0) 推荐(0)

生成LLVM IR及其CFG图
摘要:math.c代码 int add(int a, int b) { return a+b; } int mul(int a, int b) { return a*b; } void Test() { int r1 = add(1,2); int r2 = mul(3,4); } 编译生成IR中间代码m 阅读全文

posted @ 2024-12-25 22:58 可可西 阅读(426) 评论(0) 推荐(0)

渲染指令提交到GPU与等待执行完
摘要:CPU执行渲染指令,是不会立即发送给GPU硬件的。它们首先被送到驱动的指令缓冲区,当缓冲区满或执行某个函数,然后才被发送到GPU硬件上去执行。 注:PC上缓冲区满会被发送到GPU,而Mobile下即使缓冲区满也不会发送,除非pass结束或执行执行某个函数 发送到GPU后会立即返回,不会等待GPU执行 阅读全文

posted @ 2024-11-20 00:50 可可西 阅读(239) 评论(0) 推荐(0)

UE4获取玩家视角相机的位置和朝向
摘要:游戏线程(GameThread) 编辑器中(EWorldType::Editor,模拟运行或编辑状态) bool GetObserverView(FVector& Location, FRotator& Rotation) const { // We are in the SIE(Simulate 阅读全文

posted @ 2024-09-16 19:39 可可西 阅读(788) 评论(0) 推荐(0)

UE4中OpenGLES和Vulkan特性开启
摘要:OpenGLES 在Android手机上使用OpenGLES的RHI来启动游戏 [2022.06.14-10.28.57:996][ 0]LogAndroid: |AndroidPlatformMisc.cpp:2332|VulkanRHI will NOT be used: [2022.06.14 阅读全文

posted @ 2024-07-10 22:18 可可西 阅读(423) 评论(0) 推荐(0)

UE4之LoadingScreen机制
摘要:1. 当IsMoviePlayerEnabled()为false或使用nullrhi来运行游戏时,会使用FNullGameMoviePlayer(空MoviePlayer)来跑 2. FDefaultGameMoviePlayer为实现LoadingScreen的核心类,包括视频数据流(IMovie 阅读全文

posted @ 2024-06-20 23:27 可可西 阅读(564) 评论(0) 推荐(0)

UE4中PhysX BroadPhase(碰撞检测的粗略阶段)
摘要:PhysX的BroadPhase(碰撞检测的粗略阶段),具体是用AABB(轴向包围盒)来做碰撞检测 具体算法有两种:SAP(Sweep And Prune)和MBP(Multi Pruning Box,多个剪枝盒) SAP(Sweep And Prune) 当场景中有大量的物体(大世界有百万级别)时 阅读全文

posted @ 2024-05-29 23:02 可可西 阅读(638) 评论(0) 推荐(0)

UE4之宏与预编译指令定义
摘要:在UBT中添加宏定义 UnrealEngine\Engine\Source\Programs\UnrealBuildTool\Configuration\ModuleRules.cs UnrealEngine\Engine\Source\Programs\UnrealBuildTool\Config 阅读全文

posted @ 2024-05-25 16:53 可可西 阅读(1804) 评论(0) 推荐(0)

1 2 3 4 5 ··· 10 下一页

导航