This project combines a dockerized implementation of Houdini with a user-friendly web interface. The Houdini web-app is designed to interact with a HIP file's node graph, execute renders, and preview scene geometry from your web browser.
AppPreview.mp4
- Dockerized Houdini: Simplified setup and deployment using Docker containers.
- Network Access: Interact with uploaded HIP files from any device on your local network
- Web Interface: Interact with Houdini’s node graph, execute renders, and preview scenes from the web.
- File Sharing: Quickly generate shareable links for HIP files and rendered models.
Ensure you have the following installed on your system first:
- Docker, a platform for developing and shipping applications.
-
Generate SideFX API Credentials:
- Generate a "Client ID" and "Client Secret" following these steps.
- These variables will be used for login licensing, allowing you to use Houdini without needing to log in manually.
-
Create an
.env
file:- In the project root directory, create a .env file with the following keys:
SIDEFX_CLIENT="YOUR_CLIENT_ID_HERE" SIDEFX_SECRET="YOUR_SECRET_HERE" HFS_VER="20.0"
- If you're targeting a specific Houdini version, specify that with the
HFS_VER
variable.
-
(Optional) Add GPU Support:
- To enable GPU support for the dockerized Houdini, you need to install the NVIDIA Container Toolkit.
- Nvidia GPU Support (Only supported on Linux)
-
Build and Run the Application:
- Once you've download Docker and setup your account, run
docker compose up --build
to build the app's docker images. - If you encounter the following issue when building:
Error getting credentials
, you may need to rundocker login
.
- Once you've download Docker and setup your account, run
-
Access the Houdini Web Server:
- Once the containers are running, you can access the Houdini Web Server from any device on your local network.
- Open your web browser and navigate to http://localhost or use your local IP address.
- Ensure you have the latest NVIDIA driver installed from the NVIDIA website.
- No support for OpenCL and WSL2, only working for Linux.
- Install the NVIDIA Container Toolkit using the following instructions.
- Verify the installation:
You should see a printout of your GPU information.
docker run --rm --gpus all nvidia/cuda:11.0.3-base nvidia-smi
- Docker Issues: Ensure Docker is installed correctly and running.
- If you're not using Docker Desktop, you may have to install Docker Compose manually.
- Network Access: Verify that your device is connected to the same local network.
- Container Logs: Check the container logs for any error messages by running:
docker compose logs
- OpenCL Issues: If you do not intend to use OpenCL in the container, remove lines 57-63 in
compose.yaml
.
As part of the building the Houdini docker image, the latest Python3.9 build of Houdini will automatically be installed. However, if you'd like to accelerate the build process. you can download Houdini beforehand and point the Docker file to your install (located within the project root.)
- Run the
hou_install.py
script:- From the project root run:
python3 ./scripts/hou_install.py 20.0
- This will install and unpack Houdini to a folder titled
hou_download
. - The script automatically targets the Python3.9 build of the specified Houdini verison.
- From the project root run:
- (Optional) Update the
HOU_INSTALL_LOCATION
argument:- Update the
HOU_INSTALL_LOCATION
argument incompose.yaml
to point to your Houdini download. - By default, it points to
hou_download
and shouldn't require changes.
- Update the
- Start the Docker Build process:
- When you start the Docker build process, the unpacked Houdini install will be copied over.
Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.