You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
_The Inochi2D logo was designed by [James Daniel](https://twitter.com/rakujira)_
7
6
8
7
# Inochi2D
9
8
[](https://patreon.com/clipsey)
Inochi2D is a library for realtime 2D puppet animation and the reference implementation of the Inochi2D Puppet standard. Inochi2D works by deforming 2D meshes created from layered art at runtime based on parameters, this deformation tricks the viewer in to seeing 3D depth and movement in the 2D art.
13
16
@@ -27,19 +30,52 @@ This repository is purely for the standard and is not useful if you're an end us
27
30
28
31
29
32
30
-
# Documentation
31
-
Documentation is currently in the process of being written for the spec and the official tools. You can find the official documentation page [here](https://docs.inochi2d.com).
The reference implementation available here currently requires a OpenGL 3.1 context to function, `inInit` should be called *after* a OpenGL 3.1 (or higher) context has been established.
38
+
# Using the Inochi2D SDK
37
39
38
-
We will be working on splitting the rendering out from the frontend, so that developers can plug their own backend in. We provide [inochi2d-c](https://github.com/Inochi2D/inochi2d-c) as a way to use this library from non-D languages, additionally a second workgroup is making a pure Rust implementation of the Inochi2D specification over at [Inox2D](https://github.com/Inochi2D/inox2d).
40
+
Inochi2D can both be used in and outside of DLang, to use Inochi2D in your D project just add it from dub.
41
+
To use Inochi2D within a project written in another language, a C FFI is provided.
39
42
40
-
43
+
To compile using the C FFI you must have the `LDC2` compiler installed and the `dub` build system,
44
+
run the following command to build the SDK:
45
+
```
46
+
dub build --config=dynamic
47
+
```
41
48
49
+
If your target graphics library does not allow 2D vectors to be used when passing position data
50
+
to the GPU, you can add `--d-version=IN_VEC3_POSITION` as an argument, which will change the
51
+
VtxData to use a 3D vector to store the vertex position.
42
52
43
-
---
53
+
## Build Configurations
54
+
Add with `--config=`
55
+
56
+
| Type | Use |
57
+
| --------: | :-------------------------- |
58
+
|`static`| Static D-only library. |
59
+
|`dynamic`| Dynamic library with C FFI. |
60
+
61
+
## Build Types
62
+
Add with `--build=`
44
63
45
-
The Inochi2D logo was designed by [James Daniel](https://twitter.com/rakujira)
64
+
You can pass the following build types to Inochi2D.
0 commit comments