ฉันวางแผนที่จะทำรูปทรงเรขาคณิตใน OpenGL ES 2.0 โดยทั่วไปฉันวางแผนที่จะแสดงรูปทรงเรขาคณิตเดียวกัน (เก้าอี้) อาจจะ 1,000 ครั้งในฉากของฉัน
วิธีที่ดีที่สุดในการทำสิ่งนี้ใน OpenGL ES 2.0 คืออะไร?
ฉันกำลังพิจารณาส่งโมเดลดู mat4 เป็นแอตทริบิวต์ เนื่องจากแอตทริบิวต์เป็นข้อมูลต่อยอดฉันต้องผ่าน mat4 เดียวกันนี้สามครั้งสำหรับแต่ละจุดยอดของรูปสามเหลี่ยมเดียวกัน (เนื่องจาก modelview ยังคงคงที่ข้ามจุดยอดของรูปสามเหลี่ยม)
นั่นจะเป็นข้อมูลพิเศษจำนวนมากที่ส่งไปยัง GPU (2 จุดยอดพิเศษ * 16 ลอย * (จำนวนสามเหลี่ยม) จำนวนข้อมูลพิเศษ)
หรือฉันควรจะส่ง mat4 เพียงครั้งเดียวต่อรูปสามเหลี่ยม แต่วิธีที่เป็นไปได้โดยใช้คุณลักษณะเนื่องจากแอตทริบิวต์ถูกกำหนดเป็นข้อมูล "ต่อยอด"
วิธีที่ดีที่สุดและมีประสิทธิภาพในการทำอินสแตนซ์ใน OpenGL ES 2.0 คืออะไร
glVertexAttribDivisor
:(