# Supported Formats & Standards

***

### 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: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

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

The question should be specific, self-contained, and written in natural language.
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.
