API의 "래퍼"부분에서 실제로 필요한 것을 식별하여 시작하십시오. 일반적으로 매우 간단합니다. 기본 리소스 (버퍼, 셰이더, 텍스처, 파이프 라인 상태)와 이러한 리소스를 사용하여 그리기 호출을 제출하여 프레임을 구성하는 방법이 필요합니다.
어떤 높은 수준의 논리를 유지하려고 에서 의 API 래퍼 부분. API 의이 부분에서 영리한 장면 컬링 기술을 구현하면 모든 백엔드 구현에서 해당 논리를 복제 할 수 있습니다. 많은 노력이 필요하므로 간단하게 유지하십시오. 장면 관리는 랩퍼 자체의 일부가 아닌 랩퍼 를 사용 하는 API의 상위 레벨 부분의 일부 여야 합니다.
지원할 대상을 선택하고 이해하십시오. "모든 것"에 대해 적절한 래퍼를 작성하는 것은 어렵고 필연적으로 필요하지 않을 수도 있습니다 ( 필립스의 답변에서 언급 한 것처럼 단일 래퍼를 작성할 필요 도 없습니다 ). 랩핑 할 API를 모르면 괜찮은 래퍼를 작성하는 것은 거의 불가능합니다.
API 상태를 정기적으로 평가하십시오. 일반적으로 래핑 된 API보다 표면적이 더 작아야합니다. 모든 D3D 구조 또는 모든 OpenGL 함수 호출에 대해 일대일 랩퍼 유형을 작성하는 경우 당연히 도움이 될 것입니다.
무슨 일이 있었는지보세요. Sokol 및 BGFX는 사용자에게 유용하고 이해하기 쉬운 (특히 전자) 수준의 불가지론을 제공하는 API입니다.