프로젝트 소개
cute_headers는 프로젝트에 직접 포함할 수 있도록 설계된 크로스 플랫폼, 단일 파일 C/C++ 라이브러리 모음입니다. 각 헤더는 자체 포함되어 있으며 외부 의존성이 없고, 주된 초점은 주로 게임 개발입니다.
저장소는 다음 헤더들을 문서화합니다:
- cute_c2 (1.10): 기본 도형에 대한 2D 충돌 감지, 부울 결과 및/또는 매니폴드 생성, 모양 캐스트/스윕 테스트, 레이캐스트.
- cute_net (1.03): 게임용 네트워킹 라이브러리로, 내장 보안 체계와 함께 UDP 위에 선택적 신뢰성 계층을 제공합니다.
- cute_tiled (1.07): JSON 형식으로 내보낸 Tiled 맵용 로더.
- cute_aseprite (1.04): .ase/.aseprite 파일을 컴팩트한 구조체 모음으로 파싱합니다.
- cute_sound (3.0): WAV 및 OGG 오디오(OGG는 stb_vorbis 래퍼를 통해)를 모노 또는 스테레오로 로드, 재생, 반복(플러그인 포함) 및 팬하며, 사용자 지정 믹서, 음악 및 크로스페이드 지원을 제공합니다.
- cute_png (1.06): PNG 로드 및 저장, 텍스처 아틀라스 컴파일, DEFLATE 호환 압축 해제기, LZ77 압축기.
- cute_spritebatch (1.08): 런타임 2D 스프라이트 배처로, 메모리에서 즉시 아틀라스를 구축하여 사전 컴파일된 디스크 아틀라스 없이 고성능 렌더링을 제공합니다.
- cute_sync (1.02): 읽기/쓰기 잠금 및 스레드풀/작업 시스템을 포함한 동기화 기본 요소.
- cute_tls (1.02): TCP를 통해 웹사이트에 TLS 연결을 생성하며, HTTPS 요청에 유용합니다 (C/C++/Obj-C).
사용 모델: 헤더는 소스에 직접 포함됩니다. 각 헤더는 LIBNAME_IMPLEMENTATION 기호를 정의합니다. 정확히 하나의 번역 단위에서 이를 정의하고 해당 헤더를 포함하면 구현이 생성되며, 다른 파일은 헤더를 일반적으로 포함합니다. README는 이 접근 방식이 배포를 단순화(복사할 단일 파일)하고 빌드 스크립트 변경을 피하며, 잘 구성된 단일 파일 헤더는 템플릿을 드물게 사용하고 구현을 하나의 번역 단위에 배치하여 컴파일 시간 비용을 제한한다고 주장합니다.
일부 헤더에는 해당 예제 또는 테스트 폴더에 예제 코드와 데모가 포함되어 있으며, README는 사용법 학습을 위해 이를 권장합니다. 라이선스는 파일별로 명시되며, 퍼블릭 도메인과 zlib 사이에서 선택할 수 있습니다. 더 이상 사용되지 않는 헤더는 별도의 cute_headers_deprecated 저장소로 이동되었습니다. 저자는 또한 이러한 저수준 헤더 위에 주로 구축된 고수준 2D 게임 제작 프레임워크인 Cute Framework와 헤더 라이브러리의 참조 예시로 STB, RJM 및 Mattias Gustavsson의 라이브러리를 지적합니다. 커뮤니티 연락은 Discord 서버와 Twitter (@randypgaul)를 통해 제공됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.