คำตอบสั้น ๆ
แผนที่ปกติและ Normals เป็นสองสิ่งที่แตกต่างกัน: Normals เป็นคุณสมบัติทางเรขาคณิตของตาข่าย / พื้นผิวใด ๆ การใช้งานนั้นไม่ได้ จำกัด เฉพาะการคำนวณการแรเงาและแสง แต่มีการใช้งานอื่น ๆ มากมายเช่นในฟิสิกส์ แผนที่ปกติเป็นพื้นผิวที่เข้ารหัสเวกเตอร์ปกติทางเลือกที่ใช้ในคอมพิวเตอร์กราฟิกส์เพื่อจำลองการกระแทก
คำตอบยาว
เกณฑ์ปกติในเรขาคณิตปกติคือเวกเตอร์หรือเส้นที่ตั้งฉากกับวัตถุที่กำหนด (เช่นระนาบปกติ, จุดยอดปกติ) เกณฑ์ปกติในกราฟิกมักใช้สำหรับการคำนวณแสงเช่นการคำนวณการสะท้อนแบบกระจายบนพื้นผิวโดยการนำผลิตภัณฑ์แบบจุดระหว่างทิศทางแสงและพื้นผิวมาตรฐาน ปกติการคำนวณโดยทั่วไปจะขึ้นอยู่กับคุณสมบัติเชิงเรขาคณิตของตาข่าย (ใบหน้า / จุดยอด) โดยการหาครอสโปรดัคของสองขอบที่ไม่ขนานกันซึ่งอยู่บนระนาบเดียวกัน
ในบรรทัดฐาน OpenGL นั้นมีการระบุต่อจุดสุดยอด (เรียกว่าคุณลักษณะจุดสุดยอด) แม้ว่าพวกเขาอาจคำนวณเฉพาะสำหรับแต่ละใบหน้าในกรณีนี้คุณจะต้องระบุมาตรฐานเดียวกันสำหรับแต่ละจุดยอดในหน้า เกณฑ์ปกติสามารถแก้ไขได้ด้วย OpenGL ในแต่ละจุดยอดของใบหน้า (สามเหลี่ยม) เพื่อให้คุณสามารถคำนวณแสงสะท้อนต่อพิกเซลไม่ได้ต่อจุดยอดดังนั้นจึงให้ผลลัพธ์ที่แม่นยำยิ่งขึ้น
Normal Mapping : ในอีกทางหนึ่งเป็นเทคนิคในคอมพิวเตอร์กราฟิกส์ที่เข้ารหัส Normals ในแผนที่พื้นผิวดังนั้นแต่ละปกติจะถูกเข้ารหัสต่อ texel มันมักจะใช้สำหรับแกล้งแสงของการกระแทกและรอยบุบ (เช่นการทำแผนที่ Bump, การทำแผนที่ Parallax)
เนื่องจากการคำนวณเกณฑ์ปกตินั้นขึ้นอยู่กับคุณสมบัติเชิงเรขาคณิตของตาข่าย / พื้นผิวแผนที่ปกติจะให้เกณฑ์ปกติทางเลือกแก่คุณซึ่งสามารถจำลองการกระแทกเพื่อเพิ่มรายละเอียดให้กับพื้นผิวโดยไม่ต้องเพิ่มรูปหลายเหลี่ยมมากขึ้น
โดยปกติแผนที่ปกติจะสร้างขึ้นโดยใช้แบบจำลอง 3 มิติที่มีรายละเอียดมากขึ้นจากนั้นทำการคำนวณเกณฑ์ปกติโดยใช้โมเดลนี้และเข้ารหัสในแผนที่ปกติ
ทำไมเราต้องการทั้งสองอย่าง
ปกติแล้วการพูดคุยเกี่ยวกับการเรนเดอร์ปกติและแผนที่ปกติจะใช้ร่วมกันเพื่อให้ได้เอฟเฟกต์แสงสุดท้ายตัวอย่างที่ดีอาจเป็น bump shader ซึ่งคุณต้องการแผนที่ norm ปกติเพื่อให้ได้เอฟเฟกต์แสงกระแทกและคุณจะต้อง เรขาคณิตปกติที่จะคำนวณสิ่งที่เรียกว่าพื้นที่สัมผัส พื้นที่สัมผัสมักใช้เพื่อให้สามารถใช้งานได้กับแผนที่ปกติอีกครั้ง
โปรดทราบว่าปกติถือว่าเป็นคุณลักษณะทางเรขาคณิตของพื้นผิวและมีประโยชน์มากกว่าการคำนวณแบบเบาเท่านั้น แผนที่ปกติในทางกลับกันมักจะใช้สำหรับเอฟเฟกต์ผิวเผิน
การขยายคำตอบเพื่ออธิบายว่าทำไมช่องว่างแทนเจนต์จึงมีความสำคัญ:
คำตอบสั้น ๆ :
มีการใช้ช่องว่างแทนเจนต์เพื่อทำให้แผนที่ปกติเป็นอิสระจากเรขาคณิตพื้นฐาน
[แก้ไข] เพิ่มรูปภาพเพื่อแสดงแผนที่ปกติในพื้นที่แทนเจนต์และแผนที่ปกติในอวกาศโลก
คำตอบยาว:
ภาพด้านล่างแสดงระนาบ UV และปกติที่กำหนดพื้นที่แทนเจนต์เมื่อสร้างแผนที่ปกติเราจะรู้แล้วว่าพื้นที่ที่ใช้มักจะมีการชี้ปกติในทิศทาง Z (นั่นคือสาเหตุที่แผนที่ปกติดูสีน้ำเงิน) สิ่งนี้จะช่วยให้เราเพิกเฉยต่อความโค้งของพื้นผิว **
พื้นที่สัมผัสช่วยให้เราได้เปรียบที่การเข้ารหัสแผนที่ปกติของเราไม่ได้ถูกผูกไว้กับมาตรฐานตาข่ายเฉพาะ สมมติว่าเราเข้ารหัสแผนที่ปกติของเราในโลกหรือพื้นที่วัตถุจากนั้นแต่ละปกติเราเข้ารหัสจะมีทิศทางขึ้นอยู่กับวิธีการดั้งเดิมตาข่ายตาข่ายแตกต่างกันไปในอวกาศโลกไม่พูดถึงแผนที่ปกติของคุณจะได้รับผลกระทบจากการเปลี่ยนแปลงรูปแบบ
ในภาพทั้งสองข้างต้นค่อนข้างชัดเจนว่าพื้นที่แทนเจนต์ทำให้แผนที่ปกติ (ขวา) เป็นอิสระจากเรขาคณิตพื้นฐานเพราะบรรทัดฐานทั้งหมดถูกเข้ารหัสในทิศทางเดียวกันเกือบทุกรูปแบบโดยมีการเปลี่ยนแปลงเล็กน้อยเพื่อจำลองผลกระทบของการกระแทก
** ความโค้งของพื้นผิวถูกกำหนดโดยจำนวนที่วัตถุทางเรขาคณิตเบี่ยงเบนจากการแบนหรือตรงในกรณีของเส้น แต่สิ่งนี้ถูกกำหนดในรูปแบบที่แตกต่างกันขึ้นอยู่กับบริบท