洞察探索如何利用兼容微信生态的小程序容器,实现跨平台开发,助力金融和车联网行业的数字化转型。
911
2022-10-29
rapp 一个提供跨平台应用程序入口点和附加功能的库
rapp is a library that provides cross-platform application entry point and additional functionality. rapp is heavily based on bgfx examples entry point code that can be found here. Graphics code is still bgfx based but..
...dependecy on bx and bgfx has been removed by aggressively copying code and by a special feature of build system that allows to have the same library in a 'solution' with different configurations. To clarify, in the screenshot below first sample (command line) links against rapp and rbase while the second one (graphics) links against rapp_bgfx, rbase, bx, bimg and bgfx - this is all automated.
Thanks to multiple configurations per project feature of build, script taking care of this is very short and can be seen here, basically it just enables a library wide define.
Features
rapp currently has the following functionality:
Applications written as classes with init/shutdown/suspend/resume functionalityCommand line (tools, unit tests, etc.) or graphics applications (games, etc.)Custom commandsInput controllers (mouse, keyboard, gamepad, etc.) with input binding callbacks and debug visualizationsAbility to run code on main/message loop threadJob scheduler with job stealing for fine grained parallelismImGui and NanoVG integrationQuake like console - ImGui basedMultiple applications in one binaryWindow functions
Platform support
Input (KMG) | Threading | Console | Graphics | |
---|---|---|---|---|
Windows | ✓✓✓ | ✓ | ✓ | ✓ |
Xbox One | ✓✓✓ | ✓ | ✓ | ✓ |
PlayStation 4 | ✓✓✓ | ✓ | ✓ | ✓ |
Linux | ✓XX | ✓ | ✓ | ✓ |
Android | XXX | ✓ | ? | ✓ |
OSX | ✓✓X | ✓ | ✓ | ✓ |
✓ - Working X - Not yet implemented ? - Not supported
Platforms with partial implementations or not tested: iOS, UWP, FreeBSD Input (KMG) stands for Keyboard, Mouse and Gamepad
Source Code
You can get the latest source code by cloning it from github:
git clone https://github.com/milostosic/rapp.git
Dependencies
Dependencies can be obtained by cloning the following repositories:
git clone https://github.com/milostosic/build.gitgit clone https://github.com/milostosic/rbase.git
To build samples based on bgfx, clone the following repositories:
git clone https://github.com/bkaradzic/bgfx.gitgit clone https://github.com/bkaradzic/bimg.gitgit clone https://github.com/bkaradzic/bx.git
Author
License (BSD 2-clause)
Copyright (c) 2018 Milos Tosic. All rights reserved.https://github.com/milostosic/rappRedistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS ORIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OFMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NOEVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ANDON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OFTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~