แผนที่เงาคืออะไร? เงาแผนที่เป็นพื้นผิวที่ texels ตอบคำถามง่าย ๆ : สิ่งที่ระยะทางจากแสงไปตามทิศทางที่แสดงโดย texel แสงถูกบดบัง? พิกัดของพื้นผิวถูกสร้างขึ้นโดยใช้วิธีการเท็กซ์เจอร์ projective ต่างๆขึ้นอยู่กับอัลกอริทึมการแมปเงาเฉพาะ
พื้นผิว Projective เป็นเพียงวิธีการเปลี่ยนวัตถุให้เป็นพื้นที่ของพื้นผิว (และใช่ฉันรู้ว่าเสียงย้อนหลัง แต่นั่นคือวิธีการทำงาน) อัลกอริธึมการทำแผนที่เงาใช้การแปลงหลายชนิด แต่ท้ายที่สุดสิ่งเหล่านี้เป็นเพียงการเปลี่ยนจากอวกาศหนึ่งไปเป็นอีกพื้นที่หนึ่ง
เมื่อเรนเดอร์แผนที่เงาคุณจะใช้จุดยอดของรูปทรงเรขาคณิตของคุณและแปลงพวกมันผ่านไปป์ไลน์เรนเดอร์มาตรฐาน แต่เมทริกซ์กล้องและการฉายภาพถูกออกแบบมาสำหรับตำแหน่งแสงและทิศทางของคุณไม่ใช่ตำแหน่งมุมมองและทิศทาง
เมื่อทำการเรนเดอร์เรนเดอร์ด้วยแผนที่เงาคุณทำให้วัตถุเป็นปกติโดยเปลี่ยนจุดยอดเป็นพื้นที่กล้องมุมมองและผ่านเมทริกซ์การฉาย อย่างไรก็ตามคุณยังสามารถแปลงจุดยอดผ่านกล้องแสงและเมทริกซ์การฉายภาพของคุณผ่านพวกเขาเป็นข้อมูลต่อยอดไปยังส่วนย่อย มันใช้พวกมันผ่านการฉายภาพพื้นผิวเพื่อเข้าถึงพื้นผิวเงา
นี่คือจุดสำคัญ การเข้าถึงพื้นผิว Projective ได้รับการออกแบบเพื่อให้ตำแหน่งที่เข้าถึงบนพื้นผิวนั้นแสดงถึงทิศทางระหว่างจุดนั้นบนพื้นผิว (จุดที่คุณแสดงผลในส่วนที่แตก) และแสง ดังนั้นจึงดึงข้อมูลเท็กเซลที่แสดงถึงความลึกที่การบดเคี้ยวเกิดขึ้นสำหรับแฟรกเมนต์ที่ถูกเรนเดอร์
แต่ไม่มีอะไรพิเศษเกี่ยวกับไปป์ไลน์นี้ คุณไม่จำเป็นต้องแปลงตำแหน่งจุดสุดยอดเป็นพื้นผิวเงาและส่งต่อไปยังส่วนย่อย คุณสามารถผ่านตำแหน่งจุดสุดยอดโลก - อวกาศไปที่ชิ้นส่วนและจากนั้นให้ชิ้นส่วนเปลี่ยนเป็นพื้นที่ฉายของพื้นผิวเงา ได้รับแล้วคุณจะต้องละทิ้งประสิทธิภาพมากมายเนื่องจากคุณจะได้ค่าพิกัดพื้นผิวที่เหมือนกัน แต่มันก็เป็นไปได้ทางคณิตศาสตร์
อันที่จริงคุณสามารถส่งตำแหน่งมุมมองของพื้นที่กล้องไปยังส่วนที่แตกได้ มันสามารถแปลงร่างเป็นโลกจากนั้นกลายเป็นพื้นที่กล้องแสงจากนั้นกลายเป็นพื้นที่ฉายเงา คุณสามารถเปลี่ยนการแปลงทั้งหมดนั้นให้เป็นหนึ่งเมทริกซ์ (ขึ้นอยู่กับอัลกอริธึมการฉายเงาของคุณ) อีกครั้งสิ่งนี้จะให้สิ่งที่คุณมีมาก่อนดังนั้นเมื่อการเรนเดอร์ไปข้างหน้าไม่มีเหตุผลที่จะทำ
แต่ในการเรนเดอร์ที่เลื่อนออกไปคุณมีตำแหน่งมุมมองพื้นที่กล้องสุดยอดอยู่แล้ว คุณต้องทำไม่เช่นนั้นคุณจะไม่สามารถให้แสงได้ คุณเสียหน่วยความจำและแบนด์วิดท์จำนวนมากโดยการเขียนลงในบัฟเฟอร์หรือคุณฉลาดและคำนวณใหม่โดยใช้บัฟเฟอร์ความลึกและคณิตศาสตร์ต่าง ๆ (ซึ่งฉันจะไม่เข้าไปที่นี่ แต่ครอบคลุมออนไลน์)
ไม่ว่าจะด้วยวิธีใดคุณจะสามารถดูตำแหน่งพื้นที่กล้องได้ และตามที่ระบุไว้ข้างต้นเราสามารถใช้เมทริกซ์ในการแปลงเมทริกซ์จากมุมมองกล้อง - กล้องไปเป็นพื้นที่ฉายเงา ดังนั้น ... ทำอย่างนั้น จากนั้นเข้าถึงแผนที่เงาของคุณ
แก้ไขปัญหา.