Skip to main content

บัฟเฟอร์ลายฉลุคืออะไร?

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

ความกังวลของหน่วยความจำนำไปสู่รูปแบบดั้งเดิมของบัฟเฟอร์ลายฉลุเป็นกริดของค่าบิตเดี่ยวที่แต่ละพิกเซลในบัฟเฟอร์อาจเป็นจริงหรือเท็จเท่านั้นเมื่อกราฟิกการ์ดพัฒนาขึ้นบัฟเฟอร์ส่วนใหญ่สามารถเก็บค่าไบต์เต็มได้ในแต่ละตำแหน่งพิกเซลทำให้โปรแกรมเมอร์มีค่าที่ซับซ้อนมากขึ้นในสถานที่สิ่งนี้สามารถอนุญาตให้ใช้บัฟเฟอร์ในการตรวจจับพื้นที่ที่วัตถุซ้อนทับกันซึ่งสามารถทำได้โดยการเพิ่มค่าของบัฟเฟอร์ที่ตำแหน่งหากวัตถุใช้พิกเซลนั้นบนหน้าจอเมื่อแรสเตอร์หลังจากการดำเนินการนี้ค่าของตำแหน่งพิกเซลแต่ละตำแหน่งในบัฟเฟอร์จะเท่ากับจำนวนวัตถุที่ข้ามพิกเซลนั้นบนหน้าจอ

หนึ่งในการใช้ที่ได้รับความนิยมมากที่สุดสำหรับบัฟเฟอร์ลายฉลุคือการสร้างเงาระดับเสียงสิ่งนี้สามารถทำได้โดยการเรนเดอร์ฉากแรกด้วยแสงสลัวมากดังนั้นทุกอย่างจึงดูเหมือนจะเป็นสีเทาถัดไปการคำนวณจะทำเพื่อกำหนดตำแหน่งของพื้นผิวรูปหลายเหลี่ยมทั้งหมดในฉากที่ส่องสว่างโดยแหล่งกำเนิดแสงและรูปร่างเหล่านี้จะถูกถ่ายโอนไปยังบัฟเฟอร์ลายฉลุฉากจะแสดงผลอีกครั้งราวกับว่าวัตถุทุกชิ้นมีแสงสว่างอย่างเต็มที่และถูกผสมผ่านรูปร่างลายฉลุลงบนฉากเงาโดยสร้างภาพที่ดูเหมือนจะมีวัตถุที่มีเงา