Я намагаюся зрозуміти поняття нормального відображення, але мене бентежить кілька речей. Коротше кажучи, я не впевнений, чи залежить нормальна карта від точки зору чи ні (тобто, ви отримаєте іншу нормальну карту того ж об'єкта, коли обертаєтесь навколо нього). По-друге, я не розумію, чому синюватий колір є переважаючим кольором у звичайних картах.
Як я думаю про нормали та їх відношення до кольорів RGB, полягає в наступному. Одинична сфера являє собою будь-яку можливу нормальну одиницю - іншими словами, компоненти X, Y і Z в одиничному нормальному векторі знаходяться в межах від -1 до 1. Компоненти кольору RGB всі варіюються від 0 до 255. Тому це має сенс для відображення -1 (звичайний компонент) до 0 (кольоровий компонент), 0 до 127 або 128 та 1 до 255. Будь-яке значення між ними просто лінійно інтерпольоване.
Застосування цього відображення до нормалів довільного 3D-об'єкта призводить до отримання дуже барвистої картини, зовсім не синьої. Наприклад, коли брати кубик, усі шість граней мали б різний, але рівномірний колір. Наприклад, обличчя з нормальним (1,0,0) було б (255,128,128), обличчя з нормальним (0,0, -1) було б (128,128,0) тощо.
Однак чомусь звичайні карти куба, які я знайшов, є повністю синюватими, тобто (128,128,255). Але очевидно, що нормали не всі в позитивному напрямку z, тобто (0,0,1). Як це працює?
[Редагувати]
Гаразд, таким чином, описаний вище підхід, мабуть, називається нормальною картою простору об'єкта або загальною картою простору світу . Інший називається картою нормального дотичного простору . Я розумію, як така дотична карта звичайного простору може бути використана для зміни нормалів геометрії, але я все ще не повністю впевнений, як це насправді обчислено (див. Мій коментар у відповіді Ніколя Боласа).
[Редагувати 2]
Я, мабуть, повинен зазначити, що я працюю з кусково-параметричними поверхнями. Ці поверхні складаються з набору поверхневих патчів , де кожен патч асоціюється з власним параметричним простором (u, v) = [0,1] x [0,1]. У будь-якій точці поверхні нормальність може бути точно обчислена. Мабуть, вектори T ( дотична ) і B ( бі-дотична ) - необхідні для простягання дотичного простору - не є просто частковими похідними поверхневого пластиру в напрямку u і v ...