Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 81 additions & 0 deletions extensions/2.0/Vendor/MSFT_texture_xnb/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# MSFT_texture_xnb

## Contributors

* Dean Ellis, MonoGame

## Status

Draft

## Dependencies

Written against the glTF 2.0 spec.

## Overview

This extension adds the ability to specify textures using the XNA Binary format (XNB). An implementation of this extension can use the textures provided in the XNB files as an alternative to the PNG or JPG textures available in glTF 2.0.

The extension is added to the `textures` node and specifies a `source` property that points to the index of the `images` node which in turn points to the XNB texture file. A client that does not understand this extension can ignore the XNB file and continue to rely on the PNG or JPG textures specified.

```json
"textures": [
{
"source": 0,
"extensions": {
"MSFT_texture_xnb": {
"source": 1
}
}
}
],
"images": [
{
"uri": "defaultTexture.png"
},
{
"uri": "XNBTexture.xnb"
}
]
```

When used in the glTF Binary (.glb) format the `images` node that points to the XNB file uses the `mimeType` value of *image/vnd.ms-xnb*.

```json
"textures": [
{
"source": 0,
"extensions": {
"MSFT_texture_xnb": {
"source": 1
}
}
}
],
"images": [
{
"mimeType": "image/png",
"bufferView": 1
},
{
"mimeType": "image/vnd.ms-xnb",
"bufferView": 2
}
]
```

## glTF Schema Updates

* **JSON schema**: [glTF.MSFT_texture_xnb.schema.json](schema/glTF.MSFT_texture_xnb.schema.json)

## Known Implementations

This extension is used by users of XNA like frameworks such as MonoGame, FNA and KNI to load glTF files at runtime by including XNB textures.

## Resources

* **XNB Format Specification**: [XNB%20Format.docx](https://docs.monogame.net/articles/getting_to_know/whatis/content_pipeline/XNB%20Format.docx)

## License

MonoGame has made this Specification available under the Open Web Foundation Agreement Version 1.0, which is available at https://www.openwebfoundation.org/the-agreements/the-owf-1-0-agreements-granted-claims/owfa-1-0.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "MSFT_texture_xnb extension",
"type": "object",
"description": "glTF extension to specify textures using the XNA Binary format (XNB).",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"source": {
"allOf": [ { "$ref": "glTFid.schema.json" } ],
"description": "The index of the images node which points to a XNB texture file."
},
"extensions": {},
"extras": {}
}
}