> For the complete documentation index, see [llms.txt](https://docs.viverse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.viverse.com/polygon-streaming/supported-formats-and-standards.md).

# Supported Formats & Standards

This page details the file types and formats supported in VIVERSE Polygon Streaming.

***

### Supported 3D Formats:

Polygon Streaming supports the following formats:

* **.GLB**
* **.glTF** (zipped)
* **.OBJ** (zipped)

It’s **highly recommended** to use a single **.GLB** file to convert your 3D models. This will ensure that the file contains all the necessary data, and its following the correct standards used during conversion. **3D models must be a triangulated mesh with PBR materials following metallic-roughness standards.**

* In case you use a **.glTF** model, all the necessary files need to be zipped into a single **.zip** file. It should at least contain a **.gltf** file, a **.bin** file and all the texture images in the formats **.jpg** or **.png**.
* In case you use a **.OBJ** model, all the necessary files need to be zipped into a single **.zip** file. It should contain a **.obj** file, a **.mtl** file, and all the texture images in the formats **.jpg** or **.png**, making sure they are properly set and connected. You can also upload a single **.obj** file in case there are no textures or .mtl file needed.&#x20;

{% hint style="info" %}
Note that in case the textures are not properly connected in your file, they will appear as plain white after conversion. A single .obj file will always look plain white since it doesn’t contain material or texture information.
{% endhint %}

### Lightmap Support

Image-based lighting (or "lightmapping") can save GPU processing time by baking real-time lighting information into static images that are then overlaid on models as texture maps. Currently, a single lightmap is supported via a separate file. When uploading your model to <https://stream.viverse.com/>, package it in a `.zip` file containing your `.glb` or `.obj` and a file named either `lightmap.hdr` or `lightmap.png`. This lightmap will be automatically applied to the Streaming Model inside PlayCanvas when running the VIVERSE Create SDK, and should be using the first UV set, often called `UV0`. There is no size limit to this lightmap, but most browser will error on image files larger than 8k. *To reiterate, only one (1) lightmap file is supported at this time.*

### Supported Image Formats

* JPG
* PNG
* BMP
* KTX

### Supported PBR Standard Texture Maps:

* Diffuse/Albedo
* Metallic/Roughness
* Transparency/Opacity
* Normals
* Ambient Occlusion
* Emissive

### Supported glTF Extensions:

* KHR\_draco\_mesh\_compression
* KHR\_materials\_unlit
* KHR\_texture\_basisu
* KHR\_materials\_specular
* KHR\_materials\_pbrSpecularGlossiness
* KHR\_texture\_transform
* KHR\_materials\_ior
* KHR\_materials\_transmission
* KHR\_materials\_volume
* KHR\_materials\_clearcoat


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.viverse.com/polygon-streaming/supported-formats-and-standards.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
