<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.johnkunz.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>kunz - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.johnkunz.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Special:Contributions/Admin"/>
	<updated>2026-06-12T20:44:32Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1362</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1362"/>
		<updated>2026-06-05T20:26:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [https://easings.net/ Easing Functions] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa HoudiniHowtos]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vex_tutorial jtomori vex_tutorial ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/pedohorse/educational-hips pedohorse]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook alexwheezy Mantra-LPE-Cookbook]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading jtomori vfx_good_night_reading ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/lightReachers/hip-files lightReachers]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file MysteryPancake]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips SiposAttila1995]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos jakericedesigns]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/conlen-b/cb-houdini-tools Conlen Houdini Tools]&lt;br /&gt;
|&lt;br /&gt;
[https://mysterypancake.github.io/Houdini-OpenCL/ Houdini OpenCL]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/JoseZalez/Houdini-scripts JoseZalez]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/K240/houdini-sandbox/tree/master/scenes K240 houdini-sandbox]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/wyhinton/AwesomeHoudini wyhinton AwesomeHoudini]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1361</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1361"/>
		<updated>2026-06-05T19:24:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [https://easings.net/ Easing Functions] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa HoudiniHowtos]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vex_tutorial jtomori vex_tutorial ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/pedohorse/educational-hips pedohorse]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook alexwheezy Mantra-LPE-Cookbook]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading jtomori vfx_good_night_reading ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/lightReachers/hip-files lightReachers]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file MysteryPancake]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips SiposAttila1995]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos jakericedesigns]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/conlen-b/cb-houdini-tools Conlen Houdini Tools]&lt;br /&gt;
|&lt;br /&gt;
[https://mysterypancake.github.io/Houdini-OpenCL/ Houdini OpenCL]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/JoseZalez/Houdini-scripts JoseZalez]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/K240/houdini-sandbox/tree/master/scenes K240 houdini-sandbox]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1360</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1360"/>
		<updated>2026-06-05T19:23:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [https://easings.net/ Easing Functions] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa HoudiniHowtos]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vex_tutorial jtomori vex_tutorial ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/pedohorse/educational-hips pedohorse]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook alexwheezy Mantra-LPE-Cookbook]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading jtomori vfx_good_night_reading ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/lightReachers/hip-files lightReachers]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file MysteryPancake]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips SiposAttila1995]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos jakericedesigns]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/conlen-b/cb-houdini-tools Conlen Houdini Tools]&lt;br /&gt;
|&lt;br /&gt;
[https://mysterypancake.github.io/Houdini-OpenCL/ Houdini OpenCL]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/JoseZalez/Houdini-scripts JoseZalez]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1359</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1359"/>
		<updated>2026-06-04T20:54:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [https://easings.net/ Easing Functions] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa HoudiniHowtos]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vex_tutorial jtomori vex_tutorial ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/pedohorse/educational-hips pedohorse]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook alexwheezy Mantra-LPE-Cookbook]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading jtomori vfx_good_night_reading ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/lightReachers/hip-files lightReachers]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file MysteryPancake]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips SiposAttila1995]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos jakericedesigns]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/conlen-b/cb-houdini-tools Conlen Houdini Tools]&lt;br /&gt;
|&lt;br /&gt;
[https://mysterypancake.github.io/Houdini-OpenCL/ Houdini OpenCL]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1358</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1358"/>
		<updated>2026-03-31T19:34:19Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [https://easings.net/ Easing Functions] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa HoudiniHowtos]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vex_tutorial jtomori vex_tutorial ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/pedohorse/educational-hips pedohorse]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook alexwheezy Mantra-LPE-Cookbook]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading jtomori vfx_good_night_reading ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/lightReachers/hip-files lightReachers]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file MysteryPancake]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips SiposAttila1995]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos jakericedesigns]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/conlen-b/cb-houdini-tools Conlen Houdini Tools]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Houdini_Python_Cookbook&amp;diff=1357</id>
		<title>Houdini Python Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Houdini_Python_Cookbook&amp;diff=1357"/>
		<updated>2026-02-20T19:55:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/kiryha/Houdini/wiki/python-for-artists Python for Artists]&lt;br /&gt;
&lt;br /&gt;
Force the entire scene to cook (all nodes)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;Python&#039;&amp;gt;&lt;br /&gt;
for node in hou.node(&amp;quot;/&amp;quot;).allSubChildren():&lt;br /&gt;
    node.cook(force=True)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Print the full path of the current Houdini scene&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;Python&#039;&amp;gt;&lt;br /&gt;
print(hou.hipFile.path())&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the version numbers in the filename&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;Python&#039;&amp;gt;&lt;br /&gt;
hou.hscript(&#039;echo -n `opdigits($HIPNAME)`&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What platform is Houdini running on?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;Python&#039;&amp;gt;&lt;br /&gt;
hou.applicationPlatformInfo()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
List all the [https://jurajtomori.wordpress.com/2018/01/15/houdini-tip-taking-advantage-of-environment-variables/ environment variables]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;Python&#039;&amp;gt;&lt;br /&gt;
import os&lt;br /&gt;
for e in os.environ:&lt;br /&gt;
    print(e, os.environ[e])&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Increment number at the end of a text string.  This is the algorithm used by Houdini to generate uniquely named child nodes inside a network.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;Python&#039;&amp;gt;&lt;br /&gt;
hou.text.incrementNumberedString( hou.getenv(&#039;HIPNAME&#039;) )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload a module, useful if you make some changes to the module.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;Python&#039;&amp;gt;&lt;br /&gt;
import importlib&lt;br /&gt;
importlib.reload(module)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Get the transform of a specific prim&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;Python&#039;&amp;gt;&lt;br /&gt;
hou.node(&#039;/obj/asset_stitching/blast28&#039;).geometry().prims()[0].intrinsicValue(&#039;transform&#039;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1356</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1356"/>
		<updated>2026-02-12T20:59:22Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [https://easings.net/ Easing Functions] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa HoudiniHowtos]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vex_tutorial jtomori vex_tutorial ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/pedohorse/educational-hips pedohorse]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook alexwheezy Mantra-LPE-Cookbook]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading jtomori vfx_good_night_reading ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/lightReachers/hip-files lightReachers]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file MysteryPancake]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips SiposAttila1995]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos jakericedesigns]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1355</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1355"/>
		<updated>2026-02-12T20:50:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [https://easings.net/ Easing Functions] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa HoudiniHowtos]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vex_tutorial jtomori vex_tutorial ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/pedohorse/educational-hips pedohorse]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook alexwheezy Mantra-LPE-Cookbook]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading jtomori vfx_good_night_reading ]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc lightReachers]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file MysteryPancake]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips SiposAttila1995]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos jakericedesigns]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1354</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1354"/>
		<updated>2026-02-08T21:32:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [https://easings.net/ Easing Functions] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vex_tutorial]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/pedohorse/educational-hips pedohorse]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook alexwheezy Mantra-LPE-Cookbook]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading jtomori]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc lightReachers]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file MysteryPancake]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips SiposAttila1995]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos jakericedesigns]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1353</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1353"/>
		<updated>2026-02-08T21:18:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [https://easings.net/ Easing Functions] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vex_tutorial]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/pedohorse/educational-hips]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1352</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1352"/>
		<updated>2026-02-08T21:17:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vex_tutorial]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/pedohorse/educational-hips]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1351</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1351"/>
		<updated>2026-02-08T21:16:45Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/jtomori/vex_tutorial]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/pedohorse/educational-hips]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips]&lt;br /&gt;
 | &lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1350</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1350"/>
		<updated>2026-02-08T21:15:43Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vex_tutorial]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/dchow1992/example_hips dchow1992]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/pedohorse/educational-hips]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/alexwheezy/Mantra-LPE-Cookbook]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jtomori/vfx_good_night_reading]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jakericedesigns/Assorted-Houdini-Demos]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1349</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1349"/>
		<updated>2026-02-08T20:32:26Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias] | [https://github.com/kiryha/Houdini kiryha]&lt;br /&gt;
|&lt;br /&gt;
[https://github.com/jhorikawa/HoudiniHowtos jhorikawa]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc&lt;br /&gt;
https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file&lt;br /&gt;
https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips&lt;br /&gt;
https://github.com/jakericedesigns/Assorted-Houdini-Demos&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1348</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1348"/>
		<updated>2026-02-08T20:31:42Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias] | [https://github.com/kiryha/Houdini]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc&lt;br /&gt;
https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file&lt;br /&gt;
https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips&lt;br /&gt;
https://github.com/jakericedesigns/Assorted-Houdini-Demos&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1347</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1347"/>
		<updated>2026-02-08T20:20:26Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip 3Dmattias] | [https://github.com/kiryha/Houdini]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc&lt;br /&gt;
https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file&lt;br /&gt;
https://github.com/SiposAttila1995/sipiLib/tree/main/example-hips&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1346</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1346"/>
		<updated>2026-02-04T21:14:16Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip] | [https://github.com/kiryha/Houdini]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc&lt;br /&gt;
https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file&lt;br /&gt;
test&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1345</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1345"/>
		<updated>2026-02-04T21:13:48Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini GitHubs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
h[ttps://github.com/3Dmattias/Houdini_Escapades/tree/main/hip] | [https://github.com/kiryha/Houdini]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc&lt;br /&gt;
https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file&lt;br /&gt;
test&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1344</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1344"/>
		<updated>2026-02-04T21:12:04Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip&lt;br /&gt;
https://github.com/kiryha/Houdini&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc&lt;br /&gt;
https://github.com/MysteryPancake/Houdini-Fun?tab=readme-ov-file&lt;br /&gt;
test&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1343</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1343"/>
		<updated>2026-01-11T00:36:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip&lt;br /&gt;
https://github.com/kiryha/Houdini&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc&lt;br /&gt;
test&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=ResourcesOld&amp;diff=1342</id>
		<title>ResourcesOld</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=ResourcesOld&amp;diff=1342"/>
		<updated>2025-12-31T20:19:58Z</updated>

		<summary type="html">&lt;p&gt;Admin: Admin moved page ResourcesOld to Resources: revert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Resources]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1341</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1341"/>
		<updated>2025-12-31T20:19:58Z</updated>

		<summary type="html">&lt;p&gt;Admin: Admin moved page ResourcesOld to Resources: revert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip&lt;br /&gt;
https://github.com/kiryha/Houdini&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1340</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1340"/>
		<updated>2025-12-31T20:18:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: Admin moved page Resources to ResourcesOld without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip&lt;br /&gt;
https://github.com/kiryha/Houdini&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Main_Page&amp;diff=1339</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Main_Page&amp;diff=1339"/>
		<updated>2025-12-03T20:09:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Check out these [[Resources|useful resources]]&lt;br /&gt;
&lt;br /&gt;
Follow my live streams using this [[Stream_Scene_Share| Scene Share Shelf Script]]&lt;br /&gt;
&lt;br /&gt;
Want your Houdini to look like mine?  See this guide on [[Customizing_the_Houdini_Interface|Customizing Houdini]]&lt;br /&gt;
&lt;br /&gt;
== VEX Coding Resources ==&lt;br /&gt;
* [[VEX_Attribute_Glossary| VEX Attribute Glossary]]&lt;br /&gt;
* [[VEX_Wrangle_Snippets| Useful VEX Wrangle Snippets]]&lt;br /&gt;
* [[Mathematical_Functions_in_VEX| VEX Mathematical Functions]]&lt;br /&gt;
&lt;br /&gt;
== Recent Streams ==&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
File:content_thumbnail_2022_11_20.jpg|link=Live_2022.11.15#Part_2&lt;br /&gt;
File:content_thumbnail_2022_11_15.jpg|link=Live_2022.11.15&lt;br /&gt;
File:content_thumbnail_2022_09_16.jpg|link=Live_2022.09.16&lt;br /&gt;
File:content_thumbnail_2022_09_13.jpg|link=Live_2022.09.13&lt;br /&gt;
File:content_thumbnail_2022_09_11.jpg|link=Live_2022.09.11&lt;br /&gt;
&amp;lt;!--File:content_thumbnail_2022_09_06.jpg|link=Live_2022.09.06--&amp;gt;&lt;br /&gt;
&amp;lt;!--File:content_thumbnail_2022_09_04.jpg|link=Live_2022.09.04--&amp;gt;&lt;br /&gt;
File:content_thumbnail_2022_09_02.jpg|link=Live_2022.09.02&lt;br /&gt;
File:content_thumbnail_2022_08_26.jpg|link=Live_2022.08.26&lt;br /&gt;
File:content_thumbnail_2022_08_23.jpg|link=Live_2022.08.23&lt;br /&gt;
File:content_thumbnail_2022_08_21.jpg|link=Live_2022.08.21&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
test&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1338</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1338"/>
		<updated>2025-10-16T18:58:17Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip&lt;br /&gt;
https://github.com/kiryha/Houdini&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
https://github.com/lightReachers/hip-files/blob/main/waterBlast_v002.hipnc&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1337</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1337"/>
		<updated>2025-10-12T18:55:08Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps] | [https://cc0-textures.com/ CC0 Textures]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip&lt;br /&gt;
https://github.com/kiryha/Houdini&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1336</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1336"/>
		<updated>2025-09-17T18:53:01Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip&lt;br /&gt;
https://github.com/kiryha/Houdini&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
https://github.com/alexwheezy/Mantra-LPE-Cookbook&lt;br /&gt;
https://github.com/jtomori/vfx_good_night_reading&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1335</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1335"/>
		<updated>2025-09-17T18:16:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip&lt;br /&gt;
https://github.com/kiryha/Houdini&lt;br /&gt;
https://github.com/jhorikawa/HoudiniHowtos&lt;br /&gt;
https://github.com/jtomori/vex_tutorial&lt;br /&gt;
https://github.com/dchow1992/example_hips&lt;br /&gt;
https://github.com/pedohorse/educational-hips&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1334</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1334"/>
		<updated>2025-09-17T17:44:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1333</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1333"/>
		<updated>2025-09-17T17:40:57Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
https://github.com/3Dmattias/Houdini_Escapades/tree/main/hip&lt;br /&gt;
*/&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=VEX_Wrangle_Snippets&amp;diff=1332</id>
		<title>VEX Wrangle Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=VEX_Wrangle_Snippets&amp;diff=1332"/>
		<updated>2024-10-03T10:05:34Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Translate ==&lt;br /&gt;
[[File:vex_offset_position.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
Offset the position of geometry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_offset_position.hiplc|vex_offset_position.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {1, 0, 0};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Taper ==&lt;br /&gt;
[[File:taper_vex_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reduces the circumference by scaling along the XZ plane based on the height of the geometry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:taper_vex_001.hiplc|taper_vex_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float taper = relbbox(0,@P).y;&lt;br /&gt;
// Remap the taper range&lt;br /&gt;
taper = fit01(taper, 1, fit01(sin(@Time*PI/5)*0.5+0.5, 2.5, .5));&lt;br /&gt;
// Apply the taper by scaling along the X and Y axis&lt;br /&gt;
@P *= set(taper,1,taper);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boxify ==&lt;br /&gt;
[[File:vex_boxify_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Distorts the geometry, morphing it into a box shape&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_boxify_001.hiplc|vex_boxify_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
vector size = getbbox_size(0);&lt;br /&gt;
size = min(size); // Largest component&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P *= (1.0/size);&lt;br /&gt;
@P = lerp(@P, @P+clamp(normalize(@P)*1.75,vector(-1),vector(1)) * (1.0-length(max(abs(@P)))), chf(&#039;blend&#039;));&lt;br /&gt;
@P *= size;&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spherify ==&lt;br /&gt;
[[File:vex_spherify_001.gif | 340px | right]]&lt;br /&gt;
Distorts the geometry into a sphere shape&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_spherify_001.hiplc|vex_spherify_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
vector size = getbbox_size(0);&lt;br /&gt;
size = min(size); // Largest component&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P *= (1.0/size);&lt;br /&gt;
@P = lerp(@P, normalize(@P), chf(&#039;blend&#039;));&lt;br /&gt;
@P *= size;&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stretch ==&lt;br /&gt;
[[File:vex_stretch_001.gif | 340px | right]]&lt;br /&gt;
Stretch the geometry across it&#039;s X axis&lt;br /&gt;
&lt;br /&gt;
Add one component of position to itself to stretch the geometry away from it&#039;s center.  You can control the amount of stretching by multiplying the position before adding it to itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_stretch_001.hiplc|vex_stretch_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P.x += @P.x*chf(&#039;amt&#039;);&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Shape Blending ==&lt;br /&gt;
[[File:vex_position_blend.gif | 340px | right]]&lt;br /&gt;
Blend between point attributes to produce a morph effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_position_blend.hiplc|vex_position_blend.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = lerp(@P, @opinput1_P, chf(&#039;blend&#039;));&lt;br /&gt;
@N = lerp(@N, @opinput1_N, chf(&#039;blend&#039;));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snap to Grid ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_snap_to_grid.gif | 340px | right]]&lt;br /&gt;
Snap ([https://en.wikipedia.org/wiki/Quantization_(signal_processing) quantize]) point positions to a grid for a downres effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_snap_to_grid.hiplc|File:vex_snap_to_grid.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float grid_scale = chf(&#039;grid_scale&#039;);&lt;br /&gt;
@P = rint(@P*grid_scale)/grid_scale;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make 2D ==&lt;br /&gt;
[[File:vex_setcomp.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
You can use the setcomp function to zero out a component of a vector, resulting in a two dimensional surface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_setcomp.hiplc|vex_setcomp.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the X component to zero, planar 2D in YZ&lt;br /&gt;
setcomp(@P, 0, 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the Y component to zero, planar 2D in XZ&lt;br /&gt;
setcomp(@P, 0, 1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the Z component to zero, planar 2D in XY&lt;br /&gt;
setcomp(@P, 0, 2);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Swizzle Coordinate System ==&lt;br /&gt;
[[File:vex_swizzle_vector_components.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
Shuffle the components of a vector using [https://www.sidefx.com/docs/houdini/vex/lang.html#dot-operator swizzle]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_swizzle_vector_components.hiplc|vex_swizzle_vector_components.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = @P.zyx;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Switch between Y up and Z up coordinates using [https://www.sidefx.com/docs/houdini/vex/lang.html#dot-operator swizzle]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = @P.xzy * set(-1,1,1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Twirl ==&lt;br /&gt;
[[File:vex_twirl.gif | 340px | right]]&lt;br /&gt;
Twirl the geometry around the Y axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_twirl.hiplc|vex_twirl.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
float u = atan2(@P.x, @P.z);&lt;br /&gt;
float r = length(@P * {1, 0, 1});&lt;br /&gt;
@P = set(sin(u-a), @P.y, cos(u-a)) * set(r,1,r);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float angle = chf(&#039;angle&#039;);&lt;br /&gt;
vector origin = set(0,0,0);&lt;br /&gt;
&lt;br /&gt;
vector d = v@P*set(1,0,1) - origin;&lt;br /&gt;
float r = length(d);&lt;br /&gt;
r = pow(r, chf(&#039;pow&#039;));&lt;br /&gt;
float beta = atan(d.x, d.z) + radians(angle) * r;&lt;br /&gt;
v@P = origin + r * set(sin(beta), 0, cos(beta)) + set(0,@P.y,0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
alt&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float angle = @P.y*900;&lt;br /&gt;
vector origin = set(0,0,0);&lt;br /&gt;
&lt;br /&gt;
vector d = v@P*set(1,0,1) - origin;&lt;br /&gt;
float r = length(d);&lt;br /&gt;
float beta = atan(d.x, d.z) + radians(angle);&lt;br /&gt;
v@P = origin + r * set(sin(beta), 0, cos(beta)) + set(0,@P.y,0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
alt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
vector pos = @P;&lt;br /&gt;
pos.x = (@P.x * cos(a)) - (@P.z * sin(a));&lt;br /&gt;
pos.y = @P.y;&lt;br /&gt;
pos.z = (@P.x * sin(a)) + (@P.z * cos(a));&lt;br /&gt;
@P = pos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
@P = set( (@P.x * cos(a)) - (@P.z * sin(a)), @P.y, (@P.x * sin(a)) + (@P.z * cos(a)) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
vector pos = @P;&lt;br /&gt;
float u = atan2(pos.x, pos.z);&lt;br /&gt;
float r = length(pos * {1, 0, 1});&lt;br /&gt;
pos = set(sin(u-a), pos.y, cos(u-a)) * r;&lt;br /&gt;
pos.y = @P.y;&lt;br /&gt;
@P = pos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
float u = atan2(@P.x, @P.z);&lt;br /&gt;
float r = length(@P * {1, 0, 1});&lt;br /&gt;
@P = set(sin(u-a), @P.y, cos(u-a)) * r;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peak ==&lt;br /&gt;
[[File:vex_push_surface_along_normals.gif | 340px | right]]&lt;br /&gt;
Move the surface along it&#039;s normals, producing an inflation effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_push_surface_along_normals.hip|vex_push_surface_along_normals.hip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += normalize(@P) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exploded View ==&lt;br /&gt;
[[File:vex_exploded_view.gif | 340px | right]]&lt;br /&gt;
Moves each packed piece outward from the geometry centroid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_exploded_view.hiplc|vex_exploded_view.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += (@P - getbbox_center(0)) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Point Jitter ==&lt;br /&gt;
[[File:vex_point_jitter.gif | 340px | right]]&lt;br /&gt;
Move each point in a random direction with a spherical distribution&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_point_jitter.hip|vex_point_jitter.hip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += sample_sphere_uniform(rand(@elemnum+chf(&#039;seed&#039;))) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plexus Effect ==&lt;br /&gt;
[[File:vex_plexus.gif | 340px | right]]&lt;br /&gt;
Connect nearby points&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_plexus.hiplc|vex_plexus.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
foreach(int pt; nearpoints(0, @P, 0.15, 10))    {&lt;br /&gt;
    if(pt &amp;gt; @ptnum)&lt;br /&gt;
        addprim(0, &#039;polyline&#039;, @ptnum, pt);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connect to Nearest Point ==&lt;br /&gt;
Draw a line to the closest point of the second input&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
addprim(0, &#039;polyline&#039;, @ptnum, addpoint(0, vector(point(1,&#039;P&#039;,nearpoint(1,@P)))) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connect to Closest Surface Position ==&lt;br /&gt;
Draw a line to the closest surface position&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
addprim(0, &#039;polyline&#039;, @ptnum, addpoint(0, minpos(1,@P) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Randomize the Rotation of Packed Primitives ==&lt;br /&gt;
Update the transform intrinsic to a random orientation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector r = sample_direction_uniform(rand(@primnum));&lt;br /&gt;
matrix3 x = primintrinsic(0,&#039;transform&#039;,i@primnum);&lt;br /&gt;
rotate(x, PI*pow(rand(@primnum-666),0.5), r);&lt;br /&gt;
setprimintrinsic(0,&#039;transform&#039;,i@primnum,x);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Randomize the Scale of Packed Primitives ==&lt;br /&gt;
Update the transform intrinsic to a apply a random scale&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector s = rand(i@primnum);&lt;br /&gt;
s = s.yyy;  // Uniform Scale&lt;br /&gt;
matrix3 x = primintrinsic(0,&#039;transform&#039;,i@primnum);&lt;br /&gt;
scale(x, s);&lt;br /&gt;
setprimintrinsic(0,&#039;transform&#039;,i@primnum,x);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Random Color from Normal Direction ==&lt;br /&gt;
[[File:vex_rand_color_from_normal_direction.gif | 340px | right]]&lt;br /&gt;
Generate random colors based on the surface normal, adjust the multiplier to control the amount of colors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_rand_color_from_normal_direction.hiplc|vex_rand_color_from_normal_direction.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = rand(rint(@N*2));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Group Unshared Edges ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int isBorderEdge(int pt0, pt1)  {   // test border using half edges&lt;br /&gt;
    int hedge = pointhedge(0, pt0, pt1); // try finding hedge&lt;br /&gt;
    if (hedge == -1 )   {&lt;br /&gt;
        hedge = pointhedge(0, pt1, pt0);  // try reversed hedge&lt;br /&gt;
        if (hedge == -1 ) return -1;  // invalid hedge&lt;br /&gt;
    }&lt;br /&gt;
    return hedge_equivcount(0, hedge) == 1; // 1 if border edge&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int pps[] = primpoints(0,@primnum); // current primitive&#039;s points&lt;br /&gt;
for(int i = 0; i&amp;lt;len(pps);  i++)   {&lt;br /&gt;
    int pt0 = pps[i]; // current pt&lt;br /&gt;
    int pt1 = pps[(i-1)%len(pps)]; // next point&lt;br /&gt;
    if( isBorderEdge(pt0, pt1) ) { setpointgroup(0, &#039;border&#039;, pps[i], 1); }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Iterative Face Insetting ==&lt;br /&gt;
Recursive divide and inset edges, [https://twitter.com/d_gfx/status/1452718124579520512 via @d_gfx], excellent use of [https://www.sidefx.com/docs/houdini/vex/arrays.html arrays]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int pts[] = primpoints(0,@primnum); vector pos[];&lt;br /&gt;
int edge_div_pts[]; vector edge_div_pos[];&lt;br /&gt;
foreach( int pt; pts ) &lt;br /&gt;
    append(pos, vector(point(0,&#039;P&#039;,pt)));&lt;br /&gt;
for( int i = 0; i &amp;lt; chi(&#039;iterations&#039;); i++ )    {&lt;br /&gt;
    resize(edge_div_pts,0); // empty&lt;br /&gt;
    resize(edge_div_pos,0); // empty&lt;br /&gt;
    for( int j = 0; j &amp;lt; len(pts); j++ ) {&lt;br /&gt;
        append(edge_div_pos, lerp( pos[j], pos[(j+1)%len(pts)], chf(&#039;div_ratio&#039;) ));&lt;br /&gt;
        append(edge_div_pts, addpoint(0, edge_div_pos[-1])); // [-1] grabs the last item from an array&lt;br /&gt;
    }&lt;br /&gt;
    for (int k = 0; k &amp;lt; len(pts); k++ ) {&lt;br /&gt;
        addprim(0, &#039;poly&#039;, pts[k], edge_div_pts[k], edge_div_pts[(k+2)%len(pts)]);&lt;br /&gt;
    }&lt;br /&gt;
    pts = edge_div_pts;&lt;br /&gt;
    pos = edge_div_pos;&lt;br /&gt;
}&lt;br /&gt;
addprim(0, &#039;poly&#039;, edge_div_pts);&lt;br /&gt;
removeprim(0,@primnum,1); // Remove the input prim and any points belonging to it&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Iridescent Color Function ==&lt;br /&gt;
[[File:vex_iridescent.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Produce an iridescent color ramp from any varying value, [https://www.shadertoy.com/view/XlcBR7 from shadertoy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_iridescent.hiplc|vex_iridescent.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float amt = dot(@N, set(0,1,0))*0.5+0.5;&lt;br /&gt;
v@Cd =  (0.5 + 0.5 * cos( PI*2*( amt + set(0,1,2)/3) ) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rainbow Colors from HSV Colorspace ==&lt;br /&gt;
[[File:vex_hsvtorgb_rainbow_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can easily control the hue, while keeping the saturation and value the same using the [https://www.sidefx.com/docs/houdini/vex/functions/hsvtorgb.html hsvtorgb] function.&lt;br /&gt;
&lt;br /&gt;
This allows you to easily create rainbows, gradients, perform hue rotations and produce complimentary colors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_hsvtorgb_rainbow_001.hiplc|vex_hsvtorgb_rainbow_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = hsvtorgb( set(relbbox(0,@P).z - @Time/5 + dot(@N,set(0,1,0))/2, 1, 1));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rainbow Cycle with frac function ==&lt;br /&gt;
[[File:rainbow_cycle_w_frac_VEX.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using the [https://www.sidefx.com/docs/houdini/vex/functions/frac.html frac] function, you can cycle through a rainbow over a desired amount of elements.&lt;br /&gt;
&lt;br /&gt;
This is then offset by adding the current time to the fractional value, which produces the scrolling effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_frac_rainbow_cycle_001.hiplc|vex_frac_rainbow_cycle_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = hsvtorgb(set(frac(@elemnum/8.0)+@Time/10, 1, 1));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loop Over All Attributes ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
string pt_attrs[] = detailintrinsic(1,&#039;pointattributes&#039;);&lt;br /&gt;
foreach( string pt_attr; pt_attrs ) {&lt;br /&gt;
    if( pt_attr ~= &#039;attr_name*&#039; ) {&lt;br /&gt;
        setpointgroup(0, pt_attr, @ptnum, 1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Faces Across Bounding Box ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
if( relbbox(0,@P).x &amp;lt; rand(@primnum) )&lt;br /&gt;
    removeprim(0,@primnum,1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Torus Knot ==&lt;br /&gt;
[[File:vex_torus_knot_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
[https://prideout.net/knotgl/ Online Knot Viewer]&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_torus_knot_001.hiplc|vex_torus_knot_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float u = float(@ptnum)/(@numpt-1);&lt;br /&gt;
u += @Time/10.0;&lt;br /&gt;
u %= 1.0;&lt;br /&gt;
u *= PI * 2;&lt;br /&gt;
float r = 2.0;&lt;br /&gt;
float q = 2;&lt;br /&gt;
float p = 3;&lt;br /&gt;
f@u = u;&lt;br /&gt;
@P.x += cos(u*q) * (cos(u*p)+r);&lt;br /&gt;
@P.y += sin(u*q) * (cos(u*p)+r);&lt;br /&gt;
@P.z += sin(u*p);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remap Grid to Circle ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_map_grid_to_circle.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working with polar coordinates to map a square onto a circle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_map_grid_to_circle.hiplc|vex_map_grid_to_circle.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {0.5, 0.5, 0}; // Remap the grid to zero to one range&lt;br /&gt;
float theta = @P.x;&lt;br /&gt;
float radius = @P.y/2;&lt;br /&gt;
@P = 0;&lt;br /&gt;
@P.x = sin(theta*PI*2 ) * radius;&lt;br /&gt;
@P.y = cos(theta*PI*2 ) * radius;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remap Grid to Sphere ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_map_grid_to_sphere.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working with polar coordinates to map a square onto a sphere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_map_grid_to_sphere.hiplc|vex_map_grid_to_sphere.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {0.5, 0.5, 0}; // Remap the grid to zero to one range&lt;br /&gt;
float phi = @P.x;&lt;br /&gt;
float theta = 1.0-@P.y;&lt;br /&gt;
@P.x = sin(theta*PI*1 ) * cos(phi*PI*2 )/2;&lt;br /&gt;
@P.z = sin(theta*PI*1 ) * sin(phi*PI*2 )/2;&lt;br /&gt;
@P.y = cos(theta*PI*1 )/2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Quad ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(0,0,0)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(1,0,0)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(1,0,1)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(0,0,1)) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Grid ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
for(int i = 0; i&amp;lt;8; i++)    {&lt;br /&gt;
    for(int j = 0; j&amp;lt;8; j++)    {&lt;br /&gt;
        int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i,0,j)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i+1,0,j)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i+1,0,j+1)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i,0,j+1)) );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Circle ==&lt;br /&gt;
[[File:vex_make_circle.gif | 300px | right]]&lt;br /&gt;
&lt;br /&gt;
This example shows how you can generate a circle or N sided polygon using a for loop, sin and cos.&lt;br /&gt;
&lt;br /&gt;
Run the code in detail mode with an attribute wrangle.&lt;br /&gt;
&lt;br /&gt;
This is essentially the same idea as the [https://www.sidefx.com/docs/houdini/nodes/sop/circle.html circle] node but hopefully a beneficial example to see how this type of geometry is generated via VEX.&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_make_circle_001.hiplc|vex_make_circle_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
int seg = chi(&#039;segments&#039;);&lt;br /&gt;
for( int i = 0; i&amp;lt;seg; i++ )  {&lt;br /&gt;
    float u = float(i)/seg * 2*PI;&lt;br /&gt;
    addvertex(0, prim, addpoint(0, set(sin(u),0,cos(u))) );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Groups to Attribute ==&lt;br /&gt;
[https://zybrand.xyz/groups-to-attribute-with-vex From zybrand]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
//convert numbered groups to a numbered attribute&lt;br /&gt;
string groups[] = detailintrinsic(0, &amp;quot;primitivegroups&amp;quot;);&lt;br /&gt;
int prim = @primnum;&lt;br /&gt;
string elemnum;&lt;br /&gt;
&lt;br /&gt;
foreach(string i; groups)&lt;br /&gt;
{&lt;br /&gt;
    //if the current primitive is in group i&lt;br /&gt;
    if(inprimgroup(0,i,prim) == 1)&lt;br /&gt;
    {&lt;br /&gt;
        elemnum = re_find(r&amp;quot;\d{3,6}&amp;quot;,i);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
s@number = elemnum;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Looping Curl Noise ==&lt;br /&gt;
[[File:2022_12_11_looping_curl_noise.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to achieve seamless looping animation from curl noise by blending between two noises.&lt;br /&gt;
&lt;br /&gt;
In this example one noise function is evaluated at the current time, and a second noise function is evaluated at the time shifted back by the desired loop duration.&lt;br /&gt;
&lt;br /&gt;
The result of these two noise functions are blended from one to the other over the duration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_looping_noises.hiplc|vex_looping_noises.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Position x Frequency&lt;br /&gt;
vector p = @P*0.5;&lt;br /&gt;
// Speed&lt;br /&gt;
float s = 0.5;&lt;br /&gt;
// Loop Length (in seconds)&lt;br /&gt;
float l = 5;&lt;br /&gt;
// Time % duration&lt;br /&gt;
float t = (@Time%l);&lt;br /&gt;
// Blending&lt;br /&gt;
vector v0 = curlgxnoise(p + set(0,0,0,t*s));&lt;br /&gt;
vector v1 = curlgxnoise(p + set(0,0,0,(t-l)*s));&lt;br /&gt;
@P += lerp(v0,v1,frac(@Time/l)) * 0.35;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--== Make a Grid ==&lt;br /&gt;
 for(int j = 0; j&amp;lt;4; j++)    {&lt;br /&gt;
    int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i,0,j)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i+1,0,j)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i+1,0,j+1)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i,0,j+1)) );&lt;br /&gt;
 }--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=File:vex_rand_color_from_normal_direction.hiplc&amp;diff=1331</id>
		<title>File:vex rand color from normal direction.hiplc</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=File:vex_rand_color_from_normal_direction.hiplc&amp;diff=1331"/>
		<updated>2024-10-03T10:04:06Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=File:vex_rand_color_from_normal_direction.gif&amp;diff=1330</id>
		<title>File:vex rand color from normal direction.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=File:vex_rand_color_from_normal_direction.gif&amp;diff=1330"/>
		<updated>2024-10-03T10:03:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=VEX_Wrangle_Snippets&amp;diff=1329</id>
		<title>VEX Wrangle Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=VEX_Wrangle_Snippets&amp;diff=1329"/>
		<updated>2024-10-03T09:46:21Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Translate ==&lt;br /&gt;
[[File:vex_offset_position.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
Offset the position of geometry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_offset_position.hiplc|vex_offset_position.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {1, 0, 0};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Taper ==&lt;br /&gt;
[[File:taper_vex_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reduces the circumference by scaling along the XZ plane based on the height of the geometry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:taper_vex_001.hiplc|taper_vex_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float taper = relbbox(0,@P).y;&lt;br /&gt;
// Remap the taper range&lt;br /&gt;
taper = fit01(taper, 1, fit01(sin(@Time*PI/5)*0.5+0.5, 2.5, .5));&lt;br /&gt;
// Apply the taper by scaling along the X and Y axis&lt;br /&gt;
@P *= set(taper,1,taper);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boxify ==&lt;br /&gt;
[[File:vex_boxify_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Distorts the geometry, morphing it into a box shape&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_boxify_001.hiplc|vex_boxify_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
vector size = getbbox_size(0);&lt;br /&gt;
size = min(size); // Largest component&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P *= (1.0/size);&lt;br /&gt;
@P = lerp(@P, @P+clamp(normalize(@P)*1.75,vector(-1),vector(1)) * (1.0-length(max(abs(@P)))), chf(&#039;blend&#039;));&lt;br /&gt;
@P *= size;&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spherify ==&lt;br /&gt;
[[File:vex_spherify_001.gif | 340px | right]]&lt;br /&gt;
Distorts the geometry into a sphere shape&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_spherify_001.hiplc|vex_spherify_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
vector size = getbbox_size(0);&lt;br /&gt;
size = min(size); // Largest component&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P *= (1.0/size);&lt;br /&gt;
@P = lerp(@P, normalize(@P), chf(&#039;blend&#039;));&lt;br /&gt;
@P *= size;&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stretch ==&lt;br /&gt;
[[File:vex_stretch_001.gif | 340px | right]]&lt;br /&gt;
Stretch the geometry across it&#039;s X axis&lt;br /&gt;
&lt;br /&gt;
Add one component of position to itself to stretch the geometry away from it&#039;s center.  You can control the amount of stretching by multiplying the position before adding it to itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_stretch_001.hiplc|vex_stretch_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P.x += @P.x*chf(&#039;amt&#039;);&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Shape Blending ==&lt;br /&gt;
[[File:vex_position_blend.gif | 340px | right]]&lt;br /&gt;
Blend between point attributes to produce a morph effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_position_blend.hiplc|vex_position_blend.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = lerp(@P, @opinput1_P, chf(&#039;blend&#039;));&lt;br /&gt;
@N = lerp(@N, @opinput1_N, chf(&#039;blend&#039;));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snap to Grid ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_snap_to_grid.gif | 340px | right]]&lt;br /&gt;
Snap ([https://en.wikipedia.org/wiki/Quantization_(signal_processing) quantize]) point positions to a grid for a downres effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_snap_to_grid.hiplc|File:vex_snap_to_grid.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float grid_scale = chf(&#039;grid_scale&#039;);&lt;br /&gt;
@P = rint(@P*grid_scale)/grid_scale;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make 2D ==&lt;br /&gt;
[[File:vex_setcomp.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
You can use the setcomp function to zero out a component of a vector, resulting in a two dimensional surface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_setcomp.hiplc|vex_setcomp.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the X component to zero, planar 2D in YZ&lt;br /&gt;
setcomp(@P, 0, 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the Y component to zero, planar 2D in XZ&lt;br /&gt;
setcomp(@P, 0, 1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the Z component to zero, planar 2D in XY&lt;br /&gt;
setcomp(@P, 0, 2);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Swizzle Coordinate System ==&lt;br /&gt;
[[File:vex_swizzle_vector_components.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
Shuffle the components of a vector using [https://www.sidefx.com/docs/houdini/vex/lang.html#dot-operator swizzle]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_swizzle_vector_components.hiplc|vex_swizzle_vector_components.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = @P.zyx;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Switch between Y up and Z up coordinates using [https://www.sidefx.com/docs/houdini/vex/lang.html#dot-operator swizzle]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = @P.xzy * set(-1,1,1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Twirl ==&lt;br /&gt;
[[File:vex_twirl.gif | 340px | right]]&lt;br /&gt;
Twirl the geometry around the Y axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_twirl.hiplc|vex_twirl.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
float u = atan2(@P.x, @P.z);&lt;br /&gt;
float r = length(@P * {1, 0, 1});&lt;br /&gt;
@P = set(sin(u-a), @P.y, cos(u-a)) * set(r,1,r);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float angle = chf(&#039;angle&#039;);&lt;br /&gt;
vector origin = set(0,0,0);&lt;br /&gt;
&lt;br /&gt;
vector d = v@P*set(1,0,1) - origin;&lt;br /&gt;
float r = length(d);&lt;br /&gt;
r = pow(r, chf(&#039;pow&#039;));&lt;br /&gt;
float beta = atan(d.x, d.z) + radians(angle) * r;&lt;br /&gt;
v@P = origin + r * set(sin(beta), 0, cos(beta)) + set(0,@P.y,0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
alt&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float angle = @P.y*900;&lt;br /&gt;
vector origin = set(0,0,0);&lt;br /&gt;
&lt;br /&gt;
vector d = v@P*set(1,0,1) - origin;&lt;br /&gt;
float r = length(d);&lt;br /&gt;
float beta = atan(d.x, d.z) + radians(angle);&lt;br /&gt;
v@P = origin + r * set(sin(beta), 0, cos(beta)) + set(0,@P.y,0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
alt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
vector pos = @P;&lt;br /&gt;
pos.x = (@P.x * cos(a)) - (@P.z * sin(a));&lt;br /&gt;
pos.y = @P.y;&lt;br /&gt;
pos.z = (@P.x * sin(a)) + (@P.z * cos(a));&lt;br /&gt;
@P = pos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
@P = set( (@P.x * cos(a)) - (@P.z * sin(a)), @P.y, (@P.x * sin(a)) + (@P.z * cos(a)) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
vector pos = @P;&lt;br /&gt;
float u = atan2(pos.x, pos.z);&lt;br /&gt;
float r = length(pos * {1, 0, 1});&lt;br /&gt;
pos = set(sin(u-a), pos.y, cos(u-a)) * r;&lt;br /&gt;
pos.y = @P.y;&lt;br /&gt;
@P = pos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
float u = atan2(@P.x, @P.z);&lt;br /&gt;
float r = length(@P * {1, 0, 1});&lt;br /&gt;
@P = set(sin(u-a), @P.y, cos(u-a)) * r;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peak ==&lt;br /&gt;
[[File:vex_push_surface_along_normals.gif | 340px | right]]&lt;br /&gt;
Move the surface along it&#039;s normals, producing an inflation effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_push_surface_along_normals.hip|vex_push_surface_along_normals.hip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += normalize(@P) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exploded View ==&lt;br /&gt;
[[File:vex_exploded_view.gif | 340px | right]]&lt;br /&gt;
Moves each packed piece outward from the geometry centroid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_exploded_view.hiplc|vex_exploded_view.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += (@P - getbbox_center(0)) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Point Jitter ==&lt;br /&gt;
[[File:vex_point_jitter.gif | 340px | right]]&lt;br /&gt;
Move each point in a random direction with a spherical distribution&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_point_jitter.hip|vex_point_jitter.hip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += sample_sphere_uniform(rand(@elemnum+chf(&#039;seed&#039;))) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plexus Effect ==&lt;br /&gt;
[[File:vex_plexus.gif | 340px | right]]&lt;br /&gt;
Connect nearby points&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_plexus.hiplc|vex_plexus.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
foreach(int pt; nearpoints(0, @P, 0.15, 10))    {&lt;br /&gt;
    if(pt &amp;gt; @ptnum)&lt;br /&gt;
        addprim(0, &#039;polyline&#039;, @ptnum, pt);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connect to Nearest Point ==&lt;br /&gt;
Draw a line to the closest point of the second input&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
addprim(0, &#039;polyline&#039;, @ptnum, addpoint(0, vector(point(1,&#039;P&#039;,nearpoint(1,@P)))) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connect to Closest Surface Position ==&lt;br /&gt;
Draw a line to the closest surface position&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
addprim(0, &#039;polyline&#039;, @ptnum, addpoint(0, minpos(1,@P) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Randomize the Rotation of Packed Primitives ==&lt;br /&gt;
Update the transform intrinsic to a random orientation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector r = sample_direction_uniform(rand(@primnum));&lt;br /&gt;
matrix3 x = primintrinsic(0,&#039;transform&#039;,i@primnum);&lt;br /&gt;
rotate(x, PI*pow(rand(@primnum-666),0.5), r);&lt;br /&gt;
setprimintrinsic(0,&#039;transform&#039;,i@primnum,x);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Randomize the Scale of Packed Primitives ==&lt;br /&gt;
Update the transform intrinsic to a apply a random scale&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector s = rand(i@primnum);&lt;br /&gt;
s = s.yyy;  // Uniform Scale&lt;br /&gt;
matrix3 x = primintrinsic(0,&#039;transform&#039;,i@primnum);&lt;br /&gt;
scale(x, s);&lt;br /&gt;
setprimintrinsic(0,&#039;transform&#039;,i@primnum,x);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Random Color from Normal Direction ==&lt;br /&gt;
Generate random colors based on the surface normal, adjust the multiplier to control the amount of colors&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = rand(rint(@N*2));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Group Unshared Edges ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int isBorderEdge(int pt0, pt1)  {   // test border using half edges&lt;br /&gt;
    int hedge = pointhedge(0, pt0, pt1); // try finding hedge&lt;br /&gt;
    if (hedge == -1 )   {&lt;br /&gt;
        hedge = pointhedge(0, pt1, pt0);  // try reversed hedge&lt;br /&gt;
        if (hedge == -1 ) return -1;  // invalid hedge&lt;br /&gt;
    }&lt;br /&gt;
    return hedge_equivcount(0, hedge) == 1; // 1 if border edge&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int pps[] = primpoints(0,@primnum); // current primitive&#039;s points&lt;br /&gt;
for(int i = 0; i&amp;lt;len(pps);  i++)   {&lt;br /&gt;
    int pt0 = pps[i]; // current pt&lt;br /&gt;
    int pt1 = pps[(i-1)%len(pps)]; // next point&lt;br /&gt;
    if( isBorderEdge(pt0, pt1) ) { setpointgroup(0, &#039;border&#039;, pps[i], 1); }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Iterative Face Insetting ==&lt;br /&gt;
Recursive divide and inset edges, [https://twitter.com/d_gfx/status/1452718124579520512 via @d_gfx], excellent use of [https://www.sidefx.com/docs/houdini/vex/arrays.html arrays]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int pts[] = primpoints(0,@primnum); vector pos[];&lt;br /&gt;
int edge_div_pts[]; vector edge_div_pos[];&lt;br /&gt;
foreach( int pt; pts ) &lt;br /&gt;
    append(pos, vector(point(0,&#039;P&#039;,pt)));&lt;br /&gt;
for( int i = 0; i &amp;lt; chi(&#039;iterations&#039;); i++ )    {&lt;br /&gt;
    resize(edge_div_pts,0); // empty&lt;br /&gt;
    resize(edge_div_pos,0); // empty&lt;br /&gt;
    for( int j = 0; j &amp;lt; len(pts); j++ ) {&lt;br /&gt;
        append(edge_div_pos, lerp( pos[j], pos[(j+1)%len(pts)], chf(&#039;div_ratio&#039;) ));&lt;br /&gt;
        append(edge_div_pts, addpoint(0, edge_div_pos[-1])); // [-1] grabs the last item from an array&lt;br /&gt;
    }&lt;br /&gt;
    for (int k = 0; k &amp;lt; len(pts); k++ ) {&lt;br /&gt;
        addprim(0, &#039;poly&#039;, pts[k], edge_div_pts[k], edge_div_pts[(k+2)%len(pts)]);&lt;br /&gt;
    }&lt;br /&gt;
    pts = edge_div_pts;&lt;br /&gt;
    pos = edge_div_pos;&lt;br /&gt;
}&lt;br /&gt;
addprim(0, &#039;poly&#039;, edge_div_pts);&lt;br /&gt;
removeprim(0,@primnum,1); // Remove the input prim and any points belonging to it&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Iridescent Color Function ==&lt;br /&gt;
[[File:vex_iridescent.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Produce an iridescent color ramp from any varying value, [https://www.shadertoy.com/view/XlcBR7 from shadertoy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_iridescent.hiplc|vex_iridescent.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float amt = dot(@N, set(0,1,0))*0.5+0.5;&lt;br /&gt;
v@Cd =  (0.5 + 0.5 * cos( PI*2*( amt + set(0,1,2)/3) ) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rainbow Colors from HSV Colorspace ==&lt;br /&gt;
[[File:vex_hsvtorgb_rainbow_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can easily control the hue, while keeping the saturation and value the same using the [https://www.sidefx.com/docs/houdini/vex/functions/hsvtorgb.html hsvtorgb] function.&lt;br /&gt;
&lt;br /&gt;
This allows you to easily create rainbows, gradients, perform hue rotations and produce complimentary colors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_hsvtorgb_rainbow_001.hiplc|vex_hsvtorgb_rainbow_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = hsvtorgb( set(relbbox(0,@P).z - @Time/5 + dot(@N,set(0,1,0))/2, 1, 1));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rainbow Cycle with frac function ==&lt;br /&gt;
[[File:rainbow_cycle_w_frac_VEX.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using the [https://www.sidefx.com/docs/houdini/vex/functions/frac.html frac] function, you can cycle through a rainbow over a desired amount of elements.&lt;br /&gt;
&lt;br /&gt;
This is then offset by adding the current time to the fractional value, which produces the scrolling effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_frac_rainbow_cycle_001.hiplc|vex_frac_rainbow_cycle_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = hsvtorgb(set(frac(@elemnum/8.0)+@Time/10, 1, 1));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loop Over All Attributes ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
string pt_attrs[] = detailintrinsic(1,&#039;pointattributes&#039;);&lt;br /&gt;
foreach( string pt_attr; pt_attrs ) {&lt;br /&gt;
    if( pt_attr ~= &#039;attr_name*&#039; ) {&lt;br /&gt;
        setpointgroup(0, pt_attr, @ptnum, 1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Faces Across Bounding Box ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
if( relbbox(0,@P).x &amp;lt; rand(@primnum) )&lt;br /&gt;
    removeprim(0,@primnum,1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Torus Knot ==&lt;br /&gt;
[[File:vex_torus_knot_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
[https://prideout.net/knotgl/ Online Knot Viewer]&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_torus_knot_001.hiplc|vex_torus_knot_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float u = float(@ptnum)/(@numpt-1);&lt;br /&gt;
u += @Time/10.0;&lt;br /&gt;
u %= 1.0;&lt;br /&gt;
u *= PI * 2;&lt;br /&gt;
float r = 2.0;&lt;br /&gt;
float q = 2;&lt;br /&gt;
float p = 3;&lt;br /&gt;
f@u = u;&lt;br /&gt;
@P.x += cos(u*q) * (cos(u*p)+r);&lt;br /&gt;
@P.y += sin(u*q) * (cos(u*p)+r);&lt;br /&gt;
@P.z += sin(u*p);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remap Grid to Circle ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_map_grid_to_circle.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working with polar coordinates to map a square onto a circle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_map_grid_to_circle.hiplc|vex_map_grid_to_circle.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {0.5, 0.5, 0}; // Remap the grid to zero to one range&lt;br /&gt;
float theta = @P.x;&lt;br /&gt;
float radius = @P.y/2;&lt;br /&gt;
@P = 0;&lt;br /&gt;
@P.x = sin(theta*PI*2 ) * radius;&lt;br /&gt;
@P.y = cos(theta*PI*2 ) * radius;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remap Grid to Sphere ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_map_grid_to_sphere.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working with polar coordinates to map a square onto a sphere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_map_grid_to_sphere.hiplc|vex_map_grid_to_sphere.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {0.5, 0.5, 0}; // Remap the grid to zero to one range&lt;br /&gt;
float phi = @P.x;&lt;br /&gt;
float theta = 1.0-@P.y;&lt;br /&gt;
@P.x = sin(theta*PI*1 ) * cos(phi*PI*2 )/2;&lt;br /&gt;
@P.z = sin(theta*PI*1 ) * sin(phi*PI*2 )/2;&lt;br /&gt;
@P.y = cos(theta*PI*1 )/2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Quad ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(0,0,0)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(1,0,0)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(1,0,1)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(0,0,1)) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Grid ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
for(int i = 0; i&amp;lt;8; i++)    {&lt;br /&gt;
    for(int j = 0; j&amp;lt;8; j++)    {&lt;br /&gt;
        int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i,0,j)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i+1,0,j)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i+1,0,j+1)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i,0,j+1)) );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Circle ==&lt;br /&gt;
[[File:vex_make_circle.gif | 300px | right]]&lt;br /&gt;
&lt;br /&gt;
This example shows how you can generate a circle or N sided polygon using a for loop, sin and cos.&lt;br /&gt;
&lt;br /&gt;
Run the code in detail mode with an attribute wrangle.&lt;br /&gt;
&lt;br /&gt;
This is essentially the same idea as the [https://www.sidefx.com/docs/houdini/nodes/sop/circle.html circle] node but hopefully a beneficial example to see how this type of geometry is generated via VEX.&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_make_circle_001.hiplc|vex_make_circle_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
int seg = chi(&#039;segments&#039;);&lt;br /&gt;
for( int i = 0; i&amp;lt;seg; i++ )  {&lt;br /&gt;
    float u = float(i)/seg * 2*PI;&lt;br /&gt;
    addvertex(0, prim, addpoint(0, set(sin(u),0,cos(u))) );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Groups to Attribute ==&lt;br /&gt;
[https://zybrand.xyz/groups-to-attribute-with-vex From zybrand]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
//convert numbered groups to a numbered attribute&lt;br /&gt;
string groups[] = detailintrinsic(0, &amp;quot;primitivegroups&amp;quot;);&lt;br /&gt;
int prim = @primnum;&lt;br /&gt;
string elemnum;&lt;br /&gt;
&lt;br /&gt;
foreach(string i; groups)&lt;br /&gt;
{&lt;br /&gt;
    //if the current primitive is in group i&lt;br /&gt;
    if(inprimgroup(0,i,prim) == 1)&lt;br /&gt;
    {&lt;br /&gt;
        elemnum = re_find(r&amp;quot;\d{3,6}&amp;quot;,i);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
s@number = elemnum;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Looping Curl Noise ==&lt;br /&gt;
[[File:2022_12_11_looping_curl_noise.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to achieve seamless looping animation from curl noise by blending between two noises.&lt;br /&gt;
&lt;br /&gt;
In this example one noise function is evaluated at the current time, and a second noise function is evaluated at the time shifted back by the desired loop duration.&lt;br /&gt;
&lt;br /&gt;
The result of these two noise functions are blended from one to the other over the duration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_looping_noises.hiplc|vex_looping_noises.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Position x Frequency&lt;br /&gt;
vector p = @P*0.5;&lt;br /&gt;
// Speed&lt;br /&gt;
float s = 0.5;&lt;br /&gt;
// Loop Length (in seconds)&lt;br /&gt;
float l = 5;&lt;br /&gt;
// Time % duration&lt;br /&gt;
float t = (@Time%l);&lt;br /&gt;
// Blending&lt;br /&gt;
vector v0 = curlgxnoise(p + set(0,0,0,t*s));&lt;br /&gt;
vector v1 = curlgxnoise(p + set(0,0,0,(t-l)*s));&lt;br /&gt;
@P += lerp(v0,v1,frac(@Time/l)) * 0.35;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--== Make a Grid ==&lt;br /&gt;
 for(int j = 0; j&amp;lt;4; j++)    {&lt;br /&gt;
    int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i,0,j)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i+1,0,j)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i+1,0,j+1)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i,0,j+1)) );&lt;br /&gt;
 }--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1328</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1328"/>
		<updated>2024-09-22T19:27:44Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values] | [https://www.motionforgepictures.com/height-maps/ Terrain Height Maps]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1327</id>
		<title>Houdini USD Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1327"/>
		<updated>2024-09-17T21:51:35Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.sidefx.com/docs/houdini//solaris/pattern.html Primitive matching patterns]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
%rendercamera&lt;br /&gt;
%rendersettings&lt;br /&gt;
%bound(/cameras/camera1, fovscale = 1.1)&lt;br /&gt;
{ usd_istype(0, @primpath, &amp;quot;DiskLight&amp;quot;) }&lt;br /&gt;
&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini//solaris/vex.html Using VEX with USD]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
usd_worldtransform&lt;br /&gt;
&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini/nodes/lop/karmastandardrendervars.html Karma Standard Render Vars]&lt;br /&gt;
&lt;br /&gt;
[https://renderman.pixar.com/resources/RenderMan_20/risLPEs.html LPEs]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1326</id>
		<title>Houdini USD Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1326"/>
		<updated>2024-09-17T21:50:47Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.sidefx.com/docs/houdini//solaris/pattern.html Primitive matching patterns]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
%rendercamera&lt;br /&gt;
%rendersettings&lt;br /&gt;
%bound(/cameras/camera1, fovscale = 1.1)&lt;br /&gt;
{ usd_istype(0, @primpath, &amp;quot;DiskLight&amp;quot;) }&lt;br /&gt;
&amp;lt;/syntaxhighlight &amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini//solaris/vex.html Using VEX with USD]&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini/nodes/lop/karmastandardrendervars.html Karma Standard Render Vars]&lt;br /&gt;
&lt;br /&gt;
[https://renderman.pixar.com/resources/RenderMan_20/risLPEs.html LPEs]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1325</id>
		<title>Houdini USD Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1325"/>
		<updated>2024-09-17T21:49:10Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.sidefx.com/docs/houdini//solaris/pattern.html Primitive matching patterns]&lt;br /&gt;
%rendercamera&lt;br /&gt;
%rendersettings&lt;br /&gt;
%bound(/cameras/camera1, fovscale = 1.1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini//solaris/vex.html Using VEX with USD]&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini/nodes/lop/karmastandardrendervars.html Karma Standard Render Vars]&lt;br /&gt;
&lt;br /&gt;
[https://renderman.pixar.com/resources/RenderMan_20/risLPEs.html LPEs]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1324</id>
		<title>Houdini USD Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1324"/>
		<updated>2024-09-17T21:47:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.sidefx.com/docs/houdini//solaris/pattern.html Primitive matching patterns]&lt;br /&gt;
%rendercamera&lt;br /&gt;
%rendersettings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini//solaris/vex.html Using VEX with USD]&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini/nodes/lop/karmastandardrendervars.html Karma Standard Render Vars]&lt;br /&gt;
&lt;br /&gt;
[https://renderman.pixar.com/resources/RenderMan_20/risLPEs.html LPEs]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1323</id>
		<title>Houdini USD Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1323"/>
		<updated>2024-09-17T21:47:02Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.sidefx.com/docs/houdini//solaris/pattern.html Primitive matching patterns]&lt;br /&gt;
%rendercamera&lt;br /&gt;
%rendercamera&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini//solaris/vex.html Using VEX with USD]&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini/nodes/lop/karmastandardrendervars.html Karma Standard Render Vars]&lt;br /&gt;
&lt;br /&gt;
[https://renderman.pixar.com/resources/RenderMan_20/risLPEs.html LPEs]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=VEX_Wrangle_Snippets&amp;diff=1322</id>
		<title>VEX Wrangle Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=VEX_Wrangle_Snippets&amp;diff=1322"/>
		<updated>2024-09-01T11:21:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Torus Knot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Translate ==&lt;br /&gt;
[[File:vex_offset_position.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
Offset the position of geometry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_offset_position.hiplc|vex_offset_position.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {1, 0, 0};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Taper ==&lt;br /&gt;
[[File:taper_vex_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reduces the circumference by scaling along the XZ plane based on the height of the geometry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:taper_vex_001.hiplc|taper_vex_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float taper = relbbox(0,@P).y;&lt;br /&gt;
// Remap the taper range&lt;br /&gt;
taper = fit01(taper, 1, fit01(sin(@Time*PI/5)*0.5+0.5, 2.5, .5));&lt;br /&gt;
// Apply the taper by scaling along the X and Y axis&lt;br /&gt;
@P *= set(taper,1,taper);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boxify ==&lt;br /&gt;
[[File:vex_boxify_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Distorts the geometry, morphing it into a box shape&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_boxify_001.hiplc|vex_boxify_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
vector size = getbbox_size(0);&lt;br /&gt;
size = min(size); // Largest component&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P *= (1.0/size);&lt;br /&gt;
@P = lerp(@P, @P+clamp(normalize(@P)*1.75,vector(-1),vector(1)) * (1.0-length(max(abs(@P)))), chf(&#039;blend&#039;));&lt;br /&gt;
@P *= size;&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spherify ==&lt;br /&gt;
[[File:vex_spherify_001.gif | 340px | right]]&lt;br /&gt;
Distorts the geometry into a sphere shape&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_spherify_001.hiplc|vex_spherify_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
vector size = getbbox_size(0);&lt;br /&gt;
size = min(size); // Largest component&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P *= (1.0/size);&lt;br /&gt;
@P = lerp(@P, normalize(@P), chf(&#039;blend&#039;));&lt;br /&gt;
@P *= size;&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stretch ==&lt;br /&gt;
[[File:vex_stretch_001.gif | 340px | right]]&lt;br /&gt;
Stretch the geometry across it&#039;s X axis&lt;br /&gt;
&lt;br /&gt;
Add one component of position to itself to stretch the geometry away from it&#039;s center.  You can control the amount of stretching by multiplying the position before adding it to itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_stretch_001.hiplc|vex_stretch_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P.x += @P.x*chf(&#039;amt&#039;);&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Shape Blending ==&lt;br /&gt;
[[File:vex_position_blend.gif | 340px | right]]&lt;br /&gt;
Blend between point attributes to produce a morph effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_position_blend.hiplc|vex_position_blend.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = lerp(@P, @opinput1_P, chf(&#039;blend&#039;));&lt;br /&gt;
@N = lerp(@N, @opinput1_N, chf(&#039;blend&#039;));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snap to Grid ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_snap_to_grid.gif | 340px | right]]&lt;br /&gt;
Snap ([https://en.wikipedia.org/wiki/Quantization_(signal_processing) quantize]) point positions to a grid for a downres effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_snap_to_grid.hiplc|File:vex_snap_to_grid.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float grid_scale = chf(&#039;grid_scale&#039;);&lt;br /&gt;
@P = rint(@P*grid_scale)/grid_scale;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make 2D ==&lt;br /&gt;
[[File:vex_setcomp.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
You can use the setcomp function to zero out a component of a vector, resulting in a two dimensional surface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_setcomp.hiplc|vex_setcomp.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the X component to zero, planar 2D in YZ&lt;br /&gt;
setcomp(@P, 0, 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the Y component to zero, planar 2D in XZ&lt;br /&gt;
setcomp(@P, 0, 1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the Z component to zero, planar 2D in XY&lt;br /&gt;
setcomp(@P, 0, 2);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Swizzle Coordinate System ==&lt;br /&gt;
[[File:vex_swizzle_vector_components.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
Shuffle the components of a vector using [https://www.sidefx.com/docs/houdini/vex/lang.html#dot-operator swizzle]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_swizzle_vector_components.hiplc|vex_swizzle_vector_components.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = @P.zyx;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Switch between Y up and Z up coordinates using [https://www.sidefx.com/docs/houdini/vex/lang.html#dot-operator swizzle]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = @P.xzy * set(-1,1,1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Twirl ==&lt;br /&gt;
[[File:vex_twirl.gif | 340px | right]]&lt;br /&gt;
Twirl the geometry around the Y axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_twirl.hiplc|vex_twirl.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
float u = atan2(@P.x, @P.z);&lt;br /&gt;
float r = length(@P * {1, 0, 1});&lt;br /&gt;
@P = set(sin(u-a), @P.y, cos(u-a)) * set(r,1,r);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float angle = chf(&#039;angle&#039;);&lt;br /&gt;
vector origin = set(0,0,0);&lt;br /&gt;
&lt;br /&gt;
vector d = v@P*set(1,0,1) - origin;&lt;br /&gt;
float r = length(d);&lt;br /&gt;
r = pow(r, chf(&#039;pow&#039;));&lt;br /&gt;
float beta = atan(d.x, d.z) + radians(angle) * r;&lt;br /&gt;
v@P = origin + r * set(sin(beta), 0, cos(beta)) + set(0,@P.y,0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
alt&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float angle = @P.y*900;&lt;br /&gt;
vector origin = set(0,0,0);&lt;br /&gt;
&lt;br /&gt;
vector d = v@P*set(1,0,1) - origin;&lt;br /&gt;
float r = length(d);&lt;br /&gt;
float beta = atan(d.x, d.z) + radians(angle);&lt;br /&gt;
v@P = origin + r * set(sin(beta), 0, cos(beta)) + set(0,@P.y,0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
alt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
vector pos = @P;&lt;br /&gt;
pos.x = (@P.x * cos(a)) - (@P.z * sin(a));&lt;br /&gt;
pos.y = @P.y;&lt;br /&gt;
pos.z = (@P.x * sin(a)) + (@P.z * cos(a));&lt;br /&gt;
@P = pos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
@P = set( (@P.x * cos(a)) - (@P.z * sin(a)), @P.y, (@P.x * sin(a)) + (@P.z * cos(a)) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
vector pos = @P;&lt;br /&gt;
float u = atan2(pos.x, pos.z);&lt;br /&gt;
float r = length(pos * {1, 0, 1});&lt;br /&gt;
pos = set(sin(u-a), pos.y, cos(u-a)) * r;&lt;br /&gt;
pos.y = @P.y;&lt;br /&gt;
@P = pos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
float u = atan2(@P.x, @P.z);&lt;br /&gt;
float r = length(@P * {1, 0, 1});&lt;br /&gt;
@P = set(sin(u-a), @P.y, cos(u-a)) * r;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peak ==&lt;br /&gt;
[[File:vex_push_surface_along_normals.gif | 340px | right]]&lt;br /&gt;
Move the surface along it&#039;s normals, producing an inflation effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_push_surface_along_normals.hip|vex_push_surface_along_normals.hip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += normalize(@P) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exploded View ==&lt;br /&gt;
[[File:vex_exploded_view.gif | 340px | right]]&lt;br /&gt;
Moves each packed piece outward from the geometry centroid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_exploded_view.hiplc|vex_exploded_view.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += (@P - getbbox_center(0)) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Point Jitter ==&lt;br /&gt;
[[File:vex_point_jitter.gif | 340px | right]]&lt;br /&gt;
Move each point in a random direction with a spherical distribution&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_point_jitter.hip|vex_point_jitter.hip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += sample_sphere_uniform(rand(@elemnum+chf(&#039;seed&#039;))) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plexus Effect ==&lt;br /&gt;
[[File:vex_plexus.gif | 340px | right]]&lt;br /&gt;
Connect nearby points&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_plexus.hiplc|vex_plexus.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
foreach(int pt; nearpoints(0, @P, 0.15, 10))    {&lt;br /&gt;
    if(pt &amp;gt; @ptnum)&lt;br /&gt;
        addprim(0, &#039;polyline&#039;, @ptnum, pt);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connect to Nearest Point ==&lt;br /&gt;
Draw a line to the closest point of the second input&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
addprim(0, &#039;polyline&#039;, @ptnum, addpoint(0, vector(point(1,&#039;P&#039;,nearpoint(1,@P)))) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connect to Closest Surface Position ==&lt;br /&gt;
Draw a line to the closest surface position&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
addprim(0, &#039;polyline&#039;, @ptnum, addpoint(0, minpos(1,@P) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Randomize the Rotation of Packed Primitives ==&lt;br /&gt;
Update the transform intrinsic to a random orientation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector r = sample_direction_uniform(rand(@primnum));&lt;br /&gt;
matrix3 x = primintrinsic(0,&#039;transform&#039;,i@primnum);&lt;br /&gt;
rotate(x, PI*pow(rand(@primnum-666),0.5), r);&lt;br /&gt;
setprimintrinsic(0,&#039;transform&#039;,i@primnum,x);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Randomize the Scale of Packed Primitives ==&lt;br /&gt;
Update the transform intrinsic to a apply a random scale&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector s = rand(i@primnum);&lt;br /&gt;
s = s.yyy;  // Uniform Scale&lt;br /&gt;
matrix3 x = primintrinsic(0,&#039;transform&#039;,i@primnum);&lt;br /&gt;
scale(x, s);&lt;br /&gt;
setprimintrinsic(0,&#039;transform&#039;,i@primnum,x);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Random Color from Normal Direction ==&lt;br /&gt;
Generate random colors based on the surface normal, adjust the multiplier to control the amount of colors&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = rand(rint(v@N*8));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Iterative Face Insetting ==&lt;br /&gt;
Recursive divide and inset edges, [https://twitter.com/d_gfx/status/1452718124579520512 via @d_gfx], excellent use of [https://www.sidefx.com/docs/houdini/vex/arrays.html arrays]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int pts[] = primpoints(0,@primnum); vector pos[];&lt;br /&gt;
int edge_div_pts[]; vector edge_div_pos[];&lt;br /&gt;
foreach( int pt; pts ) &lt;br /&gt;
    append(pos, vector(point(0,&#039;P&#039;,pt)));&lt;br /&gt;
for( int i = 0; i &amp;lt; chi(&#039;iterations&#039;); i++ )    {&lt;br /&gt;
    resize(edge_div_pts,0); // empty&lt;br /&gt;
    resize(edge_div_pos,0); // empty&lt;br /&gt;
    for( int j = 0; j &amp;lt; len(pts); j++ ) {&lt;br /&gt;
        append(edge_div_pos, lerp( pos[j], pos[(j+1)%len(pts)], chf(&#039;div_ratio&#039;) ));&lt;br /&gt;
        append(edge_div_pts, addpoint(0, edge_div_pos[-1])); // [-1] grabs the last item from an array&lt;br /&gt;
    }&lt;br /&gt;
    for (int k = 0; k &amp;lt; len(pts); k++ ) {&lt;br /&gt;
        addprim(0, &#039;poly&#039;, pts[k], edge_div_pts[k], edge_div_pts[(k+2)%len(pts)]);&lt;br /&gt;
    }&lt;br /&gt;
    pts = edge_div_pts;&lt;br /&gt;
    pos = edge_div_pos;&lt;br /&gt;
}&lt;br /&gt;
addprim(0, &#039;poly&#039;, edge_div_pts);&lt;br /&gt;
removeprim(0,@primnum,1); // Remove the input prim and any points belonging to it&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Iridescent Color Function ==&lt;br /&gt;
[[File:vex_iridescent.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Produce an iridescent color ramp from any varying value, [https://www.shadertoy.com/view/XlcBR7 from shadertoy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_iridescent.hiplc|vex_iridescent.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float amt = dot(@N, set(0,1,0))*0.5+0.5;&lt;br /&gt;
v@Cd =  (0.5 + 0.5 * cos( PI*2*( amt + set(0,1,2)/3) ) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rainbow Colors from HSV Colorspace ==&lt;br /&gt;
[[File:vex_hsvtorgb_rainbow_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can easily control the hue, while keeping the saturation and value the same using the [https://www.sidefx.com/docs/houdini/vex/functions/hsvtorgb.html hsvtorgb] function.&lt;br /&gt;
&lt;br /&gt;
This allows you to easily create rainbows, gradients, perform hue rotations and produce complimentary colors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_hsvtorgb_rainbow_001.hiplc|vex_hsvtorgb_rainbow_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = hsvtorgb( set(relbbox(0,@P).z - @Time/5 + dot(@N,set(0,1,0))/2, 1, 1));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rainbow Cycle with frac function ==&lt;br /&gt;
[[File:rainbow_cycle_w_frac_VEX.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using the [https://www.sidefx.com/docs/houdini/vex/functions/frac.html frac] function, you can cycle through a rainbow over a desired amount of elements.&lt;br /&gt;
&lt;br /&gt;
This is then offset by adding the current time to the fractional value, which produces the scrolling effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_frac_rainbow_cycle_001.hiplc|vex_frac_rainbow_cycle_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = hsvtorgb(set(frac(@elemnum/8.0)+@Time/10, 1, 1));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loop Over All Attributes ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
string pt_attrs[] = detailintrinsic(1,&#039;pointattributes&#039;);&lt;br /&gt;
foreach( string pt_attr; pt_attrs ) {&lt;br /&gt;
    if( pt_attr ~= &#039;attr_name*&#039; ) {&lt;br /&gt;
        setpointgroup(0, pt_attr, @ptnum, 1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Faces Across Bounding Box ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
if( relbbox(0,@P).x &amp;lt; rand(@primnum) )&lt;br /&gt;
    removeprim(0,@primnum,1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Torus Knot ==&lt;br /&gt;
[[File:vex_torus_knot_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
[https://prideout.net/knotgl/ Online Knot Viewer]&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_torus_knot_001.hiplc|vex_torus_knot_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float u = float(@ptnum)/(@numpt-1);&lt;br /&gt;
u += @Time/10.0;&lt;br /&gt;
u %= 1.0;&lt;br /&gt;
u *= PI * 2;&lt;br /&gt;
float r = 2.0;&lt;br /&gt;
float q = 2;&lt;br /&gt;
float p = 3;&lt;br /&gt;
f@u = u;&lt;br /&gt;
@P.x += cos(u*q) * (cos(u*p)+r);&lt;br /&gt;
@P.y += sin(u*q) * (cos(u*p)+r);&lt;br /&gt;
@P.z += sin(u*p);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remap Grid to Circle ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_map_grid_to_circle.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working with polar coordinates to map a square onto a circle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_map_grid_to_circle.hiplc|vex_map_grid_to_circle.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {0.5, 0.5, 0}; // Remap the grid to zero to one range&lt;br /&gt;
float theta = @P.x;&lt;br /&gt;
float radius = @P.y/2;&lt;br /&gt;
@P = 0;&lt;br /&gt;
@P.x = sin(theta*PI*2 ) * radius;&lt;br /&gt;
@P.y = cos(theta*PI*2 ) * radius;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remap Grid to Sphere ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_map_grid_to_sphere.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working with polar coordinates to map a square onto a sphere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_map_grid_to_sphere.hiplc|vex_map_grid_to_sphere.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {0.5, 0.5, 0}; // Remap the grid to zero to one range&lt;br /&gt;
float phi = @P.x;&lt;br /&gt;
float theta = 1.0-@P.y;&lt;br /&gt;
@P.x = sin(theta*PI*1 ) * cos(phi*PI*2 )/2;&lt;br /&gt;
@P.z = sin(theta*PI*1 ) * sin(phi*PI*2 )/2;&lt;br /&gt;
@P.y = cos(theta*PI*1 )/2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Quad ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(0,0,0)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(1,0,0)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(1,0,1)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(0,0,1)) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Grid ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
for(int i = 0; i&amp;lt;8; i++)    {&lt;br /&gt;
    for(int j = 0; j&amp;lt;8; j++)    {&lt;br /&gt;
        int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i,0,j)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i+1,0,j)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i+1,0,j+1)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i,0,j+1)) );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Circle ==&lt;br /&gt;
[[File:vex_make_circle.gif | 300px | right]]&lt;br /&gt;
&lt;br /&gt;
This example shows how you can generate a circle or N sided polygon using a for loop, sin and cos.&lt;br /&gt;
&lt;br /&gt;
Run the code in detail mode with an attribute wrangle.&lt;br /&gt;
&lt;br /&gt;
This is essentially the same idea as the [https://www.sidefx.com/docs/houdini/nodes/sop/circle.html circle] node but hopefully a beneficial example to see how this type of geometry is generated via VEX.&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_make_circle_001.hiplc|vex_make_circle_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
int seg = chi(&#039;segments&#039;);&lt;br /&gt;
for( int i = 0; i&amp;lt;seg; i++ )  {&lt;br /&gt;
    float u = float(i)/seg * 2*PI;&lt;br /&gt;
    addvertex(0, prim, addpoint(0, set(sin(u),0,cos(u))) );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Groups to Attribute ==&lt;br /&gt;
[https://zybrand.xyz/groups-to-attribute-with-vex From zybrand]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
//convert numbered groups to a numbered attribute&lt;br /&gt;
string groups[] = detailintrinsic(0, &amp;quot;primitivegroups&amp;quot;);&lt;br /&gt;
int prim = @primnum;&lt;br /&gt;
string elemnum;&lt;br /&gt;
&lt;br /&gt;
foreach(string i; groups)&lt;br /&gt;
{&lt;br /&gt;
    //if the current primitive is in group i&lt;br /&gt;
    if(inprimgroup(0,i,prim) == 1)&lt;br /&gt;
    {&lt;br /&gt;
        elemnum = re_find(r&amp;quot;\d{3,6}&amp;quot;,i);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
s@number = elemnum;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Looping Curl Noise ==&lt;br /&gt;
[[File:2022_12_11_looping_curl_noise.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to achieve seamless looping animation from curl noise by blending between two noises.&lt;br /&gt;
&lt;br /&gt;
In this example one noise function is evaluated at the current time, and a second noise function is evaluated at the time shifted back by the desired loop duration.&lt;br /&gt;
&lt;br /&gt;
The result of these two noise functions are blended from one to the other over the duration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_looping_noises.hiplc|vex_looping_noises.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Position x Frequency&lt;br /&gt;
vector p = @P*0.5;&lt;br /&gt;
// Speed&lt;br /&gt;
float s = 0.5;&lt;br /&gt;
// Loop Length (in seconds)&lt;br /&gt;
float l = 5;&lt;br /&gt;
// Time % duration&lt;br /&gt;
float t = (@Time%l);&lt;br /&gt;
// Blending&lt;br /&gt;
vector v0 = curlgxnoise(p + set(0,0,0,t*s));&lt;br /&gt;
vector v1 = curlgxnoise(p + set(0,0,0,(t-l)*s));&lt;br /&gt;
@P += lerp(v0,v1,frac(@Time/l)) * 0.35;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--== Make a Grid ==&lt;br /&gt;
 for(int j = 0; j&amp;lt;4; j++)    {&lt;br /&gt;
    int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i,0,j)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i+1,0,j)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i+1,0,j+1)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i,0,j+1)) );&lt;br /&gt;
 }--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=File:vex_torus_knot_001.hiplc&amp;diff=1321</id>
		<title>File:vex torus knot 001.hiplc</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=File:vex_torus_knot_001.hiplc&amp;diff=1321"/>
		<updated>2024-09-01T11:20:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=VEX_Wrangle_Snippets&amp;diff=1320</id>
		<title>VEX Wrangle Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=VEX_Wrangle_Snippets&amp;diff=1320"/>
		<updated>2024-09-01T11:12:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Torus Knot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Translate ==&lt;br /&gt;
[[File:vex_offset_position.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
Offset the position of geometry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_offset_position.hiplc|vex_offset_position.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {1, 0, 0};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Taper ==&lt;br /&gt;
[[File:taper_vex_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reduces the circumference by scaling along the XZ plane based on the height of the geometry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:taper_vex_001.hiplc|taper_vex_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float taper = relbbox(0,@P).y;&lt;br /&gt;
// Remap the taper range&lt;br /&gt;
taper = fit01(taper, 1, fit01(sin(@Time*PI/5)*0.5+0.5, 2.5, .5));&lt;br /&gt;
// Apply the taper by scaling along the X and Y axis&lt;br /&gt;
@P *= set(taper,1,taper);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boxify ==&lt;br /&gt;
[[File:vex_boxify_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Distorts the geometry, morphing it into a box shape&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_boxify_001.hiplc|vex_boxify_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
vector size = getbbox_size(0);&lt;br /&gt;
size = min(size); // Largest component&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P *= (1.0/size);&lt;br /&gt;
@P = lerp(@P, @P+clamp(normalize(@P)*1.75,vector(-1),vector(1)) * (1.0-length(max(abs(@P)))), chf(&#039;blend&#039;));&lt;br /&gt;
@P *= size;&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spherify ==&lt;br /&gt;
[[File:vex_spherify_001.gif | 340px | right]]&lt;br /&gt;
Distorts the geometry into a sphere shape&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_spherify_001.hiplc|vex_spherify_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
vector size = getbbox_size(0);&lt;br /&gt;
size = min(size); // Largest component&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P *= (1.0/size);&lt;br /&gt;
@P = lerp(@P, normalize(@P), chf(&#039;blend&#039;));&lt;br /&gt;
@P *= size;&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stretch ==&lt;br /&gt;
[[File:vex_stretch_001.gif | 340px | right]]&lt;br /&gt;
Stretch the geometry across it&#039;s X axis&lt;br /&gt;
&lt;br /&gt;
Add one component of position to itself to stretch the geometry away from it&#039;s center.  You can control the amount of stretching by multiplying the position before adding it to itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_stretch_001.hiplc|vex_stretch_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P.x += @P.x*chf(&#039;amt&#039;);&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Shape Blending ==&lt;br /&gt;
[[File:vex_position_blend.gif | 340px | right]]&lt;br /&gt;
Blend between point attributes to produce a morph effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_position_blend.hiplc|vex_position_blend.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = lerp(@P, @opinput1_P, chf(&#039;blend&#039;));&lt;br /&gt;
@N = lerp(@N, @opinput1_N, chf(&#039;blend&#039;));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snap to Grid ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_snap_to_grid.gif | 340px | right]]&lt;br /&gt;
Snap ([https://en.wikipedia.org/wiki/Quantization_(signal_processing) quantize]) point positions to a grid for a downres effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_snap_to_grid.hiplc|File:vex_snap_to_grid.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float grid_scale = chf(&#039;grid_scale&#039;);&lt;br /&gt;
@P = rint(@P*grid_scale)/grid_scale;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make 2D ==&lt;br /&gt;
[[File:vex_setcomp.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
You can use the setcomp function to zero out a component of a vector, resulting in a two dimensional surface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_setcomp.hiplc|vex_setcomp.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the X component to zero, planar 2D in YZ&lt;br /&gt;
setcomp(@P, 0, 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the Y component to zero, planar 2D in XZ&lt;br /&gt;
setcomp(@P, 0, 1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the Z component to zero, planar 2D in XY&lt;br /&gt;
setcomp(@P, 0, 2);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Swizzle Coordinate System ==&lt;br /&gt;
[[File:vex_swizzle_vector_components.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
Shuffle the components of a vector using [https://www.sidefx.com/docs/houdini/vex/lang.html#dot-operator swizzle]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_swizzle_vector_components.hiplc|vex_swizzle_vector_components.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = @P.zyx;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Switch between Y up and Z up coordinates using [https://www.sidefx.com/docs/houdini/vex/lang.html#dot-operator swizzle]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = @P.xzy * set(-1,1,1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Twirl ==&lt;br /&gt;
[[File:vex_twirl.gif | 340px | right]]&lt;br /&gt;
Twirl the geometry around the Y axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_twirl.hiplc|vex_twirl.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
float u = atan2(@P.x, @P.z);&lt;br /&gt;
float r = length(@P * {1, 0, 1});&lt;br /&gt;
@P = set(sin(u-a), @P.y, cos(u-a)) * set(r,1,r);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float angle = chf(&#039;angle&#039;);&lt;br /&gt;
vector origin = set(0,0,0);&lt;br /&gt;
&lt;br /&gt;
vector d = v@P*set(1,0,1) - origin;&lt;br /&gt;
float r = length(d);&lt;br /&gt;
r = pow(r, chf(&#039;pow&#039;));&lt;br /&gt;
float beta = atan(d.x, d.z) + radians(angle) * r;&lt;br /&gt;
v@P = origin + r * set(sin(beta), 0, cos(beta)) + set(0,@P.y,0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
alt&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float angle = @P.y*900;&lt;br /&gt;
vector origin = set(0,0,0);&lt;br /&gt;
&lt;br /&gt;
vector d = v@P*set(1,0,1) - origin;&lt;br /&gt;
float r = length(d);&lt;br /&gt;
float beta = atan(d.x, d.z) + radians(angle);&lt;br /&gt;
v@P = origin + r * set(sin(beta), 0, cos(beta)) + set(0,@P.y,0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
alt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
vector pos = @P;&lt;br /&gt;
pos.x = (@P.x * cos(a)) - (@P.z * sin(a));&lt;br /&gt;
pos.y = @P.y;&lt;br /&gt;
pos.z = (@P.x * sin(a)) + (@P.z * cos(a));&lt;br /&gt;
@P = pos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
@P = set( (@P.x * cos(a)) - (@P.z * sin(a)), @P.y, (@P.x * sin(a)) + (@P.z * cos(a)) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
vector pos = @P;&lt;br /&gt;
float u = atan2(pos.x, pos.z);&lt;br /&gt;
float r = length(pos * {1, 0, 1});&lt;br /&gt;
pos = set(sin(u-a), pos.y, cos(u-a)) * r;&lt;br /&gt;
pos.y = @P.y;&lt;br /&gt;
@P = pos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
float u = atan2(@P.x, @P.z);&lt;br /&gt;
float r = length(@P * {1, 0, 1});&lt;br /&gt;
@P = set(sin(u-a), @P.y, cos(u-a)) * r;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peak ==&lt;br /&gt;
[[File:vex_push_surface_along_normals.gif | 340px | right]]&lt;br /&gt;
Move the surface along it&#039;s normals, producing an inflation effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_push_surface_along_normals.hip|vex_push_surface_along_normals.hip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += normalize(@P) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exploded View ==&lt;br /&gt;
[[File:vex_exploded_view.gif | 340px | right]]&lt;br /&gt;
Moves each packed piece outward from the geometry centroid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_exploded_view.hiplc|vex_exploded_view.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += (@P - getbbox_center(0)) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Point Jitter ==&lt;br /&gt;
[[File:vex_point_jitter.gif | 340px | right]]&lt;br /&gt;
Move each point in a random direction with a spherical distribution&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_point_jitter.hip|vex_point_jitter.hip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += sample_sphere_uniform(rand(@elemnum+chf(&#039;seed&#039;))) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plexus Effect ==&lt;br /&gt;
[[File:vex_plexus.gif | 340px | right]]&lt;br /&gt;
Connect nearby points&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_plexus.hiplc|vex_plexus.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
foreach(int pt; nearpoints(0, @P, 0.15, 10))    {&lt;br /&gt;
    if(pt &amp;gt; @ptnum)&lt;br /&gt;
        addprim(0, &#039;polyline&#039;, @ptnum, pt);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connect to Nearest Point ==&lt;br /&gt;
Draw a line to the closest point of the second input&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
addprim(0, &#039;polyline&#039;, @ptnum, addpoint(0, vector(point(1,&#039;P&#039;,nearpoint(1,@P)))) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connect to Closest Surface Position ==&lt;br /&gt;
Draw a line to the closest surface position&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
addprim(0, &#039;polyline&#039;, @ptnum, addpoint(0, minpos(1,@P) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Randomize the Rotation of Packed Primitives ==&lt;br /&gt;
Update the transform intrinsic to a random orientation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector r = sample_direction_uniform(rand(@primnum));&lt;br /&gt;
matrix3 x = primintrinsic(0,&#039;transform&#039;,i@primnum);&lt;br /&gt;
rotate(x, PI*pow(rand(@primnum-666),0.5), r);&lt;br /&gt;
setprimintrinsic(0,&#039;transform&#039;,i@primnum,x);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Randomize the Scale of Packed Primitives ==&lt;br /&gt;
Update the transform intrinsic to a apply a random scale&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector s = rand(i@primnum);&lt;br /&gt;
s = s.yyy;  // Uniform Scale&lt;br /&gt;
matrix3 x = primintrinsic(0,&#039;transform&#039;,i@primnum);&lt;br /&gt;
scale(x, s);&lt;br /&gt;
setprimintrinsic(0,&#039;transform&#039;,i@primnum,x);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Random Color from Normal Direction ==&lt;br /&gt;
Generate random colors based on the surface normal, adjust the multiplier to control the amount of colors&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = rand(rint(v@N*8));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Iterative Face Insetting ==&lt;br /&gt;
Recursive divide and inset edges, [https://twitter.com/d_gfx/status/1452718124579520512 via @d_gfx], excellent use of [https://www.sidefx.com/docs/houdini/vex/arrays.html arrays]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int pts[] = primpoints(0,@primnum); vector pos[];&lt;br /&gt;
int edge_div_pts[]; vector edge_div_pos[];&lt;br /&gt;
foreach( int pt; pts ) &lt;br /&gt;
    append(pos, vector(point(0,&#039;P&#039;,pt)));&lt;br /&gt;
for( int i = 0; i &amp;lt; chi(&#039;iterations&#039;); i++ )    {&lt;br /&gt;
    resize(edge_div_pts,0); // empty&lt;br /&gt;
    resize(edge_div_pos,0); // empty&lt;br /&gt;
    for( int j = 0; j &amp;lt; len(pts); j++ ) {&lt;br /&gt;
        append(edge_div_pos, lerp( pos[j], pos[(j+1)%len(pts)], chf(&#039;div_ratio&#039;) ));&lt;br /&gt;
        append(edge_div_pts, addpoint(0, edge_div_pos[-1])); // [-1] grabs the last item from an array&lt;br /&gt;
    }&lt;br /&gt;
    for (int k = 0; k &amp;lt; len(pts); k++ ) {&lt;br /&gt;
        addprim(0, &#039;poly&#039;, pts[k], edge_div_pts[k], edge_div_pts[(k+2)%len(pts)]);&lt;br /&gt;
    }&lt;br /&gt;
    pts = edge_div_pts;&lt;br /&gt;
    pos = edge_div_pos;&lt;br /&gt;
}&lt;br /&gt;
addprim(0, &#039;poly&#039;, edge_div_pts);&lt;br /&gt;
removeprim(0,@primnum,1); // Remove the input prim and any points belonging to it&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Iridescent Color Function ==&lt;br /&gt;
[[File:vex_iridescent.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Produce an iridescent color ramp from any varying value, [https://www.shadertoy.com/view/XlcBR7 from shadertoy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_iridescent.hiplc|vex_iridescent.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float amt = dot(@N, set(0,1,0))*0.5+0.5;&lt;br /&gt;
v@Cd =  (0.5 + 0.5 * cos( PI*2*( amt + set(0,1,2)/3) ) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rainbow Colors from HSV Colorspace ==&lt;br /&gt;
[[File:vex_hsvtorgb_rainbow_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can easily control the hue, while keeping the saturation and value the same using the [https://www.sidefx.com/docs/houdini/vex/functions/hsvtorgb.html hsvtorgb] function.&lt;br /&gt;
&lt;br /&gt;
This allows you to easily create rainbows, gradients, perform hue rotations and produce complimentary colors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_hsvtorgb_rainbow_001.hiplc|vex_hsvtorgb_rainbow_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = hsvtorgb( set(relbbox(0,@P).z - @Time/5 + dot(@N,set(0,1,0))/2, 1, 1));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rainbow Cycle with frac function ==&lt;br /&gt;
[[File:rainbow_cycle_w_frac_VEX.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using the [https://www.sidefx.com/docs/houdini/vex/functions/frac.html frac] function, you can cycle through a rainbow over a desired amount of elements.&lt;br /&gt;
&lt;br /&gt;
This is then offset by adding the current time to the fractional value, which produces the scrolling effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_frac_rainbow_cycle_001.hiplc|vex_frac_rainbow_cycle_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = hsvtorgb(set(frac(@elemnum/8.0)+@Time/10, 1, 1));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loop Over All Attributes ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
string pt_attrs[] = detailintrinsic(1,&#039;pointattributes&#039;);&lt;br /&gt;
foreach( string pt_attr; pt_attrs ) {&lt;br /&gt;
    if( pt_attr ~= &#039;attr_name*&#039; ) {&lt;br /&gt;
        setpointgroup(0, pt_attr, @ptnum, 1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Faces Across Bounding Box ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
if( relbbox(0,@P).x &amp;lt; rand(@primnum) )&lt;br /&gt;
    removeprim(0,@primnum,1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Torus Knot ==&lt;br /&gt;
[[File:vex_torus_knot_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
[https://prideout.net/knotgl/ Online Knot Viewer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float u = float(@ptnum)/(@numpt-1);&lt;br /&gt;
u += @Time/10.0;&lt;br /&gt;
u %= 1.0;&lt;br /&gt;
u *= PI * 2;&lt;br /&gt;
float r = 2.0;&lt;br /&gt;
float q = 2;&lt;br /&gt;
float p = 3;&lt;br /&gt;
f@u = u;&lt;br /&gt;
@P.x += cos(u*q) * (cos(u*p)+r);&lt;br /&gt;
@P.y += sin(u*q) * (cos(u*p)+r);&lt;br /&gt;
@P.z += sin(u*p);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remap Grid to Circle ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_map_grid_to_circle.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working with polar coordinates to map a square onto a circle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_map_grid_to_circle.hiplc|vex_map_grid_to_circle.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {0.5, 0.5, 0}; // Remap the grid to zero to one range&lt;br /&gt;
float theta = @P.x;&lt;br /&gt;
float radius = @P.y/2;&lt;br /&gt;
@P = 0;&lt;br /&gt;
@P.x = sin(theta*PI*2 ) * radius;&lt;br /&gt;
@P.y = cos(theta*PI*2 ) * radius;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remap Grid to Sphere ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_map_grid_to_sphere.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working with polar coordinates to map a square onto a sphere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_map_grid_to_sphere.hiplc|vex_map_grid_to_sphere.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {0.5, 0.5, 0}; // Remap the grid to zero to one range&lt;br /&gt;
float phi = @P.x;&lt;br /&gt;
float theta = 1.0-@P.y;&lt;br /&gt;
@P.x = sin(theta*PI*1 ) * cos(phi*PI*2 )/2;&lt;br /&gt;
@P.z = sin(theta*PI*1 ) * sin(phi*PI*2 )/2;&lt;br /&gt;
@P.y = cos(theta*PI*1 )/2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Quad ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(0,0,0)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(1,0,0)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(1,0,1)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(0,0,1)) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Grid ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
for(int i = 0; i&amp;lt;8; i++)    {&lt;br /&gt;
    for(int j = 0; j&amp;lt;8; j++)    {&lt;br /&gt;
        int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i,0,j)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i+1,0,j)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i+1,0,j+1)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i,0,j+1)) );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Circle ==&lt;br /&gt;
[[File:vex_make_circle.gif | 300px | right]]&lt;br /&gt;
&lt;br /&gt;
This example shows how you can generate a circle or N sided polygon using a for loop, sin and cos.&lt;br /&gt;
&lt;br /&gt;
Run the code in detail mode with an attribute wrangle.&lt;br /&gt;
&lt;br /&gt;
This is essentially the same idea as the [https://www.sidefx.com/docs/houdini/nodes/sop/circle.html circle] node but hopefully a beneficial example to see how this type of geometry is generated via VEX.&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_make_circle_001.hiplc|vex_make_circle_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
int seg = chi(&#039;segments&#039;);&lt;br /&gt;
for( int i = 0; i&amp;lt;seg; i++ )  {&lt;br /&gt;
    float u = float(i)/seg * 2*PI;&lt;br /&gt;
    addvertex(0, prim, addpoint(0, set(sin(u),0,cos(u))) );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Groups to Attribute ==&lt;br /&gt;
[https://zybrand.xyz/groups-to-attribute-with-vex From zybrand]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
//convert numbered groups to a numbered attribute&lt;br /&gt;
string groups[] = detailintrinsic(0, &amp;quot;primitivegroups&amp;quot;);&lt;br /&gt;
int prim = @primnum;&lt;br /&gt;
string elemnum;&lt;br /&gt;
&lt;br /&gt;
foreach(string i; groups)&lt;br /&gt;
{&lt;br /&gt;
    //if the current primitive is in group i&lt;br /&gt;
    if(inprimgroup(0,i,prim) == 1)&lt;br /&gt;
    {&lt;br /&gt;
        elemnum = re_find(r&amp;quot;\d{3,6}&amp;quot;,i);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
s@number = elemnum;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Looping Curl Noise ==&lt;br /&gt;
[[File:2022_12_11_looping_curl_noise.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to achieve seamless looping animation from curl noise by blending between two noises.&lt;br /&gt;
&lt;br /&gt;
In this example one noise function is evaluated at the current time, and a second noise function is evaluated at the time shifted back by the desired loop duration.&lt;br /&gt;
&lt;br /&gt;
The result of these two noise functions are blended from one to the other over the duration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_looping_noises.hiplc|vex_looping_noises.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Position x Frequency&lt;br /&gt;
vector p = @P*0.5;&lt;br /&gt;
// Speed&lt;br /&gt;
float s = 0.5;&lt;br /&gt;
// Loop Length (in seconds)&lt;br /&gt;
float l = 5;&lt;br /&gt;
// Time % duration&lt;br /&gt;
float t = (@Time%l);&lt;br /&gt;
// Blending&lt;br /&gt;
vector v0 = curlgxnoise(p + set(0,0,0,t*s));&lt;br /&gt;
vector v1 = curlgxnoise(p + set(0,0,0,(t-l)*s));&lt;br /&gt;
@P += lerp(v0,v1,frac(@Time/l)) * 0.35;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--== Make a Grid ==&lt;br /&gt;
 for(int j = 0; j&amp;lt;4; j++)    {&lt;br /&gt;
    int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i,0,j)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i+1,0,j)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i+1,0,j+1)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i,0,j+1)) );&lt;br /&gt;
 }--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=VEX_Wrangle_Snippets&amp;diff=1319</id>
		<title>VEX Wrangle Snippets</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=VEX_Wrangle_Snippets&amp;diff=1319"/>
		<updated>2024-09-01T11:11:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* Torus Knot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Translate ==&lt;br /&gt;
[[File:vex_offset_position.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
Offset the position of geometry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_offset_position.hiplc|vex_offset_position.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {1, 0, 0};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Taper ==&lt;br /&gt;
[[File:taper_vex_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reduces the circumference by scaling along the XZ plane based on the height of the geometry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:taper_vex_001.hiplc|taper_vex_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float taper = relbbox(0,@P).y;&lt;br /&gt;
// Remap the taper range&lt;br /&gt;
taper = fit01(taper, 1, fit01(sin(@Time*PI/5)*0.5+0.5, 2.5, .5));&lt;br /&gt;
// Apply the taper by scaling along the X and Y axis&lt;br /&gt;
@P *= set(taper,1,taper);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boxify ==&lt;br /&gt;
[[File:vex_boxify_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Distorts the geometry, morphing it into a box shape&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_boxify_001.hiplc|vex_boxify_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
vector size = getbbox_size(0);&lt;br /&gt;
size = min(size); // Largest component&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P *= (1.0/size);&lt;br /&gt;
@P = lerp(@P, @P+clamp(normalize(@P)*1.75,vector(-1),vector(1)) * (1.0-length(max(abs(@P)))), chf(&#039;blend&#039;));&lt;br /&gt;
@P *= size;&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Spherify ==&lt;br /&gt;
[[File:vex_spherify_001.gif | 340px | right]]&lt;br /&gt;
Distorts the geometry into a sphere shape&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_spherify_001.hiplc|vex_spherify_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
vector size = getbbox_size(0);&lt;br /&gt;
size = min(size); // Largest component&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P *= (1.0/size);&lt;br /&gt;
@P = lerp(@P, normalize(@P), chf(&#039;blend&#039;));&lt;br /&gt;
@P *= size;&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stretch ==&lt;br /&gt;
[[File:vex_stretch_001.gif | 340px | right]]&lt;br /&gt;
Stretch the geometry across it&#039;s X axis&lt;br /&gt;
&lt;br /&gt;
Add one component of position to itself to stretch the geometry away from it&#039;s center.  You can control the amount of stretching by multiplying the position before adding it to itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_stretch_001.hiplc|vex_stretch_001.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector centroid = getbbox_center(0);&lt;br /&gt;
@P -= centroid;&lt;br /&gt;
@P.x += @P.x*chf(&#039;amt&#039;);&lt;br /&gt;
@P += centroid;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Shape Blending ==&lt;br /&gt;
[[File:vex_position_blend.gif | 340px | right]]&lt;br /&gt;
Blend between point attributes to produce a morph effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_position_blend.hiplc|vex_position_blend.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = lerp(@P, @opinput1_P, chf(&#039;blend&#039;));&lt;br /&gt;
@N = lerp(@N, @opinput1_N, chf(&#039;blend&#039;));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Snap to Grid ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_snap_to_grid.gif | 340px | right]]&lt;br /&gt;
Snap ([https://en.wikipedia.org/wiki/Quantization_(signal_processing) quantize]) point positions to a grid for a downres effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_snap_to_grid.hiplc|File:vex_snap_to_grid.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float grid_scale = chf(&#039;grid_scale&#039;);&lt;br /&gt;
@P = rint(@P*grid_scale)/grid_scale;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make 2D ==&lt;br /&gt;
[[File:vex_setcomp.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
You can use the setcomp function to zero out a component of a vector, resulting in a two dimensional surface.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_setcomp.hiplc|vex_setcomp.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the X component to zero, planar 2D in YZ&lt;br /&gt;
setcomp(@P, 0, 0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the Y component to zero, planar 2D in XZ&lt;br /&gt;
setcomp(@P, 0, 1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Set the Z component to zero, planar 2D in XY&lt;br /&gt;
setcomp(@P, 0, 2);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Swizzle Coordinate System ==&lt;br /&gt;
[[File:vex_swizzle_vector_components.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
Shuffle the components of a vector using [https://www.sidefx.com/docs/houdini/vex/lang.html#dot-operator swizzle]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_swizzle_vector_components.hiplc|vex_swizzle_vector_components.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = @P.zyx;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Switch between Y up and Z up coordinates using [https://www.sidefx.com/docs/houdini/vex/lang.html#dot-operator swizzle]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P = @P.xzy * set(-1,1,1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Twirl ==&lt;br /&gt;
[[File:vex_twirl.gif | 340px | right]]&lt;br /&gt;
Twirl the geometry around the Y axis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_twirl.hiplc|vex_twirl.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
float u = atan2(@P.x, @P.z);&lt;br /&gt;
float r = length(@P * {1, 0, 1});&lt;br /&gt;
@P = set(sin(u-a), @P.y, cos(u-a)) * set(r,1,r);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float angle = chf(&#039;angle&#039;);&lt;br /&gt;
vector origin = set(0,0,0);&lt;br /&gt;
&lt;br /&gt;
vector d = v@P*set(1,0,1) - origin;&lt;br /&gt;
float r = length(d);&lt;br /&gt;
r = pow(r, chf(&#039;pow&#039;));&lt;br /&gt;
float beta = atan(d.x, d.z) + radians(angle) * r;&lt;br /&gt;
v@P = origin + r * set(sin(beta), 0, cos(beta)) + set(0,@P.y,0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
alt&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float angle = @P.y*900;&lt;br /&gt;
vector origin = set(0,0,0);&lt;br /&gt;
&lt;br /&gt;
vector d = v@P*set(1,0,1) - origin;&lt;br /&gt;
float r = length(d);&lt;br /&gt;
float beta = atan(d.x, d.z) + radians(angle);&lt;br /&gt;
v@P = origin + r * set(sin(beta), 0, cos(beta)) + set(0,@P.y,0);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
alt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
vector pos = @P;&lt;br /&gt;
pos.x = (@P.x * cos(a)) - (@P.z * sin(a));&lt;br /&gt;
pos.y = @P.y;&lt;br /&gt;
pos.z = (@P.x * sin(a)) + (@P.z * cos(a));&lt;br /&gt;
@P = pos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
@P = set( (@P.x * cos(a)) - (@P.z * sin(a)), @P.y, (@P.x * sin(a)) + (@P.z * cos(a)) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
vector pos = @P;&lt;br /&gt;
float u = atan2(pos.x, pos.z);&lt;br /&gt;
float r = length(pos * {1, 0, 1});&lt;br /&gt;
pos = set(sin(u-a), pos.y, cos(u-a)) * r;&lt;br /&gt;
pos.y = @P.y;&lt;br /&gt;
@P = pos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float a = chf(&#039;angle&#039;) * length(@P * {1, 0, 1});&lt;br /&gt;
float u = atan2(@P.x, @P.z);&lt;br /&gt;
float r = length(@P * {1, 0, 1});&lt;br /&gt;
@P = set(sin(u-a), @P.y, cos(u-a)) * r;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peak ==&lt;br /&gt;
[[File:vex_push_surface_along_normals.gif | 340px | right]]&lt;br /&gt;
Move the surface along it&#039;s normals, producing an inflation effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_push_surface_along_normals.hip|vex_push_surface_along_normals.hip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += normalize(@P) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exploded View ==&lt;br /&gt;
[[File:vex_exploded_view.gif | 340px | right]]&lt;br /&gt;
Moves each packed piece outward from the geometry centroid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_exploded_view.hiplc|vex_exploded_view.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += (@P - getbbox_center(0)) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Point Jitter ==&lt;br /&gt;
[[File:vex_point_jitter.gif | 340px | right]]&lt;br /&gt;
Move each point in a random direction with a spherical distribution&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_point_jitter.hip|vex_point_jitter.hip]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += sample_sphere_uniform(rand(@elemnum+chf(&#039;seed&#039;))) * chf(&#039;scale&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Plexus Effect ==&lt;br /&gt;
[[File:vex_plexus.gif | 340px | right]]&lt;br /&gt;
Connect nearby points&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_plexus.hiplc|vex_plexus.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
foreach(int pt; nearpoints(0, @P, 0.15, 10))    {&lt;br /&gt;
    if(pt &amp;gt; @ptnum)&lt;br /&gt;
        addprim(0, &#039;polyline&#039;, @ptnum, pt);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connect to Nearest Point ==&lt;br /&gt;
Draw a line to the closest point of the second input&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
addprim(0, &#039;polyline&#039;, @ptnum, addpoint(0, vector(point(1,&#039;P&#039;,nearpoint(1,@P)))) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connect to Closest Surface Position ==&lt;br /&gt;
Draw a line to the closest surface position&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
addprim(0, &#039;polyline&#039;, @ptnum, addpoint(0, minpos(1,@P) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Randomize the Rotation of Packed Primitives ==&lt;br /&gt;
Update the transform intrinsic to a random orientation&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector r = sample_direction_uniform(rand(@primnum));&lt;br /&gt;
matrix3 x = primintrinsic(0,&#039;transform&#039;,i@primnum);&lt;br /&gt;
rotate(x, PI*pow(rand(@primnum-666),0.5), r);&lt;br /&gt;
setprimintrinsic(0,&#039;transform&#039;,i@primnum,x);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Randomize the Scale of Packed Primitives ==&lt;br /&gt;
Update the transform intrinsic to a apply a random scale&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
vector s = rand(i@primnum);&lt;br /&gt;
s = s.yyy;  // Uniform Scale&lt;br /&gt;
matrix3 x = primintrinsic(0,&#039;transform&#039;,i@primnum);&lt;br /&gt;
scale(x, s);&lt;br /&gt;
setprimintrinsic(0,&#039;transform&#039;,i@primnum,x);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Random Color from Normal Direction ==&lt;br /&gt;
Generate random colors based on the surface normal, adjust the multiplier to control the amount of colors&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = rand(rint(v@N*8));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Iterative Face Insetting ==&lt;br /&gt;
Recursive divide and inset edges, [https://twitter.com/d_gfx/status/1452718124579520512 via @d_gfx], excellent use of [https://www.sidefx.com/docs/houdini/vex/arrays.html arrays]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int pts[] = primpoints(0,@primnum); vector pos[];&lt;br /&gt;
int edge_div_pts[]; vector edge_div_pos[];&lt;br /&gt;
foreach( int pt; pts ) &lt;br /&gt;
    append(pos, vector(point(0,&#039;P&#039;,pt)));&lt;br /&gt;
for( int i = 0; i &amp;lt; chi(&#039;iterations&#039;); i++ )    {&lt;br /&gt;
    resize(edge_div_pts,0); // empty&lt;br /&gt;
    resize(edge_div_pos,0); // empty&lt;br /&gt;
    for( int j = 0; j &amp;lt; len(pts); j++ ) {&lt;br /&gt;
        append(edge_div_pos, lerp( pos[j], pos[(j+1)%len(pts)], chf(&#039;div_ratio&#039;) ));&lt;br /&gt;
        append(edge_div_pts, addpoint(0, edge_div_pos[-1])); // [-1] grabs the last item from an array&lt;br /&gt;
    }&lt;br /&gt;
    for (int k = 0; k &amp;lt; len(pts); k++ ) {&lt;br /&gt;
        addprim(0, &#039;poly&#039;, pts[k], edge_div_pts[k], edge_div_pts[(k+2)%len(pts)]);&lt;br /&gt;
    }&lt;br /&gt;
    pts = edge_div_pts;&lt;br /&gt;
    pos = edge_div_pos;&lt;br /&gt;
}&lt;br /&gt;
addprim(0, &#039;poly&#039;, edge_div_pts);&lt;br /&gt;
removeprim(0,@primnum,1); // Remove the input prim and any points belonging to it&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Iridescent Color Function ==&lt;br /&gt;
[[File:vex_iridescent.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Produce an iridescent color ramp from any varying value, [https://www.shadertoy.com/view/XlcBR7 from shadertoy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_iridescent.hiplc|vex_iridescent.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float amt = dot(@N, set(0,1,0))*0.5+0.5;&lt;br /&gt;
v@Cd =  (0.5 + 0.5 * cos( PI*2*( amt + set(0,1,2)/3) ) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rainbow Colors from HSV Colorspace ==&lt;br /&gt;
[[File:vex_hsvtorgb_rainbow_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can easily control the hue, while keeping the saturation and value the same using the [https://www.sidefx.com/docs/houdini/vex/functions/hsvtorgb.html hsvtorgb] function.&lt;br /&gt;
&lt;br /&gt;
This allows you to easily create rainbows, gradients, perform hue rotations and produce complimentary colors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_hsvtorgb_rainbow_001.hiplc|vex_hsvtorgb_rainbow_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = hsvtorgb( set(relbbox(0,@P).z - @Time/5 + dot(@N,set(0,1,0))/2, 1, 1));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rainbow Cycle with frac function ==&lt;br /&gt;
[[File:rainbow_cycle_w_frac_VEX.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Using the [https://www.sidefx.com/docs/houdini/vex/functions/frac.html frac] function, you can cycle through a rainbow over a desired amount of elements.&lt;br /&gt;
&lt;br /&gt;
This is then offset by adding the current time to the fractional value, which produces the scrolling effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_frac_rainbow_cycle_001.hiplc|vex_frac_rainbow_cycle_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
v@Cd = hsvtorgb(set(frac(@elemnum/8.0)+@Time/10, 1, 1));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loop Over All Attributes ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
string pt_attrs[] = detailintrinsic(1,&#039;pointattributes&#039;);&lt;br /&gt;
foreach( string pt_attr; pt_attrs ) {&lt;br /&gt;
    if( pt_attr ~= &#039;attr_name*&#039; ) {&lt;br /&gt;
        setpointgroup(0, pt_attr, @ptnum, 1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove Faces Across Bounding Box ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
if( relbbox(0,@P).x &amp;lt; rand(@primnum) )&lt;br /&gt;
    removeprim(0,@primnum,1);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Torus Knot ==&lt;br /&gt;
[[File:vex_torus_knot_001.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
[https://prideout.net/knotgl/ Online Knot Viewer]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
float u = float(@ptnum)/(@numpt-1);&lt;br /&gt;
u += @Time/10.0;&lt;br /&gt;
u %= 1.0;&lt;br /&gt;
u *= PI * 2;&lt;br /&gt;
float r = 2.0;&lt;br /&gt;
float q = 2;&lt;br /&gt;
float p = 3;&lt;br /&gt;
f@u = u;&lt;br /&gt;
@P.x += cos(u*q) * (cos(u*p)+r);&lt;br /&gt;
@P.y += sin(u*q) * (cos(u*p)+r);&lt;br /&gt;
@P.z += sin(u*p);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remap Grid to Circle ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_map_grid_to_circle.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working with polar coordinates to map a square onto a circle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_map_grid_to_circle.hiplc|vex_map_grid_to_circle.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {0.5, 0.5, 0}; // Remap the grid to zero to one range&lt;br /&gt;
float theta = @P.x;&lt;br /&gt;
float radius = @P.y/2;&lt;br /&gt;
@P = 0;&lt;br /&gt;
@P.x = sin(theta*PI*2 ) * radius;&lt;br /&gt;
@P.y = cos(theta*PI*2 ) * radius;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remap Grid to Sphere ==&lt;br /&gt;
&lt;br /&gt;
[[File:vex_map_grid_to_sphere.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Working with polar coordinates to map a square onto a sphere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_map_grid_to_sphere.hiplc|vex_map_grid_to_sphere.hiplc]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
@P += {0.5, 0.5, 0}; // Remap the grid to zero to one range&lt;br /&gt;
float phi = @P.x;&lt;br /&gt;
float theta = 1.0-@P.y;&lt;br /&gt;
@P.x = sin(theta*PI*1 ) * cos(phi*PI*2 )/2;&lt;br /&gt;
@P.z = sin(theta*PI*1 ) * sin(phi*PI*2 )/2;&lt;br /&gt;
@P.y = cos(theta*PI*1 )/2;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Quad ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(0,0,0)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(1,0,0)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(1,0,1)) );&lt;br /&gt;
addvertex(0,prim,addpoint(0,set(0,0,1)) );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Grid ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
for(int i = 0; i&amp;lt;8; i++)    {&lt;br /&gt;
    for(int j = 0; j&amp;lt;8; j++)    {&lt;br /&gt;
        int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i,0,j)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i+1,0,j)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i+1,0,j+1)) );&lt;br /&gt;
        addvertex(0,prim,addpoint(0,set(i,0,j+1)) );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Make a Circle ==&lt;br /&gt;
[[File:vex_make_circle.gif | 300px | right]]&lt;br /&gt;
&lt;br /&gt;
This example shows how you can generate a circle or N sided polygon using a for loop, sin and cos.&lt;br /&gt;
&lt;br /&gt;
Run the code in detail mode with an attribute wrangle.&lt;br /&gt;
&lt;br /&gt;
This is essentially the same idea as the [https://www.sidefx.com/docs/houdini/nodes/sop/circle.html circle] node but hopefully a beneficial example to see how this type of geometry is generated via VEX.&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_make_circle_001.hiplc|vex_make_circle_001.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
int seg = chi(&#039;segments&#039;);&lt;br /&gt;
for( int i = 0; i&amp;lt;seg; i++ )  {&lt;br /&gt;
    float u = float(i)/seg * 2*PI;&lt;br /&gt;
    addvertex(0, prim, addpoint(0, set(sin(u),0,cos(u))) );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Groups to Attribute ==&lt;br /&gt;
[https://zybrand.xyz/groups-to-attribute-with-vex From zybrand]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
//convert numbered groups to a numbered attribute&lt;br /&gt;
string groups[] = detailintrinsic(0, &amp;quot;primitivegroups&amp;quot;);&lt;br /&gt;
int prim = @primnum;&lt;br /&gt;
string elemnum;&lt;br /&gt;
&lt;br /&gt;
foreach(string i; groups)&lt;br /&gt;
{&lt;br /&gt;
    //if the current primitive is in group i&lt;br /&gt;
    if(inprimgroup(0,i,prim) == 1)&lt;br /&gt;
    {&lt;br /&gt;
        elemnum = re_find(r&amp;quot;\d{3,6}&amp;quot;,i);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
s@number = elemnum;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Looping Curl Noise ==&lt;br /&gt;
[[File:2022_12_11_looping_curl_noise.gif | 340px | right]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to achieve seamless looping animation from curl noise by blending between two noises.&lt;br /&gt;
&lt;br /&gt;
In this example one noise function is evaluated at the current time, and a second noise function is evaluated at the time shifted back by the desired loop duration.&lt;br /&gt;
&lt;br /&gt;
The result of these two noise functions are blended from one to the other over the duration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:File:vex_looping_noises.hiplc|vex_looping_noises.hiplc]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;C&#039;&amp;gt;&lt;br /&gt;
// Position x Frequency&lt;br /&gt;
vector p = @P*0.5;&lt;br /&gt;
// Speed&lt;br /&gt;
float s = 0.5;&lt;br /&gt;
// Loop Length (in seconds)&lt;br /&gt;
float l = 5;&lt;br /&gt;
// Time % duration&lt;br /&gt;
float t = (@Time%l);&lt;br /&gt;
// Blending&lt;br /&gt;
vector v0 = curlgxnoise(p + set(0,0,0,t*s));&lt;br /&gt;
vector v1 = curlgxnoise(p + set(0,0,0,(t-l)*s));&lt;br /&gt;
@P += lerp(v0,v1,frac(@Time/l)) * 0.35;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--== Make a Grid ==&lt;br /&gt;
 for(int j = 0; j&amp;lt;4; j++)    {&lt;br /&gt;
    int prim = addprim(0,&#039;poly&#039;);&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i,0,j)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i+1,0,j)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i+1,0,j+1)) );&lt;br /&gt;
    addvertex(0,prim,addpoint(0,set(i,0,j+1)) );&lt;br /&gt;
 }--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=File:vex_torus_knot_001.gif&amp;diff=1318</id>
		<title>File:vex torus knot 001.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=File:vex_torus_knot_001.gif&amp;diff=1318"/>
		<updated>2024-09-01T11:10:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1317</id>
		<title>Houdini USD Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1317"/>
		<updated>2024-08-09T19:40:21Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.sidefx.com/docs/houdini//solaris/pattern.html Primitive matching patterns]&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini//solaris/vex.html Using VEX with USD]&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini/nodes/lop/karmastandardrendervars.html Karma Standard Render Vars]&lt;br /&gt;
&lt;br /&gt;
[https://renderman.pixar.com/resources/RenderMan_20/risLPEs.html LPEs]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1316</id>
		<title>Houdini USD Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1316"/>
		<updated>2024-08-09T19:39:40Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.sidefx.com/docs/houdini//solaris/pattern.html Primitive matching patterns]&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini//solaris/vex.html Using VEX with USD]&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini/nodes/lop/karmastandardrendervars.html Karma Standard Render Vars]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1315</id>
		<title>Houdini USD Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1315"/>
		<updated>2024-08-09T19:38:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.sidefx.com/docs/houdini//solaris/pattern.html Primitive matching patterns]&lt;br /&gt;
&lt;br /&gt;
[https://www.sidefx.com/docs/houdini//solaris/vex.html Using VEX with USD]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1314</id>
		<title>Houdini USD Cookbook</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Houdini_USD_Cookbook&amp;diff=1314"/>
		<updated>2024-08-09T19:37:19Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;[https://www.sidefx.com/docs/houdini//solaris/pattern.html Primitive matching patterns]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.sidefx.com/docs/houdini//solaris/pattern.html Primitive matching patterns]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1313</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.johnkunz.com/index.php?title=Resources&amp;diff=1313"/>
		<updated>2024-07-30T17:54:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some useful resources to help you with Houdini.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Geometry &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[http://threedscans.com/ Three D Scans] | [https://3d.si.edu/cc0 Smithsonian] | [https://wirewheelsclub.com/models/ Wire Wheels Club] | [http://www.graphics.stanford.edu/data/3Dscanrep/ Stanford 3D Scans] | [https://sketchfab.com/blogs/community/sketchfab-launches-public-domain-dedication-for-3d-cultural-heritage/ Sketchfab 3D Cultural Heritage] | [https://www.myminifactory.com/scantheworld/full-collection My Mini Factory] | [http://casual-effects.com/data/index.html Casual-Effects Data] | [http://www.sampleandhold.co.uk/downloads/ Sample and Hold] | [https://benedikt-bitterli.me/resources/ Benedikt-Bitterli.me] | [https://jangafx.com/software/embergen/download/free-vdb-animations/ EmberGen VDBs]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; HDRIs &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://hdrihaven.com/hdris/ Poly Haven] | [http://themarichannel.com/all-hdr/ The Mari Channel] | [https://renderman.pixar.com/category/111-hdri Renderman] | [http://noemotionhdrs.net/ No Emotion HDRs] | [http://www.hdrlabs.com/sibl/archive.html HDR Labs SIBL]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Textures &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://ambientcg.com/categories ambientCG] | [https://3dtextures.me/ 3D Textures] | [https://www.cgbookcase.com/textures CG Bookcase] | [https://texturebox.com/ Texture Box] | [http://thepatternlibrary.com/ The Pattern Library] | [https://www.textures.com/ Textures.com] | [http://texturify.com/ Texturify] | [http://uvchecker.byvalle.com/ UV Grid Generator] | [https://physicallybased.info/ Physically Based Shader Values]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Tools &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://color.adobe.com/explore Adobe Color] | [https://www.iquilezles.org/apps/graphtoy/ Graphtoy] | [https://fonts.google.com/ Google Fonts] | [https://www.canva.com/colors/color-palettes/ Canva Color Palettes] | [https://www.canva.com/colors/color-palettes/ Hex Color Palettes] | [https://windmillart.net/?p=jsplacement Jsplacement] | [https://rainboxlab.org/tools/dume/ Dume] | [https://soulwire.co.uk/math-for-motion/ Math for Motion] | [http://foxcodex.html.xdomain.jp/index.html Periodic Table of Motion] | [https://mrviewer.sourceforge.io/ mrViewer] | [https://carbon.now.sh/ Carbon] | [https://github.com/anvaka/city-roads City Roads] | [https://pureref.com PureRef] | [https://redketchup.io/twitter-downloader Save mp4 and gif from Twitter] | [https://wumbo.net/glossary/ Math Glossary] | [https://ezgif.com/ EZgif Convert]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Inspiration &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://motionographer.com/tag/photoreal/ Motionographer Photoreal] | [https://www.stashmedia.tv/ Stash Magazine] | [http://artofstyleframe.com/ Art of Style Frame] | [https://www.artofthetitle.com/ Art of the Title] | [https://www.behance.net/galleries/motion/ Behance Motion Gallery] | [https://www.behance.net/search/projects/?search=Houdini%20FX Behance Houdini FX] | [https://www.sakugabooru.com/tag?name=&amp;amp;type=&amp;amp;order=count Sakuga Booru] | [http://ref-fx.com/ FX References] | [https://www.instagram.com/explore/tags/xuxoe/ Instagram #xuxoe] | [https://beforesandafters.com/ Before &amp;amp; Afters] | [https://butdoesitfloat.com/img/random But Does It Float] | [https://fyfluiddynamics.com/ FYFD] | [https://dribbble.com/tags/houdini Houdini Dribble] | [https://www.are.na/john-kunz are.na] | [http://foxcodex.html.xdomain.jp/index.html Motion Periodic Table] | [http://www.sylvain-nouveau.com/reffx/misc/ FX References] | [https://mr5ivethou5and.tumblr.com/archive mr5ivethou5and] | [https://timeline.lerandom.art/ Generative Art Timeline] | [https://www.youtube.com/playlist?list=PLyzOQqMHGyYTsz7-jlj-SeOm6iC0v-7B3 5 Decades of digital art history on YouTube]&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;&#039; Houdini &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[https://www.houdinikitchen.net/2019/12/21/how-to-create-l-systems/ L Systems] | [https://procegen.konstantinmagnus.de/ procegen] | [https://hdbp.io/browse Houdini Blueprints] | [https://github.com/kiryha/Houdini/wiki/vex-for-artists VEX Guide for Artists] | [https://www.sidefx.com/contentlibrary/ SideFX Content Library] | [https://forums.odforce.net/topic/49522-tutorial-hip-library/ OdForce Tutorial .hip Library] | [https://www.sidefx.com/learn/getting_started/ SideFX Getting Started] | [https://forums.odforce.net/topic/24056-learning-vex-via-animated-gifs-bees-bombs/ OdForce Learning VEX Via Bees and Bombs] | [https://houdinigubbins.wordpress.com/ Houdini Gubbins] | [http://wordpress.discretization.de/houdini/ Houdini Tech Blog] | [https://www.sidefx.com/houdini-hive/houdini-hive-worldwide/ Hive] | [https://www.tokeru.com/cgwiki/index.php?title=Houdini Tokeru] | [https://ikrima.dev/houdini/basics/hou-crash-course/ Crash Course] | [https://jeremypaton.github.io/site/build/nodes/sop.html SOP Quick Reference] | [https://discord.gg/dbJrmM8 Kunz Discord Community] | [https://houdiniquicktips.weebly.com/ Quick Tips]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>