MyPaint

MyPaint는 펜 태블릿을 이용한 디지털 드로잉과 자연스러운 브러시 표현에 중점을 둔 자유·오픈 소스 페인팅 소프트웨어다. Martin Renold가 개발을 시작했으며 캔버스가 필요한 방향으로 계속 확장되는 작업 모델과 간결한 도구 조작을 지향한다. 대형 사진 카탈로그나 페이지 출판을...

분류2D 그래픽 소프트웨어 — 필압 기반 페인팅·무한 캔버스·libmypaint
개발Martin Renold·MyPaint 공동체
작성 언어Python, C++, C
플랫폼Linux·Windows·macOS
주요 기능필압 기반 페인팅·무한 캔버스·libmypaint
문서·출력제품별 편집·출력 형식
기술 기반필압 기반 페인팅·무한 캔버스·libmypaint
지원 상태제품별 상이
공식·역사 자료관련 자료

MyPaint는 펜 태블릿을 이용한 디지털 드로잉과 자연스러운 브러시 표현에 중점을 둔 자유·오픈 소스 페인팅 소프트웨어다. Martin Renold가 개발을 시작했으며 캔버스가 필요한 방향으로 계속 확장되는 작업 모델과 간결한 도구 조작을 지향한다. 대형 사진 카탈로그나 페이지 출판을 관리하기보다 일러스트레이션·스케치와 개념 그림을 화면에 직접 그리는 용도에 적합하다.[1]

브러시 엔진은 별도 라이브러리인 libmypaint로 분리되어 펜의 이동·압력과 브러시 설정을 이용해 실제 픽셀에 획을 기록한다. 각 브러시는 속도·압력·회전과 여러 필터 설정으로 반응을 변경할 수 있고, 브러시 프리셋을 저장해 반복 사용한다. 화면에는 레이어를 겹쳐 선화와 색을 분리할 수 있으며 작업 영역은 고정된 작은 문서 크기보다 자유로운 스케치에 적합하게 동작한다.

MyPaint의 사용자 인터페이스는 Python과 GTK를 중심으로 작성되고, 픽셀 처리와 획·면 채우기·합성의 성능에 중요한 코드는 C++ 확장과 C 라이브러리를 이용한다. libmypaint의 C 인터페이스를 다른 그래픽 프로그램이 사용할 수 있으므로 GIMP·OpenToonz 같은 프로그램과 브러시 엔진의 기술을 공유할 수 있다. 그러나 같은 라이브러리로 그린 그림을 각 프로그램의 모든 레이어·설정까지 동일하게 재편집할 수 있는 것은 아니다.[2]

프로젝트를 다른 편집기와 교환할 때에는 OpenRaster 등 여러 레이어를 보존할 수 있는 형식이나 PNG 등의 최종 이미지 출력을 목적별로 선택해야 한다. 브러시 엔진은 펜·하드웨어 입력 데이터의 품질과 CPU 처리 성능에 영향을 받으며, Linux에서의 그래픽 태블릿 설정도 결과에 중요한 요소다. Krita와 페인팅 목적이 유사하지만 자체 브러시·캔버스 구조와 Python 중심 UI의 차이가 있다.

브러시·필압 중심의 제작 흐름은 Krita, MediBang Paint, Infinite Painter와 비교할 수 있다. 다른 프로그램과의 연결에서는 GIMP 및 OpenToonz가 중요한 사례이며, Python 사용자 인터페이스와 C++·C 기반 처리 라이브러리의 역할은 서로 구분된다. 이처럼 구현 언어, 확장 API와 그림 교환 형식은 2D 그래픽 소프트웨어의 별도 구성 요소로 살펴볼 수 있다.

역사

Martin Renold

자유 소프트웨어 개발

브러시 엔진

libmypaint

필압·프리셋

무한 캔버스·레이어

Python·C++·C 구현

파일 형식·출력

태블릿·플랫폼 지원

관련 문서

  1. MyPaint 공식 프로젝트 ↩
  2. MyPaint: 백엔드·브러시 엔진 문서 ↩