배포와 갤러리 등록
zip 압축 파일 레이아웃, 공식 갤러리 등록 절차, 심사 기준, 버전 관리 및 라이선스 정책을 설명합니다.
zip 압축 파일 구조와 제약 조건
사용자에게 팩을 배포하거나 공식 갤러리에 제출할 때는 .zip 아카이브로 묶어야 합니다. MMDX12 설치 관리자는 안전을 위해 엄격한 검증을 거칩니다:
아카이브 내부 구조
압축 파일 루트에 최상위 폴더 <id>/가 있고 그 안에 파일들이 들어가거나, 혹은 압축 파일 루트에 파일들이 바로 위치해야 합니다:
my_pack.zip
└── my_pack/
├── pack.json
├── surface.hlsl
├── preview.png (선택)
├── README.md (선택)
└── LICENSE (선택)
허용 파일 규칙
- 허용 확장자:
pack.json,*.hlsl,*.hlsli,*.png,*.jpg,*.jpeg,*.md,*.txt,LICENSE*. - 금지 항목: 심볼릭 링크(링크 파일), 실행 파일(
.exe,.dll등), 스크립트 파일 등 허용되지 않은 파일이 하나라도 포함되어 있으면 설치 프로그램이 즉시 거부합니다. - 용량 및 파일 수 한도: 총 압축 해제 용량 32MB 이하, 총 파일 수 200개 이하.
공식 갤러리 등록 신청
MMDX12 공식 갤러리(https://mmdx.codingbot.kr/shader-packs/)에 내 팩을 올리려면 GitHub 이슈를 통해 등록을 신청합니다:
- MMDX12 GitHub 이슈 저장소로 이동합니다.
- 새 이슈를 작성하고 제목을
Shader pack: <팩 이름>형식으로 지정합니다. - 이슈 본문에 다음 내용을 포함합니다:
- 완성된
.zip파일 첨부 (또는 소스 코드 저장소 링크) - 팩 적용 전후를 비교할 수 있는 스크린샷 (기본 MMD 음영 vs 팩 적용 화면)
- 재배포 라이선스 명시 (MIT, Apache-2.0, CC-BY 등)
- 지원 모델 설명 및 권장 설정
- 완성된
메인테이너 심사 기준
갤러리 등록 심사 시 메인테이너는 다음 기준을 검토합니다:
- 컴파일 검증:
pack_check.exe <pack.zip> --compile을 실행했을 때 종료 코드 0으로 오류 없이 통과해야 합니다. - 라이선스 및 저작권 준수:
- 오픈 소스 재배포를 허용하는 라이선스여야 합니다.
- 타인의 셰이더 코드나 상용 에셋을 무단으로 도용하지 않아야 합니다.
- 미리보기 이미지 규격: 팩의
preview.png또는preview.jpg는 16:9 화면비(예: 1280x720 또는 1920x1080)여야 합니다. - 다국어 매니페스트:
name,description,recommendedFor, 파라미터label에 가능한 한 다국어 번역(ko,en,ja,zh)을 충실히 제공하는 것을 권장합니다. - GPU 성능 적합성:
- 셰이더는 GPU 상에서만 실행되므로 파일이나 네트워크에 접근하지 못합니다.
- 그러나 지나치게 무거운 무한 루프나 과도한 반복 연산은 전체 프레임레이트를 떨어뜨릴 수 있으므로 루프 횟수는 제한되어야 합니다.
버전 관리와 자동 업데이트
- 버전 규칙: 팩 코드나 매니페스트를 수정하여 배포할 때마다
pack.json의version번호를 올려야 합니다 (예:1.0.0->1.0.1). - 갤러리 인덱스 반영: 공식 갤러리는 버전별로 독립된 zip 파일과 SHA-256 해시를
index.json에 기록합니다. - 앱 내 업데이트 안내: 사용자의 MMDX12 앱은 갤러리 인덱스를 조회하여 설치된 버전보다 갤러리의 버전이 높으면 자동으로 업데이트 버튼을 띄워 줍니다.