# How to configure

The plugin can be configured through the ApeOgre21RenderPlugin.json file.

![ApeOgre21RenderPlugin.json](https://4044724383-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LEyKyxZqxfQ560k-THK%2F-LnBj9mKsyKtql5JYdOf%2F-LnBz42s-nrI7--KKq2W%2Fogre21_howtoconf01.PNG?alt=media\&token=9453d270-2fb2-4d18-9aca-2dae3659810a)

You can set various configurations here. The RenderSystem option can be set as DX11 or OGL. \
In the renderWindos options you can specify the number of windows and their parameters like name, resolution, misc parameters, viewports, etc.

The apeOgre21RenderPlugin answers the following event groups:

* NODE&#x20;
* LIGHT&#x20;
* CMAERA
* GEOMERTY\_FILE
* GEOMETRY\_INDEXEDFACESET
* GEOMETRY\_INDEXEDLINESET
* MATERIAL\_FILE
  * MATERIAL\_FILE\_SETASSKYBOX
  * MATERIAL\_FILE\_TEXTURE
  * MATERIAL\_FILE\_GPUPARAMETERS
* MATERIAL\_PBS

The GEOMETRY\_FILE event group is responsible for loading object from  .mesh files.

You can call these events from your own plugins in ApertusVR. To create your own plugin use this guide:

{% content-ref url="../../developers/getting-started/creating-a-plugin" %}
[creating-a-plugin](https://apertus.gitbook.io/vr/developers/getting-started/creating-a-plugin)
{% endcontent-ref %}

#### Configuring glTF:

If you are using .glTF files you have addicional configuring options in apeAssimpAssetLoaderPlugin.json at ..\ApertusVR\samples\MyScene\configs\myconfig\apeAssimpAssetLoaderPlugin.json.

To load .glTF files:

1. Open apeAssimpAssetLoaderPlugin.json at ..\ApertusVR\samples\MyScene\configs\myconfig\apeAssimpAssetLoaderPlugin.json.
2. Add your glTF files to "assets" in the following format:

```
{
    "file": "/plugins/assimpAssetLoader/resources/MyFile.gltf",
    "mergeAndExportMeshes": false,
    "scale": [ 10, 10, 10 ],
    "position": [ 0, 0, 0 ],
    "orientation": [ 1, 0, 0, 0 ],
    "regenerateNormals": false,
    "rootNodeName": "MyFile"
}
```

You can set the scale, position, orientation to your liking.

To add more than one file:

```
{
 "file": "/plugins/assimpAssetLoader/resources/MyFile.gltf",
 "mergeAndExportMeshes": false,
 "scale": [ 10, 10, 10 ],
 "position": [ 0, 0, 0 ],
 "orientation": [ 1, 0, 0, 0 ],
 "regenerateNormals": false,
 "rootNodeName": "MyFile"
},
{
 "file": "/plugins/assimpAssetLoader/resources/MyFile2.gltf",
 "mergeAndExportMeshes": false,
 "scale": [ 10, 10, 10 ],
 "position": [ 0, 50, 0 ],
 "orientation": [ 1, 0, 0, 0 ],
 "regenerateNormals": false,
 "rootNodeName": "MyFile2"
}
```

In the end the apeAssimpAssetLoaderPlugin.json should look like the following:

```
{
  "assets": [
    {
      "file": "/plugins/assimpAssetLoader/resources/MyFile.gltf",
      "mergeAndExportMeshes": false,
      "scale": [ 10, 10, 10 ],
      "position": [ 0, 0, 0 ],
      "orientation": [ 1, 0, 0, 0 ],
      "regenerateNormals": false,
      "rootNodeName": "MyFile"

    },
    {
      "file": "/plugins/assimpAssetLoader/resources/MyFile2.gltf",
      "mergeAndExportMeshes": false,
      "scale": [ 10, 10, 10 ],
      "position": [ 0, 50, 0 ],
      "orientation": [ 1, 0, 0, 0 ],
      "regenerateNormals": false,
      "rootNodeName": "MyFile2"

    }
  ]
}
```
