LWJGL / lwjgl3

LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan, bgfx), audio (OpenAL, Opus), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR, OpenXR) applications.
https://www.lwjgl.org
BSD 3-Clause "New" or "Revised" License
4.75k stars 635 forks source link

Binding for xatlas #864

Open hexagontomn opened 1 year ago

hexagontomn commented 1 year ago

Library

xatlas

Project page

https://github.com/jpcy/xatlas

Source repository

https://github.com/jpcy/xatlas

Platforms

Linux x64, Linux arm64, Linux arm32, macOS x64, macOS arm64, Windows x64, Windows x86, Windows arm64

Description

Xatlas is a fork of a tool originally written for the game The Witness. It takes a 3D mesh and generates unique texture coordinates for it. You can then use these, for instance, to implement texture painting or to bake normal vectors into textures before simplifying the mesh. Hence, I think it would make an excellent complement to the existing MeshOptimizer binding, giving LWJGL users a nice set of tools for processing and optimizing 3D mesh data in various ways.

I marked all platforms as supported because xatlas consists of a single source+header file and has no external dependencies. Admittedly, I didn't thoroughly check whether there's anything in the code that would prevent it from being compiled on certain platforms. For me personally, I would at least like to have x64 on Windows, Linux and Mac.

ws909 commented 1 year ago

This is a C++ project. If it uses templates for its public API, that may be an issue.

hexagontomn commented 1 year ago

It also has a vanilla C API: https://github.com/jpcy/xatlas/blob/master/source/xatlas/xatlas_c.h