I wanted to share a small side-project (Houdini Web Preview [github.com]) that I've been working on the past few months to view and interact with Houdini scenes through your web browser. This project aims to allow any device connecting to the web server to render preview geometry, execute ROP's, and interact with the node-graph of a Houdini file.
Key Features:
- Rendering: Individual nodes can be converted to a .glTF file and viewed in the 'Model Display' tab. ROP's can be executed, and any rendered files will be zipped and downloaded directly to the browser. A Flask web-server and Celery workers executing the Houdini API, handle all incoming render requests.
- Frontend: The frontend utilizes BabylonJS (similar to Three.JS) for previewing glTF geometry in the browser and displays the node graph using Cytoscape.js.
- Containerization: The entire application is containerized using Docker, for simple setup and deployment. The Houdini docker container also offers GPU and OpenCL support (on Linux).
- File Sharing: Generated glTF geometry and uploaded .hip files are stored on the backend and can be later downloaded. Shareable links can also be generated for preview geometry and scene files.
You can find a quick demo of the web app below:
While this started out as an attempt to get some practical experience with web-development (and keeping things interesting by incorporating Houdini) I'm hoping that there might be some bits and pieces that might be interesting to you all.
If you're interested in testing it out or have any questions, feel free to reach out!
Houdini Web Preview is available on GitHub here: https://github.com/mushyfruit [github.com]
Additionally, a thank you to aaronsmithtv for their Houdini Docker [www.sidefx.com] project available here: https://github.com/aaronsmithtv/houdini-docker [github.com] , which was quite helpful when getting started.