สิ่งที่แนบมากับบัฟเฟอร์การเรนเดอร์ความลึกของ FBO และสเตนซิล

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

สิ่งที่ฉันไม่เข้าใจคือบัฟเฟอร์ดังกล่าวเป็นบัฟเฟอร์ความลึกด้วยหรือไม่หากฉันตั้งค่าเป็น GL_DEPTH_STENCIL_ATTACHMENT หรือฉันควรสร้างบัฟเฟอร์การเรนเดอร์ความลึกแยกต่างหากด้วยรูปแบบ (GL_DEPTH_COMPONENTXX)


person Michael IV    schedule 06.05.2013    source แหล่งที่มา
comment
คุณอยู่บนแพลตฟอร์มไหน?   -  person tadman    schedule 06.05.2013
comment
ลินุกซ์/วินโดวส์ OpenGL4.2   -  person Michael IV    schedule 06.05.2013


คำตอบ (1)


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

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

person Nicol Bolas    schedule 06.05.2013
comment
จริงๆ แล้วฉันได้ลองใช้ GL_STENCIL_INDEX และผลลัพธ์ที่ได้คือ FBO ที่ไม่สมบูรณ์เสมอ ในวิกิเดียวกันก็บอกว่า DONT DO IT! ;) - person Michael IV; 06.05.2013