openjpeg
Ambient
Our great sponsors
openjpeg | Ambient | |
---|---|---|
7 | 23 | |
938 | 3,724 | |
1.2% | 1.7% | |
7.8 | 9.9 | |
8 days ago | 4 months ago | |
C | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
openjpeg
-
Can we make a guide for morons on how to install OpenEFT on a clean WSL install?
mkdir ~/install cd ~/install wget https://github.com/uclouvain/openjpeg/archive/master.zip unzip master.zip cd openjpeg-master/ mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make sudo make install sudo make clean cd
-
We're still not game, but there has been progress. A progress report.
Details here, if you like reading bug reports. It took the cooperation of developers at all four levels to fix this. I wrote a test project to reproduce the problem, the jpeg2k developer was able to reproduce the problem under valgrind (a tool for finding bad pointer references in C, seldom needed by Rust users), an OpenJPEG developer fixed the C code, and everybody in the chain updated versions. Thanks to everyone who had a part in this.
-
Live2D Is a Security Trainwreck
> The whole file is effectively a write-what-where primitive2. In addition to that, the Count Info Table is not bounds checked either...
File formats like that, with many offsets in the file, are troublesome. There used to be more formats like that. Microsoft Word .doc is the classic example.
OpenJPEG 2000 has a similar problem. I just hit that yesterday.[1] Valgrind is finding references to un-initialized data which affect control flow, and running the JPEG decoder on valid but truncated files (which is allowed) is causing bad memory reference crashes and errors.
New formats like this are rare. People have learned. A modern exception is Unreal Engine 5's Nanite has much offset data, and there may be an attack surface there for hostile game content. Nanite is a way to store a graphics mesh with both multiple levels of detail and common submeshes. It's a hierarchy of directed acyclic graphs, flattened into a linear file with offsets. And, sure enough, there are many crash reports. At least Unreal provides a validator for the format.
(If only C/C++ had slices in the language. Most of the things for which pointer arithmetic is used can be done with slices. Slices really are pointer arithmetic, with sanity.)
[1] https://github.com/uclouvain/openjpeg/issues/1459
-
We're not really game yet.
JPEG 2000 decoder crashes Trying to read files at reduced resolution crashes with memory access errors. This is jpeg2k (Rust) calling jpeg2000-sys (Rust glue to C foreign function interfaces) calling OpenJPEG (all C). The problem can now be reproduced at the C level alone, under Valgrind. The developers of the top two levels have been very helpful, but the trouble is down in the rather painful C code at the bottom. The OpenJPEG maintainers are way behind on fixes, despite being funded.
-
Is JPEG 2000 a preservation risk? (2013)
It certainly was a risk in 2013, when the open source libraries were slow and riddled with bugs. Today, there are two stable, well maintained and fast open source libraries available:
https://github.com/uclouvain/openjpeg
- What’s the best lossless image format?
Ambient
- FLaNK Stack Weekly 09 Oct 2023
-
Show HN: Ambient, a multiplayer game engine and platform using WASM/WebGPU/Rust
Hi, this is Kuba from Ambient team, I work on Ambient backend.
The servers in question are part of the main Ambient application [0]. The server part is open-source just like the rest of the engine. You can start your own server using native build of Ambient (check cli help for `ambient serve`).
As for the orchestration and creating servers on demand, we are using Kubernetes and Agones [1]. Both of them are open too. We just have a thin API server that receives requests that a server is needed, checks if there's already one running and if not it uses Agones to allocate one.
[0]: https://github.com/AmbientRun/Ambient
- How do I run multiple "game rooms" in Bevy / Renet / Rapier on the server?
-
Bevy and WebGPU
Intriguing development! It's quite refreshing to witness Bevy hopping onto the WebGPU bandwagon. I can't help but wonder about the complexity involved in transitioning an existing codebase from WebGL to WebGPU in such a compressed timeline.
On a similar note, Ambient (https://github.com/AmbientRun/Ambient) has been on my radar for their utilization of WebGPU, though they seemingly lack a tangible web demo. Anyone have any insights or comparisons to share?
- Ambient 0.2 – Multiplayer games and apps with Rust, WebAssembly and WebGPU
- Ambient – The Rust Multiplayer Game Engine Releases 0.2
-
Ambient 0.2: multiplayer UI, sound, clientside WASM, and more
- Finally, our UI framework, Ambient UI, can now be used from guest code. Combined with our networking and ECS, this unlocks an exciting new capability: multiplayer UI!
In the blog post, we walk through the creation of a basic multiplayer beat sequencer using these features. We're excited to see what else the community can cook up :)
- Download: <https://github.com/AmbientRun/Ambient/releases/tag/v0.2.0>
Download: https://github.com/AmbientRun/Ambient/releases/tag/v0.2.0
-
Does anyone here work in gamedev with Rust as their primary language?
I work on Ambient, an open-source platform for streamed[1] multiplayer games written entirely in Rust. We're a Swedish startup that supports remote and we're hiring for self-starters - if you think you can flourish in a startup environment, feel free to apply!
What are some alternatives?
grok - World's Leading Open Source JPEG 2000 Codec
jpeg2000-decoder - Decodes JPEG 2000 images in a subprocess, for safety
ui-mock
thirdroom - Open, decentralised, immersive worlds built on Matrix
renet - Server/Client network library for multiplayer games with authentication and connection management made with Rust
bevy - A refreshingly simple data-driven game engine built in Rust
jasper - Official Repository for the JasPer Image Coding Toolkit
wgpu - Cross-platform, safe, pure-rust graphics api.
neatvnc - A liberally licensed VNC server library with a clean interface