알레그로 (소프트웨어 라이브러리)

Allegro (software library)
알레그로
Allegro-logo.svg
알레그로 로고
원본 작성자숀 하그리브스[pl]
개발자알레그로 개발자
초기 릴리즈1990년 초; 32년 전 (1990년)
안정적 해제
5.2.7 / 2021년 3월 7일; 12개월(2021-03-07)
리포지토리
기록 위치C
운영 체제Windows, Linux, MacOS, 기타.
유형멀티미디어게임 SDK
면허증알레그로 4: 비어웨어[1]
알레그로 5: zlib
웹사이트liballeg.org

알레그로비디오 게임 개발을 위한 소프트웨어 도서관이다.[2][3][4]라이브러리의 기능에는 기본 2D 그래픽, 이미지 조작, 텍스트 출력, 오디오 출력, MIDI 음악, 입력 및 타이머와 더불어 고정 포인트 및 부동 포인트 매트릭스 산술, 유니코드 문자열, 파일 시스템 액세스, 파일 조작, 데이터 파일, 3D 그래픽에 대한 추가 루틴이 포함된다.라이브러리는 C 프로그래밍 언어로 작성되며 C, C++ 또는 Object-C와 함께 사용하도록 설계되었으며, Python, Lua, Scheme, D, Go, Ring[5][6] 및 기타 언어에 사용할 수 있는 바인딩이 있다.[7]알레그로는 광범위한 문서와 많은 예시를 가지고 있다.

알레그로는 윈도, 맥OS, 유닉스 같은 시스템, 안드로이드, iOS를 지원하여 그들의 API(응용 프로그래밍 인터페이스)를 하나의 휴대용 인터페이스로 추상화한다.이전 버전에서 최대 4.4까지는 Windows, MacOS, DOS, BeOS 및 X Window 시스템이 있거나 없는 다양한 Unix 유사 시스템을 지원했다.아미가OS 4모포OS에는 독립된 알레그로 항도 있다.

zlib 라이선스의 조건에 따라 출시된 Allegro는 무료 오픈 소스 소프트웨어다.

역사

처음에 아타리 로우레벨 게임 루틴을 대표했던 [8]알레그로는 원래 1990년대 초 숀 하그리브스[pl]아타리 ST를 위해 만들었다.하지만, 하그리브스는 플랫폼이 죽어가고 있다는 것을 깨닫자 아타리 버전을 포기했고, 1995년 볼랜드 C++와 DJGPP 컴파일러들을 위해 그의 작품을 다시 재현했다.2.0 버전에서는 볼랜드 C++에 대한 지원이 떨어졌고, 유일하게 지원되는 컴파일러는 DJGPP였다.DJGPP는 DOS 컴파일러였기 때문에 알레그로를 사용한 모든 게임은 DOS를 사용했다.1998년경 알레그로는 몇 가지 버전으로 발전했다.윈도로의 항구인 윈알레그로가 만들어졌고, 또한 이 시기에는 유닉스 항구인 알레그로, 엑스윈알레그로가 만들어졌다.이러한 다양한 포트는 Allegro 3.9 WIP 버전 동안 함께 제공되었고, Allegro 4.0은 여러 플랫폼을 지원하는 최초의 안정적인 Allegro 버전이다.

알레그로5번길

현재의 개발은 API와 도서관 내부 운영의 많은 부분을 완전히 재설계한 Allegro 5 지사에 초점을 맞추고 있다.API의 일관성과 멀티스레드를 안전하게 만들기 위해 노력했다.기본적으로 라이브러리는 해당하는 경우 OpenGL 또는 DirectX 렌더링 백엔드를 사용하여 하드웨어 가속화가 수행된다.알레그로 4를 위한 별도의 프로젝트로 존재했던 많은 부속품들은 현재 알레그로 본래의 것과 완벽하게 접속되어 있으며, 기본설비와 함께 번들로 되어 있다.알레그로 5는 사건 주도형이다.

특징들

알레그로는 다음과 같은 그래픽 기능을 제공한다.

  • 벡터 도면:
    • 픽셀, 선, 직사각형, 삼각형, 원, 타원, 호, 베지어 곡선
    • 도형 채우기(패턴 포함 또는 포함 안 함
    • 폴리곤: 플랫, 구라우, 텍스처(3D) 및 반투명
  • 스프라이트:
    • 마스킹, 압축 및 컴파일된 스프라이트
    • 블리팅, 회전, 스트레칭, 축소, 알파 블렌딩, 구라오 음영
    • BMP, LBM, PCXTGA 파일에 대한 기본 지원(기타 라이브러리 확장에서 지원)
  • 색상 팔레트:
    • 색상표 조작(읽기, 쓰기, 변환)
    • 컬러 포맷 RGB <-> HSV의 변환
  • 텍스트:
    • 서로 다른 인코딩 및 변환 지원, 기본값은 UTF
    • 비트맵 글꼴(마스킹, 색칠, 정렬)
  • Misc:
    • 화면 또는 임의 크기의 메모리 비트맵에 직접 그리기
    • 하드웨어 스크롤 및 트리플 버퍼링(사용 가능한 경우), 모드 X 분할 화면
    • FLIC 형식에[9] 대한 애니메이션 기능

애든스

알레그로 사용자 커뮤니티는 스크롤 타일 맵과 다양한 파일 형식(예: PNG, GIF, JPEG 이미지, MPEG 비디오, Oggg, MP3, IT, S3M, XM 음악, TTF 글꼴 등)의 수출입과 같은 것들을 처리하기 위해 여러 도서관 확장자를 기여했다.

Allegro 4.x 이하에서는 Allegro의 기능성을 OpenGL로 확장하는 라이브러리 AllegroGL을 사용해 OpenGL과 연계하여 사용할 수 있다.알레그로 5는 원래 OpenGL을 지원한다.

참고 항목

참조

  1. ^ Allegro Development Team. "The giftware license". Retrieved 2013-11-16.
  2. ^ Harbour, Jonathan (2004). Game Programming All in One, Second Edition. Course Technology PTR. ISBN 1-59200-383-4.
  3. ^ Steinke, Lennart (2003). Spielprogrammierung. BHV Verlag. ISBN 3-8266-8075-8.
  4. ^ Deitel, P. J. (2006). C How to Program. How to Program. Prentice Hall. ISBN 0-13-240416-8.
  5. ^ Beginning Ring Programming - From Novice to Professional Mansour Ayouni Apress.
  6. ^ "Graphics and 2D Games programming using RingAllegro — Ring 1.16 documentation". ring-lang.net. Retrieved 2022-02-28.
  7. ^ 알레그로어 바인딩 목록
  8. ^ 숀 하그리브스의 포럼 게시물
  9. ^ 알레그로 소개

외부 링크