คำถามติดแท็ก opengl

สำหรับคำถามเกี่ยวกับการใช้ไลบรารีกราฟิก OpenGL

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

1
การเข้าถึงหน่วยความจำที่เหมาะสมที่สุดเมื่อใช้ตารางการค้นหาบน GPU?
ฉันกำลังสำรวจอัลกอริทึม isosurface บน GPU สำหรับโครงการปริญญาตรี ดังนั้นฉันจึงมีการใช้ซีพียูของ marching cubes ที่ดีและทำงานใน OpenFrameworks และตอนนี้อยู่ในขั้นตอนของการพยายามพอร์ตเข้ากับ GLSL compute shaders และพิจารณาข้อผิดพลาดก่อนที่ฉันจะดำดิ่งฉันเขียน Vert และ frag shaders ก่อนหน้านี้มันเป็นเรื่องใหม่สำหรับฉัน ปัญหาแรกของฉันคือวิธีใช้ตารางการค้นหาอย่างมีประสิทธิภาพในหลายสิบหรือหลายร้อยกระทู้ในเวิร์กกรุ๊ป ฉันเข้าใจว่า GPU มีหน่วยความจำประเภทต่าง ๆ สำหรับงานที่แตกต่างกัน แต่ไม่แน่ใจในการทำงานของแต่ละประเภทหรือชนิดที่จะใช้ ตาราง copypasta คลาสสิกของ Paul Bourke เป็นอาร์เรย์ 256 * 16 ดังนั้นหากใช้ชนิดไบต์สเกลาร์สิ่งนี้น่าจะถูกบรรจุลงในพื้นผิว 4kb หรือ SSBO คำถามคือจะหยุดกระทู้ที่แตกต่างกันไม่ให้สะดุดกันได้อย่างไร คิวบ์จำนวนมากในแต่ละกลุ่มงานอาจมีการกำหนดค่าเดียวกันดังนั้นจึงพยายามเข้าถึงตำแหน่งเดียวกันในบัฟเฟอร์ในเวลาเดียวกัน มีวิธีแก้ปัญหาหรือการเพิ่มประสิทธิภาพเพื่อจัดการกับสิ่งนี้หรือไม่?

1
การใช้หน่วยพื้นผิวที่มีอยู่ทั้งหมดเป็นการดีหรือไม่?
เมื่อใช้พื้นผิวหลายแบบกับตาข่ายเช่นสำหรับการทำแผนที่ bump ฉันมักจะผูกพื้นผิวกับหน่วยพื้นผิวแบบคงที่ไม่กี่ครั้งแรกเช่น: diffuse = unit 0, bump = unit 1, specular = unit 2 จากนั้นให้นำสิ่งเหล่านั้นกลับมาใช้ใหม่ ตาข่ายที่แตกต่างกันด้วยพื้นผิวที่แตกต่างกัน แต่ฉันสงสัยอยู่เสมอว่าทำไมglActiveTextureสนับสนุนหน่วยพื้นผิวจำนวนมาก (ในลิงค์ก่อนหน้านี้มันบอกว่าอย่างน้อย 80) ดังนั้นสำหรับฉันแล้ววิธีหนึ่งที่เป็นไปได้ในการจัดการพื้นผิวคือการผูกพื้นผิวที่แตกต่างกันสำหรับแต่ละหน่วยที่มีอยู่และปล่อยให้เปิดใช้งานเพียงแค่อัปเดตดัชนีตัวอย่างเครื่องแบบ ที่ควรปรับปรุงการเรนเดอร์เรดิโอโดยการลดจำนวนของสวิทช์พื้นผิว หากคุณมีพื้นผิวน้อยกว่าหน่วยพื้นผิวสูงสุดคุณจะไม่ต้องแยกพื้นผิวออก นี่เป็นแบบฝึกหัดมาตรฐานสำหรับแอปพลิเคชัน OpenGL แบบเรียลไทม์ (ฉันเชื่อว่านี่ใช้กับ D3D ด้วย) และมีนัยใดเกี่ยวกับประสิทธิภาพที่ไม่ชัดเจนของการใช้วิธีนี้หรือไม่? ค่าใช้จ่ายหน่วยความจำอาจจะ?
9 opengl  texture 

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