{"id":14001,"date":"2026-05-14T06:40:36","date_gmt":"2026-05-14T06:40:36","guid":{"rendered":"https:\/\/3dcoat.com\/documentation\/?post_type=manual_documentation&#038;p=14001"},"modified":"2026-05-14T17:19:31","modified_gmt":"2026-05-14T17:19:31","slug":"gpu-nodes","status":"publish","type":"manual_documentation","link":"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/","title":{"rendered":"GPU Nodes"},"content":{"rendered":"\n<p>GPU Nodes in 3DCoat<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-a-gpu-node\">What is a GPU Node?<\/h2>\n\n\n\n<p>A GPU Node in 3DCoat is a fundamental building block for creating procedural materials, textures, and complex visual effects. Under the hood, each node is driven by the NodeGraph Language (NGL), which is an extension of GLSL (OpenGL Shading Language).<\/p>\n\n\n\n<p>When you connect nodes together in the 3DCoat Node Editor, the software dynamically compiles your node graph into a single, highly optimized shader that executes directly on your graphics processing unit (GPU). This architecture ensures that even incredibly complex materials and mathematical operations can be calculated and rendered in real-time without performance bottlenecks.<\/p>\n\n\n\n<p>By using GPU Nodes, artists can create non-destructive, resolution-independent smart materials. Instead of relying solely on static bitmap images, you can construct surfaces using mathematical operations, procedural patterns, external textures, and underlying geometric data (like cavity, occlusion, and normals).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"documentation-overview\">Documentation Overview<\/h2>\n\n\n\n<p>The&nbsp;<code>GPUNodes<\/code>&nbsp;directory contains detailed, category-by-category documentation for all standard procedural nodes available in 3DCoat.<\/p>\n\n\n\n<p>To help artists and developers quickly find the tools they need, the documentation is divided into the following 14 categories, each with its own dedicated Markdown file:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/color-nodes\/\">Color<\/a><\/strong>: Nodes designed for color correction and manipulation. Use these to adjust brightness, contrast, hue, saturation, and to blend multiple colors or textures together.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/geometryin\/\">GeometryIn<\/a><\/strong>: Nodes that provide access to fundamental geometric and spatial data from the scene or object (e.g., world position, surface normals).<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/in\/\">In<\/a><\/strong>: Input nodes that act as primary data sources. They fetch information from the 3D model, such as UV coordinates, cavity maps, and ambient occlusion.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/layer\/\">Layer<\/a><\/strong>: Nodes that provide access to the 3DCoat layer system, allowing your material to retrieve color and depth data from layers located below the current one.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/material\/\">Material<\/a><\/strong>: High-level nodes for assembling, mixing, and breaking apart full PBR materials (handling Albedo, Gloss, Metalness, etc., simultaneously).<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/out\/\">Out<\/a><\/strong>: Output nodes that define the final result of your node graph, routing your calculated values into specific PBR channels so they can be rendered correctly.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/pattern\/\">Pattern<\/a><\/strong>: Generators for procedural 2D textures, geometric shapes, and noise structures (e.g., tiles, wood grains, Voronoi cells).<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/pattern3d\/\">Pattern3D<\/a><\/strong>: Generators for true volumetric 3D noise and patterns that evaluate based on world position, ensuring they flow seamlessly across UV seams.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/shadertoy\/\">ShaderToy<\/a><\/strong>: Specialized procedural effects and complex noises ported directly from\u00a0<a href=\"http:\/\/shadertoy.com\/\">Shadertoy.com<\/a>, utilizing advanced mathematics for beautiful visual structures.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/shape\/\">Shape<\/a><\/strong>: Generators for basic geometric forms like circles, rings, and stripes, typically used as primitive building blocks for complex masks.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/texture\/\">Texture<\/a><\/strong>: Nodes for sampling and manipulating external bitmap images, providing functionalities for standard UV mapping and seamless triplanar projection.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/tilable\/d\">Tilable<\/a><\/strong>: Utilities for generating elements that can be seamlessly repeated across a surface, such as randomly scattered points.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/uv\/\">UV<\/a><\/strong>: Nodes used to manipulate, scale, rotate, offset, or procedurally distort texture coordinates.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/vector\/\">Vector<\/a><\/strong>: A comprehensive suite of mathematical operations (Add, Subtract, Multiply, Mix) that act as the fundamental logical glue controlling how data flows through your graph.<\/li>\n<\/ul>\n\n\n\n<p>Each file within the&nbsp;<code>GPUNodes<\/code>&nbsp;directory provides a breakdown of every node within that category, detailing its exact purpose, available inputs, settings (dropdowns, checkboxes), and the resulting outputs.<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":13980,"menu_order":0,"template":"","manualdocumentationcategory":[9,193],"manual_doc_tag":[],"class_list":["post-14001","manual_documentation","type-manual_documentation","status-publish","hentry","manualdocumentationcategory-manual","manualdocumentationcategory-nodes"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>GPU Nodes - 3DCoat Documentation<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GPU Nodes - 3DCoat Documentation\" \/>\n<meta property=\"og:description\" content=\"GPU Nodes in 3DCoat  What is a GPU Node?  A GPU Node in 3DCoat is a fundam...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/\" \/>\n<meta property=\"og:site_name\" content=\"3DCoat Documentation\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/3DCoat\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-14T17:19:31+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@3DCoatOfficial\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/\",\"url\":\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/\",\"name\":\"GPU Nodes - 3DCoat Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/3dcoat.com\/documentation\/#website\"},\"datePublished\":\"2026-05-14T06:40:36+00:00\",\"dateModified\":\"2026-05-14T17:19:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/3dcoat.com\/documentation\/nl_NL\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node System\",\"item\":\"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"GPU Nodes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/#website\",\"url\":\"https:\/\/3dcoat.com\/documentation\/\",\"name\":\"3DCoat Documentation\",\"description\":\"Information about starting to use and learning how to use all the features of the 3DCoat.\",\"publisher\":{\"@id\":\"https:\/\/3dcoat.com\/documentation\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/3dcoat.com\/documentation\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/#organization\",\"name\":\"Pilgway\",\"url\":\"https:\/\/3dcoat.com\/documentation\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/3dcoat.com\/documentation\/wp-content\/uploads\/2022\/09\/logo3DCoatWhite-1.png\",\"contentUrl\":\"https:\/\/3dcoat.com\/documentation\/wp-content\/uploads\/2022\/09\/logo3DCoatWhite-1.png\",\"width\":876,\"height\":190,\"caption\":\"Pilgway\"},\"image\":{\"@id\":\"https:\/\/3dcoat.com\/documentation\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/3DCoat\",\"https:\/\/x.com\/3DCoatOfficial\",\"https:\/\/www.youtube.com\/c\/PILGWAY3DCoat\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GPU Nodes - 3DCoat Documentation","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/","og_locale":"en_US","og_type":"article","og_title":"GPU Nodes - 3DCoat Documentation","og_description":"GPU Nodes in 3DCoat  What is a GPU Node?  A GPU Node in 3DCoat is a fundam...","og_url":"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/","og_site_name":"3DCoat Documentation","article_publisher":"https:\/\/www.facebook.com\/3DCoat","article_modified_time":"2026-05-14T17:19:31+00:00","twitter_card":"summary_large_image","twitter_site":"@3DCoatOfficial","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/","url":"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/","name":"GPU Nodes - 3DCoat Documentation","isPartOf":{"@id":"https:\/\/3dcoat.com\/documentation\/#website"},"datePublished":"2026-05-14T06:40:36+00:00","dateModified":"2026-05-14T17:19:31+00:00","breadcrumb":{"@id":"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/gpu-nodes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/3dcoat.com\/documentation\/nl_NL\/"},{"@type":"ListItem","position":2,"name":"Node System","item":"https:\/\/3dcoat.com\/documentation\/manual\/nodesystem\/"},{"@type":"ListItem","position":3,"name":"GPU Nodes"}]},{"@type":"WebSite","@id":"https:\/\/3dcoat.com\/documentation\/#website","url":"https:\/\/3dcoat.com\/documentation\/","name":"3DCoat Documentation","description":"Information about starting to use and learning how to use all the features of the 3DCoat.","publisher":{"@id":"https:\/\/3dcoat.com\/documentation\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/3dcoat.com\/documentation\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/3dcoat.com\/documentation\/#organization","name":"Pilgway","url":"https:\/\/3dcoat.com\/documentation\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/3dcoat.com\/documentation\/#\/schema\/logo\/image\/","url":"https:\/\/3dcoat.com\/documentation\/wp-content\/uploads\/2022\/09\/logo3DCoatWhite-1.png","contentUrl":"https:\/\/3dcoat.com\/documentation\/wp-content\/uploads\/2022\/09\/logo3DCoatWhite-1.png","width":876,"height":190,"caption":"Pilgway"},"image":{"@id":"https:\/\/3dcoat.com\/documentation\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/3DCoat","https:\/\/x.com\/3DCoatOfficial","https:\/\/www.youtube.com\/c\/PILGWAY3DCoat"]}]}},"_links":{"self":[{"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/manual_documentation\/14001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/manual_documentation"}],"about":[{"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/types\/manual_documentation"}],"author":[{"embeddable":true,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":4,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/manual_documentation\/14001\/revisions"}],"predecessor-version":[{"id":14056,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/manual_documentation\/14001\/revisions\/14056"}],"up":[{"embeddable":true,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/manual_documentation\/13980"}],"wp:attachment":[{"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/media?parent=14001"}],"wp:term":[{"taxonomy":"manualdocumentationcategory","embeddable":true,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/manualdocumentationcategory?post=14001"},{"taxonomy":"manual_doc_tag","embeddable":true,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/manual_doc_tag?post=14001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}