Skip to main content
xNormal Wrapper
===============

This is a wrapper for the program xNormal that allows for easy scripting and automation.

It is licensed under BSD

For any issues feel free to contact me at:

contact@daniel-holden.com

Basic Usage
-----------

The below generates a normal map and ambient occlusion map for the piano meshes.

```python
import xNormal
xNormal.run("piano_high.obj", "piano_low.obj", "piano.png",
width=256, height=256, gen_normals = True, gen_ao = True)
```

Extended Usage 1
----------------

The belows shows some more features.

First the path is set. By default the wrapper assumes xNormal.exe is in the PATH variable.

Seconly it generates a normal map with a switch coordinate system and an ao map with fewer rays and jitter. Finally is generates a convexity map.

For a full list of options have a look in the source code where they are listed and easy to see.

Finally it stores the errorcode of xNormal in case of something being wrong.

```python
import xNormal
xNormal.path = "C:\\Program Files (x86)\\Santiago Orgaz\\xNormal 3.17.13\\x64\\xNormal.exe"
err = xNormal.run("piano_high.obj", "piano_low.obj", "piano.png", width = 256, height = 256,
gen_normals = True, normals_x = "+X", normals_y = "-Z", normals_z = "+Y",
gen_ao = True, ao_rays = 64, ao_jitter = True,
gen_convexity = True, convexity_scale = 0.75)
```

Extended Usage 2
----------------

Scripting xNormal goes via the form of supplying it with a configuration file. These can be generated and saved for later use.

To build a configuration file __xNormal.config__ it must be supplied with a list of high mesh options, a list of low mesh options and a list of generation options.

```python
import xNormal
high_config = xNormal.high_mesh_options("piano_high.obj", scale = 2.0)
low_config = xNormal.low_mesh_options("piano_low.obj", scale = 2.0)
generation_config = xNormal.generation_options("piano.png", gen_normals = True)

config = xNormal.config([high_config], [low_config], generation_config)

f = open("later.xml", 'w')
f.write(config)
f.close()
```



Release files for xNormal 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xNormal 1.0
File Size Uploaded
xNormal-1.0.zip 6.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xNormal 1.0
File Interpreter ABI Platform
xNormal-1.0.win32.exe Details

Total release size: 208.2 kB

Release files / xNormal-1.0.zip

Download URL xNormal-1.0.zip
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9dc70a46499435dbbc425351d47237e50f4f11fcb84324132d69e0d36a384a4f
BLAKE2b-256 checksum
How to use checksums
6ce9b23b7a443a5a2a2808b3674d500449fa70e13687a787e497624e1c7b369d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / xNormal-1.0.win32.exe

Download URL xNormal-1.0.win32.exe
Size 202.2 kB
Tags Source
SHA-256 checksum
How to use checksums
732bc981563f57f5445dd4ba7b2cd2a76895c59a65df708e99652e0421f7be56
BLAKE2b-256 checksum
How to use checksums
fb53b10e67bbc1a68d7985d68e7f1662990209a417df0ed9e7134d7f1f93942b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

1.1.1

3 release files

1.1.0

3 release files

1.0.1

1 release file

This release

1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page