{"id":13241,"date":"2025-11-03T13:49:04","date_gmt":"2025-11-03T13:49:04","guid":{"rendered":"https:\/\/3dcoat.com\/documentation\/?p=13241"},"modified":"2025-11-04T10:07:30","modified_gmt":"2025-11-04T10:07:30","slug":"normalize-tb-tangent-basis","status":"publish","type":"post","link":"https:\/\/3dcoat.com\/documentation\/2025\/11\/03\/normalize-tb-tangent-basis\/","title":{"rendered":"Normalize TB (Tangent Basis)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">In 3D baking, the option to <strong>\u201cnormalize TB\u201d (Tangent Basis)<\/strong> refers to a process where the tangent and bitangent (or binormal) vectors, which form the local coordinate system (tangent space) of a 3D model, are re-normalized so they are unit length (a length of 1.0) and exactly perpendicular to each other and the surface normal at every point.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u2013 Explanation and Purpose:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tangent Space Normal Mapping:<\/strong> Tangent space normal maps are widely used in real-time graphics because they allow the same normal map texture to be reused across different objects with varying orientations and deformations (e.g., animated characters). This is possible because the normal map\u2019s data (RGB values corresponding to XYZ vectors) is relative to a local coordinate system at each vertex\/pixel, rather than the global \u201cworld\u201d coordinate system.<\/li>\n\n\n\n<li><strong>The Tangent Basis (TBN Matrix):<\/strong> This local coordinate system is defined by three perpendicular vectors: the <strong>T<\/strong>angent, <strong>B<\/strong>itangent (or <strong>B<\/strong>inormal), and the surface <strong>N<\/strong>ormal. These three vectors form a matrix (TBN matrix) used to transform lighting and view vectors into the correct space for shading.<\/li>\n\n\n\n<li><strong>Normalization During Baking and Rendering:<\/strong> The vectors generated during the mesh creation or baking process may lose their perfect unit length and orthogonality due to interpolation across triangles, UV seams, or specific calculation methods.\n<ul class=\"wp-block-list\">\n<li><strong>Baking:<\/strong> Enabling \u201cnormalize TB\u201d during baking ensures that the normal map is created using a perfectly normalized and orthogonal tangent space.<\/li>\n\n\n\n<li><strong>Rendering:<\/strong> It is also crucial that the real-time renderer (e.g., a game engine) uses the <em>exact same<\/em> tangent space algorithm and normalization method as the one used during baking to avoid shading artifacts or seams. Many modern engines use the MikkTSpace standard for consistency.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Ensuring Accuracy:<\/strong> Normalizing the TBN vectors at the pixel level during rendering is a common practice to maintain lighting accuracy and prevent visual glitches, even if they were already normalized at the vertex level.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In short, \u201cnormalize TB\u201d ensures the mathematical integrity and consistency of the local coordinate system used for normal mapping, which is essential for correct and seamless shading across a model\u2019s surface.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In 3D baking, the option to \u201cnormalize TB\u201d (Tangent Basis) refers to a process where the tangent and bitangent (or binormal) vectors, which form the local coordinate system (tangent space) of a 3D model, are re-normalized so they are unit length (a length of 1.0) and exactly perpendicular to each other and the surface normal [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[39],"tags":[],"class_list":["post-13241","post","type-post","status-publish","format-standard","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Normalize TB (Tangent Basis) - T\u00e0i li\u1ec7u 3DCoat<\/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\/2025\/11\/03\/normalize-tb-tangent-basis\/\" \/>\n<meta property=\"og:locale\" content=\"vi\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Normalize TB (Tangent Basis) - T\u00e0i li\u1ec7u 3DCoat\" \/>\n<meta property=\"og:description\" content=\"In 3D baking, the option to \u201cnormalize TB\u201d (Tangent Basis) refers to a process where the tangent and bitangent (or binormal) vectors, which form the local coordinate system (tangent space) of a 3D model, are re-normalized so they are unit length (a length of 1.0) and exactly perpendicular to each other and the surface normal [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/3dcoat.com\/documentation\/2025\/11\/03\/normalize-tb-tangent-basis\/\" \/>\n<meta property=\"og:site_name\" content=\"T\u00e0i li\u1ec7u 3DCoat\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/3DCoat\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-03T13:49:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-04T10:07:30+00:00\" \/>\n<meta name=\"author\" content=\"Carlos\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@3DCoatOfficial\" \/>\n<meta name=\"twitter:site\" content=\"@3DCoatOfficial\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/\"},\"author\":{\"name\":\"Carlos\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/#\/schema\/person\/35185e936dc119e01df47d44f0b7c0e3\"},\"headline\":\"Normalize TB (Tangent Basis)\",\"datePublished\":\"2025-11-03T13:49:04+00:00\",\"dateModified\":\"2025-11-04T10:07:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/\"},\"wordCount\":347,\"publisher\":{\"@id\":\"https:\/\/3dcoat.com\/documentation\/#organization\"},\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/\",\"url\":\"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/\",\"name\":\"Normalize TB (Tangent Basis) - T\u00e0i li\u1ec7u 3DCoat\",\"isPartOf\":{\"@id\":\"https:\/\/3dcoat.com\/documentation\/#website\"},\"datePublished\":\"2025-11-03T13:49:04+00:00\",\"dateModified\":\"2025-11-04T10:07:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/3dcoat.com\/documentation\/nl_NL\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Normalize TB (Tangent Basis)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/#website\",\"url\":\"https:\/\/3dcoat.com\/documentation\/\",\"name\":\"T\u00e0i li\u1ec7u 3DCoat\",\"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\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/#\/schema\/person\/35185e936dc119e01df47d44f0b7c0e3\",\"name\":\"Carlos\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/3dcoat.com\/documentation\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/84d91cebb3863d15a48e6f6615a7d3cfe3c0615110a6286e9ecef0c31f85ab4c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/84d91cebb3863d15a48e6f6615a7d3cfe3c0615110a6286e9ecef0c31f85ab4c?s=96&d=mm&r=g\",\"caption\":\"Carlos\"},\"url\":\"https:\/\/3dcoat.com\/documentation\/author\/carlos\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Normalize TB (Tangent Basis) - T\u00e0i li\u1ec7u 3DCoat","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\/2025\/11\/03\/normalize-tb-tangent-basis\/","og_locale":"vi","og_type":"article","og_title":"Normalize TB (Tangent Basis) - T\u00e0i li\u1ec7u 3DCoat","og_description":"In 3D baking, the option to \u201cnormalize TB\u201d (Tangent Basis) refers to a process where the tangent and bitangent (or binormal) vectors, which form the local coordinate system (tangent space) of a 3D model, are re-normalized so they are unit length (a length of 1.0) and exactly perpendicular to each other and the surface normal [&hellip;]","og_url":"https:\/\/3dcoat.com\/documentation\/2025\/11\/03\/normalize-tb-tangent-basis\/","og_site_name":"T\u00e0i li\u1ec7u 3DCoat","article_publisher":"https:\/\/www.facebook.com\/3DCoat","article_published_time":"2025-11-03T13:49:04+00:00","article_modified_time":"2025-11-04T10:07:30+00:00","author":"Carlos","twitter_card":"summary_large_image","twitter_creator":"@3DCoatOfficial","twitter_site":"@3DCoatOfficial","twitter_misc":{"Written by":"Carlos","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/#article","isPartOf":{"@id":"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/"},"author":{"name":"Carlos","@id":"https:\/\/3dcoat.com\/documentation\/#\/schema\/person\/35185e936dc119e01df47d44f0b7c0e3"},"headline":"Normalize TB (Tangent Basis)","datePublished":"2025-11-03T13:49:04+00:00","dateModified":"2025-11-04T10:07:30+00:00","mainEntityOfPage":{"@id":"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/"},"wordCount":347,"publisher":{"@id":"https:\/\/3dcoat.com\/documentation\/#organization"},"articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/","url":"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/","name":"Normalize TB (Tangent Basis) - T\u00e0i li\u1ec7u 3DCoat","isPartOf":{"@id":"https:\/\/3dcoat.com\/documentation\/#website"},"datePublished":"2025-11-03T13:49:04+00:00","dateModified":"2025-11-04T10:07:30+00:00","breadcrumb":{"@id":"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/3dcoat.com\/documentation\/hi_IN\/2025\/11\/03\/normalize-tb-tangent-basis\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/3dcoat.com\/documentation\/nl_NL\/"},{"@type":"ListItem","position":2,"name":"Normalize TB (Tangent Basis)"}]},{"@type":"WebSite","@id":"https:\/\/3dcoat.com\/documentation\/#website","url":"https:\/\/3dcoat.com\/documentation\/","name":"T\u00e0i li\u1ec7u 3DCoat","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"]},{"@type":"Person","@id":"https:\/\/3dcoat.com\/documentation\/#\/schema\/person\/35185e936dc119e01df47d44f0b7c0e3","name":"Carlos","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/3dcoat.com\/documentation\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/84d91cebb3863d15a48e6f6615a7d3cfe3c0615110a6286e9ecef0c31f85ab4c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/84d91cebb3863d15a48e6f6615a7d3cfe3c0615110a6286e9ecef0c31f85ab4c?s=96&d=mm&r=g","caption":"Carlos"},"url":"https:\/\/3dcoat.com\/documentation\/author\/carlos\/"}]}},"_links":{"self":[{"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/posts\/13241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/comments?post=13241"}],"version-history":[{"count":2,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/posts\/13241\/revisions"}],"predecessor-version":[{"id":13247,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/posts\/13241\/revisions\/13247"}],"wp:attachment":[{"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/media?parent=13241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/categories?post=13241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/3dcoat.com\/documentation\/wp-json\/wp\/v2\/tags?post=13241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}