{"id":1617,"date":"2025-11-27T16:12:00","date_gmt":"2025-11-27T16:12:00","guid":{"rendered":"https:\/\/stuartcupit.com\/wordpress\/?p=1617"},"modified":"2026-09-11T21:22:03","modified_gmt":"2026-09-11T21:22:03","slug":"reaction-diffusion","status":"publish","type":"post","link":"https:\/\/stuartcupit.com\/wordpress\/?p=1617","title":{"rendered":"Reaction Diffusion"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Tinkering around with the amazing <a href=\"https:\/\/derivative.ca\/community-post\/glsl-t3d-how-josef-pelz-simplified-3d-textures-all\/70985\">T3D<\/a> 3D textures in Touchdesigner. Followed a couple of tutorials on how to implement reaction diffusion in 3D. using a spinning seed object to source the reaction. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Loved experimenting with the 3D textures, takes all the 2D image manipulation and applies it to a volume which can then be skinned and rendered as a 3D object. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All calculated in realtime at ~30-60fps.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2049\" height=\"1081\" src=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-27-10-22-41-1-2049x1081.png\" alt=\"\" class=\"wp-image-1634\" srcset=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-27-10-22-41-1-2049x1081.png 2049w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-27-10-22-41-1-400x211.png 400w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-27-10-22-41-1-768x405.png 768w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-27-10-22-41-1-1536x810.png 1536w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-27-10-22-41-1-2048x1080.png 2048w\" sizes=\"auto, (max-width: 2049px) 100vw, 2049px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2049\" height=\"1081\" src=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-21-15-1-2049x1081.png\" alt=\"\" class=\"wp-image-1635\" srcset=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-21-15-1-2049x1081.png 2049w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-21-15-1-400x211.png 400w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-21-15-1-768x405.png 768w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-21-15-1-1536x810.png 1536w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-21-15-1-2048x1080-1.png 2048w\" sizes=\"auto, (max-width: 2049px) 100vw, 2049px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2049\" height=\"1081\" src=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-20-3-1-2049x1081.png\" alt=\"\" class=\"wp-image-1636\" srcset=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-20-3-1-2049x1081.png 2049w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-20-3-1-400x211.png 400w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-20-3-1-768x405.png 768w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-20-3-1-1536x810.png 1536w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-20-3-1-2048x1080-1.png 2048w\" sizes=\"auto, (max-width: 2049px) 100vw, 2049px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2049\" height=\"1081\" src=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-0-28-1-2049x1081.png\" alt=\"\" class=\"wp-image-1637\" srcset=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-0-28-1-2049x1081.png 2049w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-0-28-1-400x211.png 400w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-0-28-1-768x405.png 768w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-0-28-1-1536x810.png 1536w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion_25-11-26-22-0-28-1-2048x1080.png 2048w\" sizes=\"auto, (max-width: 2049px) 100vw, 2049px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"720\" src=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion-T3D_24-11-23-17-54-18-1.png\" alt=\"\" class=\"wp-image-1638\" srcset=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion-T3D_24-11-23-17-54-18-1.png 1280w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion-T3D_24-11-23-17-54-18-1-400x225.png 400w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Reaction-Diffusion-T3D_24-11-23-17-54-18-1-768x432.png 768w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/reaction-diffusion-edit.mp4\"><\/video><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I also experimented with running it through my contour algorithm to get a plottable line art version.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"2049\" height=\"1153\" src=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Contours_24-11-30-11-4-12-smoothed-2049x1153.jpg\" alt=\"\" class=\"wp-image-1639\" srcset=\"https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Contours_24-11-30-11-4-12-smoothed-2049x1153.jpg 2049w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Contours_24-11-30-11-4-12-smoothed-400x225.jpg 400w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Contours_24-11-30-11-4-12-smoothed-768x432.jpg 768w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Contours_24-11-30-11-4-12-smoothed-1536x864.jpg 1536w, https:\/\/stuartcupit.com\/wordpress\/wp-content\/uploads\/2025\/11\/Contours_24-11-30-11-4-12-smoothed-2048x1152.jpg 2048w\" sizes=\"auto, (max-width: 2049px) 100vw, 2049px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tinkering around with the amazing T3D 3D textures in Touchdesigner. Followed a couple of tutorials on how to implement reaction diffusion in 3D. using a spinning seed object to source the reaction. Loved experimenting with the 3D textures, takes all the 2D image manipulation and applies it to a volume which can then be skinned&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1632,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,5],"tags":[],"class_list":["post-1617","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cgi","category-programming"],"_links":{"self":[{"href":"https:\/\/stuartcupit.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1617","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stuartcupit.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stuartcupit.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stuartcupit.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stuartcupit.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1617"}],"version-history":[{"count":5,"href":"https:\/\/stuartcupit.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1617\/revisions"}],"predecessor-version":[{"id":1644,"href":"https:\/\/stuartcupit.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1617\/revisions\/1644"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stuartcupit.com\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/1632"}],"wp:attachment":[{"href":"https:\/\/stuartcupit.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1617"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stuartcupit.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1617"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stuartcupit.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}