【physx/wasm】在physx中添加自定义接口并重新编译wasm

目录

  • 说在前面
  • 环境搭建
  • 编译
  • 自定义接口

说在前面

  • 操作系统:windows11+wsl2
  • physx版本:5.3.1
  • 参考:physx-js-webidl (physx版本为该作者fork出的某个版本)

环境搭建

  • 这里使用的是wsl2+docker进行编译的,搭建步骤参考:WSL2 上的 Docker 远程容器入门
  • dockerwsl2下的安装使用有两种方式,即上述链接中使用的安装Docker Desktop以及在wsl2中直接安装docker的方式
  • 建议使用安装Docker Desktop的方式
  • docker compose安装

编译

  • clone仓库

    git clone https://github.com/fabmax/physx-js-webidlcd physx-js-webidlgit submodule update --init
    
  • 在wsl2中执行

    # Build the image
    docker compose up# Build Release
    docker compose run --rm builder ./make.sh
    
  • 正常编译过程如下

    docker compose run --rm builder ./make.sh
    WARN[0000] /mnt/d/physx-js-webidl/docker-compose.yaml: `version` is obsolete
    rm: cannot remove 'sdk_source_bin/physx-js-webidl.*': No such file or directory
    [  3%] Built target PhysXFoundation
    Consolidate compiler generated dependencies of target LowLevel
    [  6%] Built target LowLevel
    [  8%] Built target LowLevelAABB
    [ 13%] Built target LowLevelDynamics
    [ 13%] Built target PhysXTask
    Consolidate compiler generated dependencies of target PhysXCommon
    [ 49%] Built target PhysXCommon
    [ 50%] Built target SceneQuery
    Consolidate compiler generated dependencies of target SimulationController
    [ 61%] Built target SimulationController
    [ 64%] Built target PhysXPvdSDK
    Consolidate compiler generated dependencies of target PhysX
    [ 74%] Built target PhysX
    [ 76%] Built target PhysXCharacterKinematic
    [ 76%] Built target PhysXCooking
    [ 76%] Built target FastXml
    [ 91%] Built target PhysXExtensions
    [ 95%] Built target PhysXVehicle
    [ 99%] Built target PhysXVehicle2
    [100%] Built target physx-js-bindings
    [100%] Building physx-js-webidl webassembly
    cache:INFO: generating system asset: symbol_lists/f2bd8d746d6715009fc24cdf2c62977da469a12b.json... (this will be cached in "/emsdk/upstream/emscripten/cache/symbol_lists/f2bd8d746d6715009fc24cdf2c62977da469a12b.json" for subsequent builds)
    cache:INFO:  - ok
    [100%] Built target PhysXWasmBindings
    
  • 问题1:docker compose命令不存在
    安装docker-compose。(如果使用的是DockerDesktop,默认是有该命令的,docker compose)

  • 问题2:.sh编码格式不正确

    -bash: ./make.sh: /bin/bash^M: bad interpreter: No such file or directory
    

    可以在vscode将其转换成LF
    在这里插入图片描述

    在这里插入图片描述

自定义接口

  • 在本文中,添加了一个与createCollectionFromXml同级的接口,
    首先我们需要实现该接口:
    在这里插入图片描述在这里插入图片描述
    而后在idl文件中添加对应描述,其路径为
    .\PhysX\physx\source\webidlbindings\src\wasm\PhysXWasm.idl
    
    在这里插入图片描述
  • 最后重新编译即可,在生成的physx-js-webidl.js可以看到新增的接口
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/707483.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python BUG】一文解决Jupter Notebook虚拟环境切换失败问题

问题描述 在conda中创建了单独的pachong环境,并且在Pycharm等编辑器中完全可以进行使用、开发。但在Notebook中使用自带的切换按钮也没用,同时,在网上搜索了一些方法也没有解决。 解决方案 (前提是我已经有了需要的添加的虚拟环…

基于springboot实现名城小区物业管理系统项目【项目源码+论文说明】

基于springboot实现名城小区物业管理系统演示 摘要 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前相关行业对于物业信息的管理和控制,采用人工登记的方式保存相关数据&…

如何给实拍添加旋转模糊效果?视频模糊特效PR模板剪辑素材

PR特效模板,高级旋转模糊效果视频模板剪辑素材。 特征: After Effects 2019及以上兼容项目。 Premiere Pro 2021及以上兼容项目。 可用分辨率(4K–HD–方形–移动)。 不需要插件。 包括教程。 免费下载:https://prmu…

医院污水一体化处理设备有哪些

医院污水一体化处理设备通常包括以下几个主要组件: 预处理单元:用于去除污水中的固体悬浮物、颗粒物、油脂等,常见的预处理单元包括格栅、沉砂池、油水分离器等。生物处理单元:用于降解有机物质和去除氮、磷等营养物质。常见的生物…

VSCode:设置搜索时的排除目录

VSCode搜索时默认会搜索目录下所有文件 $ tree . ├── a.c ├── m.c └── x └── b.c //a.c #include <stdio.h> #include <string.h>int main() {char s[] "hello\n";fprintf(stdout, s, strlen(s));return 0; } //m.c #include <stdio…

做DFMEA最难点,功能分析如何做?——FMEA软件

​免费试用FMEA软件-免费版-SunFMEADFMEA&#xff0c;即设计失效模式与影响分析&#xff0c;是一种在产品设计阶段就预见并预防潜在失效模式的重要工具。然而&#xff0c;在DFMEA的众多步骤中&#xff0c;功能分析无疑是其中的一大难点。它要求我们深入理解产品的各个系统、部件…

python高级爱心代码

python高级爱心代码实现&#xff1a; import turtle import random # 设置画布 screen turtle.Screen() screen.bgcolor("black") # 创建画笔 pen turtle.Turtle() pen.speed(0) pen.color("red") pen.penup() # 移动画笔到起始位置 pen.goto(0, -20…

postgres 修改系统时间测试

修改系统时间 [rootmmsql01 ~]# date 2024年 05月 16日 星期四 13:07:02 CST [rootmmsql01 ~]# timedatectl set-time "2024-05-16 13:30:00" [rootmmsql01 ~]# date 2024年 05月 16日 星期四 13:30:03 CST [rootmmsql01 ~]# timedatectl set-time "2024-05-16…

AVDemo漏洞平台黑盒测试

信息收集 说明一下&#xff1a; 因为是本地的环境&#xff0c;端口这些就不扫描了&#xff0c; 还有这个是某个dalao写的平台&#xff0c;也就检测不到什么cms了&#xff0c; 信息收集&#xff0c;端口&#xff0c;cms这些是必做的&#xff0c; 首先&#xff0c;这里先简单的…

SuperMap iDesktopX 对河流面等分并分段渲染

作者&#xff1a;lzzzz 前言 在项目场景中&#xff0c;可能会遇到一条河流中要分段渲染不同的水深&#xff0c;水质指数等&#xff0c;这时&#xff0c;就需要对河流面进行等分操作&#xff0c;手动绘制工作量又较大&#xff0c;因此&#xff0c;我们实践了使用SuperMap iDeskt…

【MATLAB】fminsearchbnd()函数安装包下载

fminsearchbnd()函数 链接&#xff1a;https://pan.baidu.com/s/1apc6_f92rDnV_NwHpZZpDQ?pwdxul8 提取码&#xff1a;xul8 fminsearchbnd, fminsearchcon - File Exchange - MATLAB Central (mathworks.cn) 若链接失效&#xff0c;可以自行注册下载&#xff0c;操作也很简…

计算机网络学习记录 数据链路层 Day3 (上)

计算机网络学习记录 数据链路层 Day3&#xff08;上&#xff09; 你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客 这是我的 github https://github.com/Qiuner gitee https://gitee.com/Qiuner 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 &#x1…