เริ่มต้นด้วยการระบุสิ่งที่คุณต้องการจากส่วน "wrapper" ของ API โดยทั่วไปแล้วง่ายมาก: คุณต้องการทรัพยากรพื้นฐาน (บัฟเฟอร์, เงา, พื้นผิว, สถานะไปป์ไลน์) และวิธีการใช้ทรัพยากรเหล่านี้เพื่อสร้างเฟรมโดยส่งการเรียกวาดบางอย่าง
พยายามป้องกันตรรกะระดับสูงออกจากส่วนที่ห่อหุ้มของ API หากคุณใช้เทคนิคการคัดสรรฉากที่ชาญฉลาดในส่วนนี้ของ API ตอนนี้คุณก็พร้อมที่จะทำซ้ำตรรกะนั้นในการปรับใช้แบ็กเอนด์ทั้งหมด นั่นเป็นความพยายามพิเศษมากมายดังนั้นโปรดทำให้ง่าย การจัดการฉากควรเป็นส่วนหนึ่งของส่วนระดับสูงของ API ที่ใช้ wrapper แทนที่จะเป็นส่วนหนึ่งของ wrapper
เลือกเป้าหมายที่คุณจะสนับสนุนและเข้าใจพวกเขา มันยากที่จะเขียนคำว่า "ทุกอย่าง" ที่ดีและคุณอาจไม่จำเป็นต้องทำ (คุณไม่จำเป็นต้องเขียนกระดาษห่อเดียวอย่างใดอย่างหนึ่งตามที่ระบุไว้ในคำตอบของฟิลิปป์ ) แทบเป็นไปไม่ได้ที่จะเขียน wrapper ที่เหมาะสมถ้าคุณไม่รู้ APIs ที่คุณกำลังจะทำการตัดคำ
ประเมินสถานะของ API ของคุณเป็นประจำ โดยทั่วไปควรมีพื้นที่ผิวที่เล็กกว่า API แบบพันรอบ หากคุณพบว่าคุณกำลังสร้างประเภท wrapper แบบหนึ่งต่อหนึ่งสำหรับทุกโครงสร้าง D3D หรือทุกฟังก์ชั่นการโทร OpenGL คุณอาจกำลังออกนอกเส้นทาง
ดูสิ่งที่ทำงานก่อนหน้านี้ Sokol และ BGFX เป็น API ที่ให้ระดับของการไม่เชื่อเรื่องพระเจ้าซึ่งอาจเป็นประโยชน์กับคุณและค่อนข้างง่ายที่จะเข้าใจ (โดยเฉพาะอย่างยิ่งในอดีต)