Skip to content

Commit

Permalink
adjusted readme including images, adjsuted package
Browse files Browse the repository at this point in the history
  • Loading branch information
manuelkoester committed Aug 1, 2023
1 parent 5af0d09 commit 9a98868
Show file tree
Hide file tree
Showing 6 changed files with 204 additions and 37 deletions.
36 changes: 24 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<p align="center">
<img src="media/quiltix-logo-full.svg" height="170" />
<img src="media/quiltix-logo-full.svg#gh-dark-mode-only" height="170" />
<img src="media/quiltix-logo-full-light-mode.svg#gh-light-mode-only" height="200" />
</p>

----
Expand All @@ -19,6 +20,7 @@ QuiltiX is a graphical node editor to edit, and author [MaterialX](https://mater
- [Requirements](#requirements)
- [Installation](#installation)
- [From PyPi](#from-pypi)
- [From Zip](#from-zip)
- [From Source](#from-source)
- [Running QuiltiX](#running-quiltix)
- [Running QuiltiX using hython](#running-quiltix-using-hython)
Expand All @@ -27,6 +29,7 @@ QuiltiX is a graphical node editor to edit, and author [MaterialX](https://mater
- [Arnold](#arnold)
- [Karma](#karma)
- [Adding custom MaterialX Node definitions](#adding-custom-materialx-node-definitions)
- [Platform support](#platform-support)
- [Contributing](#contributing)
- [License](#license)

Expand All @@ -40,10 +43,18 @@ QuiltiX requires Python 3.9+ as well as compiled versions of USD and MaterialX.
pip install QuiltiX
```

If you additionally require pre-built binaries for MaterialX & USD:
If you additionally require pre-built binaries for MaterialX & USD we currently provide these for Windows.
On Linux you need to provide your own binaries for now. Here are linked instructions for [MaterialX](https://github.com/AcademySoftwareFoundation/MaterialX/tree/main#quick-start-for-developers) & [OpenUSD](https://github.com/PixarAnimationStudios/OpenUSD/blob/release/BUILDING.md)
```shell
pip install QuiltiX[cppdeps]
pip install QuiltiX
pip install git+https://github.com/PrismPipeline/[email protected]
pip install git+https://github.com/PrismPipeline/[email protected]
```

### From Zip
For Windows a zip containing QuiltiX and all required dependencies can be downloaded from [here](https://prism-pipeline.com/quiltix/).
Just extract and execute the `QuiltiX.bat`

### From Source
1) Clone the repository

Expand All @@ -57,31 +68,30 @@ cd QuiltiX
This will install the base python dependencies, excluding any development dependencies, MaterialX & USD

```
pip install -e .
pip install .
```

<details>
<summary>Additional install options</summary>

If you want to just install everything (Python dependencies, dev dependencies, MaterialX & USD)
If you want want to contribute it is recommended to install QuiltiX in [development/editable mode](https://setuptools.pypa.io/en/latest/userguide/development_mode.html).
It is also recommended to also install QuiltiX's dev dependencies.
```
pip install -e .[all]
pip install -e .[dev]
```

These are the additional install options available
```
pip install -e .[usd,materialx,dev]
```
For more information see [pyproject.toml](pyproject.toml)
</details>


## Running QuiltiX

```
python -m QuiltiX
python -m QuiltiX
```

Or if you installed QuiltiX via zip you can execute the `QuiltiX.bat` after extracting.

### Running QuiltiX using hython

QuiltiX can be run from `hython`, which is Houdini's python executable. This way you can use Houdini's built USD and MaterialX and don't have to worry about providing your own.
Expand All @@ -102,7 +112,7 @@ Or if you have a virtual environment
```shell
cd QuiltiX_root
/path/to/venv/Scripts/activate
set PYTHONPATH=%PYTHONPATH%;%VIRTUAL_ENV%;./src
set PYTHONPATH=%PYTHONPATH%;%VIRTUAL_ENV%/Lib/site-packages;./src
/path/to/hython.exe -c "from QuiltiX import quiltix;quiltix.launch()"
```
> Note that currently both the Storm as well as HoudiniGL render delegates do not seem to work in QuiltiX when being launched from hython.
Expand Down Expand Up @@ -176,6 +186,8 @@ After opening QuiltiX the active Hydra delegate can be changed in the "View" ->

To add custom MaterialX node defintions they can be added by adding the location of the node definition files to the `PXR_MTLX_PLUGIN_SEARCH_PATHS` environment variable.

## Platform support
QuiltiX has been developed with all platforms in mind, but has been developed on Windows. If you see any issues on another platform please open up an issue.

## Contributing

Expand Down
Binary file modified media/QuiltiX.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
167 changes: 167 additions & 0 deletions media/quiltix-logo-full-light-mode.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 11 additions & 24 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,51 +27,41 @@ dependencies = [
"PyOpenGL",
"PyOpenGL_accelerate",
# TODO
"NodeGraphQt @ git+https://github.com/manuelkoester/NodeGraphQt.git@develop",
# "NodeGraphQt @ git+https://github.com/manuelkoester/NodeGraphQt.git@develop",
]

[tool.setuptools.packages.find]
where = ["src"]

# TODO
[project.optional-dependencies]
usd = [
]

# TODO
materialx = [
]

dev = [
"black",
"ruff",
"Qt.py-stubs @ git+https://github.com/matiascodesal/Qt.py-stubs.git@5a07e53",
"pytest",
"pytest-qt",
"pytest-cov",
# TODO
# "Qt.py-stubs @ git+https://github.com/matiascodesal/Qt.py-stubs.git@5a07e53",
# "MaterialX-stubs @ git+https://github.com/manuelkoester/MaterialX-stubs.git@7696cbb"
]

build = [
"pyinstaller",
"pygit"
]

pypi = [
"twine"
]
# TODO
# usd = [
# ]

# Alias
deps = ["QuiltiX[usd,materialx]"]
all = ["QuiltiX[usd,materialx,dev,build,pypi]"]
# TODO
# materialx = [
# ]


[project.urls]
"Homepage" = "https://github.com/PrismPipeline/QuiltiX"
"Bug Reports" = "https://github.com/PrismPipeline/QuiltiX/issues"
"Source" = "https://github.com/PrismPipeline/QuiltiX"

[project.gui-scripts]
quiltix = "QuiltiX:quiltix"

[build-system]
requires = ["setuptools>=61.0.0", "setuptools-scm"]
build-backend = "setuptools.build_meta"
Expand All @@ -90,6 +80,3 @@ line-length = 120

[tool.ruff]
line-length = 120

[project.gui-scripts]
quiltix = "QuiltiX:quiltix"
Empty file added src/QuiltiX/__init__.py
Empty file.
3 changes: 2 additions & 1 deletion src/QuiltiX/mx_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,9 @@ def recurse_find_mx_stdlib_in_dir(root_dir):
return paths

# Deal with quiltix being called from hython
# will result in '{houdini_install_dir}/houdini/materialx/libraries'
if Path(sys.executable).stem == "hython":
return [Path(Path(sys.executable).parent.parent, "houdini", "materialx").as_posix()]
return [Path(Path(sys.executable).parent.parent, "houdini", "materialx", "libraries").as_posix()]

import pxr # type: ignore
usd_root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(pxr.__file__))))
Expand Down

0 comments on commit 9a98868

Please sign in to comment.