Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wdas/ptex
Per-Face Texture Mapping for Production Rendering https://wdas.github.io/ptex
https://github.com/wdas/ptex
cpp rendering rendering-3d-graphics texture-mapping textures
Last synced: 3 months ago
JSON representation
Per-Face Texture Mapping for Production Rendering https://wdas.github.io/ptex
- Host: GitHub
- URL: https://github.com/wdas/ptex
- Owner: wdas
- License: other
- Created: 2009-10-08T22:25:35.000Z (about 15 years ago)
- Default Branch: main
- Last Pushed: 2024-04-30T18:49:53.000Z (6 months ago)
- Last Synced: 2024-05-28T13:30:52.760Z (5 months ago)
- Topics: cpp, rendering, rendering-3d-graphics, texture-mapping, textures
- Language: C
- Homepage: https://www.disneyanimation.com/open-source/ptex/
- Size: 60.9 MB
- Stars: 676
- Watchers: 74
- Forks: 141
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ptex
Ptex is a texture mapping system developed by Walt Disney Animation Studios
for production-quality rendering:* No UV assignment is required! Ptex applies a separate texture to each face
of a subdivision or polygon mesh.* The Ptex file format can efficiently store hundreds of thousands of texture
images in a single file.* The Ptex API provides cached file I/O and high-quality filtering -
everything that is needed to easily add Ptex support to a production-quality
renderer or texture authoring application.## Quickstart
Building with make (Linux):
make prefix=$PWD/install
make test
make install
make docThe Makefile uses cmake under the hood.
This will build, install to a local `install` directory, and
run regression tests.Documentation is only built if the following dependencies are installed:
- [Doxygen](http://www.doxygen.nl/)
- [Graphviz](https://graphviz.org/)## Installation Contents
install/bin:
ptxinfoinstall/include:
PtexHalf.h PtexInt.h Ptexture.h PtexUtils.hinstall/lib:
libPtex.a libPtex.soNote: docs will be generated in the `src/doc/ptex` directory
and installed as `install/share/doc/ptex`.# Development
## Source tree
* [Ptex library](src/ptex)
* [Command-line utilities](src/utils)
* [Test suite](src/tests)
* [Documentation](src/doc)
* The Ptex website is developed in the `gh-pages` branch.## Tests
Unit tests are in the `src/tests/` directory.
All tests are run by default when building the default `all` target.
Use `make test` to run the tests directly.The `flags` variable can be used to forward flags to `ctest`.
For example, to run just the `half` tests:make test flags='-R half'
## Packaging Notes
Ptex's build scripts will use a hardcoded version number that may or may not
match the tagged version number when Ptex is built from a tarball instead of
from a git worktree.This version be overriden by placing a file called `version` at the root of
the source tree containing the desired version number.For example, the following command will generate a version file that will be
used by the build in lieu of git tags and the `PTEX_VER` cmake variable:echo v2.3.2 >version
## Release Prep
Before creating new minor version releases, run:
./src/tests/check_version --update vX.Y
`check_version.sh` updates the default `PTEX_VER` version in `CMakeLists.txt`
with the specified minor version number.Running `./src/tests/check_version.sh` without any arguments will warn when
the git tags do not match the default version.The `gh-pages` branch contains the `ptex.us` website. When new release are
created add an entry to `buildsite.py` and run the script to update the site.