การสุ่มตัวอย่างหลายครั้งมีประโยชน์หรือไม่


14

ดังนั้นฉันจึงเจอเว็บไซต์นี้และคุณสามารถเห็นบรรทัดเหล่านี้ในวรรคแรกและสอง:

สำหรับเอฟเฟกต์ที่หยาบ แต่ง่ายให้วาดส่วนที่สว่างของฉาก (เช่นแหล่งกำเนิดแสง) ลงใน FBO จากนั้น ตัวอย่างด้วย GL_LINEAR minification หลาย ๆ ครั้งหลายต่อหลายครั้ง สำหรับการเรนเดอร์ขั้นสุดท้ายเพียงแค่รวมฉากดั้งเดิมเข้ากับ FBO ที่ลดขนาดลง

ในตัวอย่างต่อไปฉากเดิมคือ 128 x 128 และdownsampled 3 ครั้ง สิ่งนี้ต้องมีวัตถุเฟรม 4 ตัวตัว ฉากดั้งเดิมจะแสดงที่มุมบนซ้ายและการเรนเดอร์สุดท้ายที่มุมขวาบน

มีเหตุผลใดบ้างที่ฉันควรจะลดตัวอย่างหลาย ๆ ครั้ง (128 -> 64 -> 32 -> 16) แทนที่จะเป็นตัวอย่างหนึ่งครั้ง (128 -> 16)

หากคุณเลื่อนลงมามากขึ้นพวกเขาจะลดลงอย่างเช่น 9 ครั้ง (128 -> ... -> 16 -> 128 -> ... -> 16 -> และอื่น ๆ ) ทำไมไม่ชอบ (128 -> 16 -> 128 -> 16 -> และต่อ ๆ ไป)?


วิธีการที่ไร้สาระอย่างแท้จริง เพียงแค่เบลอบัฟเฟอร์และ downsample GL_NEARESTกับ
transistor09

คำตอบ:


23

มีประโยชน์หลักสองประการ:

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

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

สุดท้ายถ้าคุณอ่านบทความคุณจะเห็นว่ามันไม่ได้สนับสนุนการลดขนาดภาพลง 9 เท่า มันลดขนาดตัวอย่างเพียงสามครั้งจากนั้นทำการดำเนินการหลายอย่างกับภาพตัวอย่างที่ลดลง รูปภาพที่คุณกำลังดูอยู่จะแสดงสถานะของภาพที่มีการสุ่มซ้อนกัน 3 ภาพหลังจากแต่ละขั้นตอนของกระบวนการไม่แสดงเหตุการณ์การสุ่มตัวอย่างแยกจากกัน


อาตอนนี้มันสมเหตุสมผลสำหรับข้าแล้ว ขอขอบคุณ.
Greffin28

1
(บังเอิญเอฟเฟกต์การบานที่ฉันใช้ในเกมของตัวเองนั้นขึ้นอยู่กับวิธีการที่อธิบายไว้ในหน้าเชื่อมโยงโดยส่วนตัวแล้วฉันลดตัวอย่าง 5 ครั้งแทนที่จะเป็น 3 เนื่องจากฉันเริ่มจากภาพเริ่มต้นที่มีขนาดใหญ่กว่ามาก .)
Trevor Powell
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.