{"id":24538552,"url":"https://github.com/hanetakachou/brioche-puppet","last_synced_at":"2026-01-17T07:41:22.929Z","repository":{"id":276553551,"uuid":"928429468","full_name":"HanetakaChou/Brioche-Puppet","owner":"HanetakaChou","description":"Free and Open-Source VTuber Software","archived":false,"fork":false,"pushed_at":"2025-10-14T22:29:47.000Z","size":161,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-15T02:47:03.939Z","etag":null,"topics":["mmd","pmx","virtual-youtuber","vrm","vtuber"],"latest_commit_sha":null,"homepage":"https://briochepuppet.github.io/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HanetakaChou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-06T16:17:07.000Z","updated_at":"2025-10-14T22:29:51.000Z","dependencies_parsed_at":"2025-02-09T01:25:22.629Z","dependency_job_id":"393c514c-5a0e-4950-a24b-8bb3816361c7","html_url":"https://github.com/HanetakaChou/Brioche-Puppet","commit_stats":null,"previous_names":["hanetakachou/brioche-puppet"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/HanetakaChou/Brioche-Puppet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HanetakaChou%2FBrioche-Puppet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HanetakaChou%2FBrioche-Puppet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HanetakaChou%2FBrioche-Puppet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HanetakaChou%2FBrioche-Puppet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HanetakaChou","download_url":"https://codeload.github.com/HanetakaChou/Brioche-Puppet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HanetakaChou%2FBrioche-Puppet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280965555,"owners_count":26421660,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-25T02:00:06.499Z","response_time":81,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mmd","pmx","virtual-youtuber","vrm","vtuber"],"created_at":"2025-01-22T15:13:49.807Z","updated_at":"2026-01-17T07:41:22.920Z","avatar_url":"https://github.com/HanetakaChou.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Brioche Puppet  \r\n\r\n![](Brioche-Puppet.png)  \r\n\r\n[![build windows](https://github.com/HanetakaChou/Brioche-Puppet/actions/workflows/build-windows.yml/badge.svg)](https://github.com/HanetakaChou/Brioche-Puppet/actions/workflows/build-windows.yml)\r\n\r\n[![build linux](https://github.com/HanetakaChou/Brioche-Puppet/actions/workflows/build-linux.yml/badge.svg)](https://github.com/HanetakaChou/Brioche-Puppet/actions/workflows/build-linux.yml)  \r\n\r\n[![build macos](https://github.com/HanetakaChou/Brioche-Puppet/actions/workflows/build-macos.yml/badge.svg)](https://github.com/HanetakaChou/Brioche-Puppet/actions/workflows/build-macos.yml)  \r\n\r\nI am currently working on the free and open-source **VTuber** software [Brioche Puppet](https://github.com/HanetakaChou/Brioche-Puppet).  \r\n\r\nAs a rendering engineer, the **rendering** is implemented by me. But the third-party libraries [BulletPhysics](https://github.com/HanetakaChou/BulletPhysics) and [MeidaPipe](https://github.com/HanetakaChou/mediapipe) are used for **ragdoll physics** and **motion capture**.  \r\n\r\n## 1\\. Rendering (High Level)  \r\n\r\n[Brioche ANARI](https://github.com/HanetakaChou/Brioche-Analytic-Rendering-Interface)  \r\n  \r\n- [ ] Rasterization  \r\n    - [x] [PBR (Microfacet Model | Trowbridge Reitz)](https://pharr.org/matt/blog/2022/05/06/trowbridge-reitz)  \r\n    - [ ] [~~Toon Shading~~](https://github.com/unity3d-jp/UnityChanToonShaderVer2_Project)  \r\n    - [ ] [~~SSS (Skin Material | Subsurface Scattering)~~](https://github.com/HanetakaChou/Subsurface-Scattering)  \r\n    - [ ] [~~LTC (Area Lighting | Linearly Transformed Cosine)~~](https://github.com/HanetakaChou/Linearly-Transformed-Cosine)  \r\n    - [x] [SH (Environment Lighting | Spherical Harmonics)](https://github.com/HanetakaChou/Spherical-Harmonic)  \r\n    - [x] [VCT (Global Illumination | Voxel Cone Tracing)](https://github.com/HanetakaChou/Voxel-Cone-Tracing)  \r\n- [ ] Ray Tracing  \r\n    - [ ] [~~ReSITR (Reservoir-Based Spatiotemporal Importance Resampling)~~](https://intro-to-restir.cwyman.org/)  \r\n    - [ ] [~~SVGF (Denoiser | Spatiotemporal Variance Guided Filtering)~~](https://github.com/NVIDIA-RTX/NRD)  \r\n    - [ ] [~~SSS (Skin Material | Subsurface Scattering)~~](https://github.com/NVIDIA-RTX/RTXCR/blob/main/docs/RtxcrSssGuide.md)  \r\n    - [ ] [~~SHaRC (Spatially Hashed Radiance Cache)~~](https://github.com/NVIDIA-RTX/SHARC)  \r\n- [ ] Nerual Rendering  \r\n    - [ ] [~~NS (Nerual Shading)~~](https://github.com/NVIDIA-RTX/RTXNS/blob/main/docs/ShaderTraining.md)  \r\n    - [ ] [~~NeRF (Neural Radiance Fields)~~ ](https://www.matthewtancik.com/nerf)  \r\n    - [ ] [~~NRC (Neural Radiance Cache)~~](https://github.com/NVIDIA-RTX/NRC)  \r\n\r\n## 2\\. Rendering (Low Level)  \r\n\r\n[Brioche PAL](https://github.com/HanetakaChou/Brioche-Platform-Abstraction-Layer)  \r\n\r\n- [ ] Backend  \r\n    - [x] Direct3D12  \r\n    - [x] Vulkan  \r\n    - [ ] Metal  \r\n\r\n## 3\\. File Format  \r\n  \r\n[Brioche Asset Import](https://github.com/HanetakaChou/Brioche-Asset-Import)  \r\n\r\n- [ ] Scene  \r\n    - [ ] Mesh  \r\n        - [x] [MMD (PMX)](https://github.com/MMD-Blender/blender_mmd_tools/tree/main)  \r\n        - [x] [glTF (glTF, glB, VRM)](https://github.com/saturday06/VRM-Addon-for-Blender/blob/main/src/io_scene_vrm/common/human_bone_mapper/mmd_mapping.py)  \r\n    - [ ] Animation  \r\n        - [x] [MMD (VMD)](https://github.com/MMD-Blender/blender_mmd_tools/tree/main)  \r\n        - [ ] [~~glTF (glTF, glB, VRMA)~~](https://github.com/saturday06/VRM-Addon-for-Blender/blob/main/src/io_scene_vrm/common/human_bone_mapper/mmd_mapping.py)     \r\n- [ ] Image  \r\n    - [ ] [Albedo Image](https://www.pbr-book.org/4ed/Radiometry,_Spectra,_and_Color/Color#FromRGBtoSpectra)  \r\n        - [x] [WebP](https://chromium.googlesource.com/webm/libwebp)  \r\n        - [x] [PNG](https://github.com/pnggroup/libpng)  \r\n        - [x] [JPEG](https://github.com/libjpeg-turbo/libjpeg-turbo)  \r\n        - [ ] TIFF  \r\n        - [x] [TGA](https://tgalib.sourceforge.net/)  \r\n        - [ ] BMP  \r\n        - [ ] PNM  \r\n    - [ ] [Illuminant Image](https://www.pbr-book.org/4ed/Radiometry,_Spectra,_and_Color/Color#x6-RGBIlluminants)  \r\n        - [x] [OpenEXR](https://github.com/AcademySoftwareFoundation/openexr)  \r\n        - [ ] [Radiance HDR](https://radsite.lbl.gov/radiance/refer/filefmts.pdf)  \r\n\r\n## 4\\. Animation    \r\n    \r\n[Brioche Motion](https://github.com/HanetakaChou/Brioche-Motion)  \r\n\r\n- [x] Motion Capture  \r\n    - [x] Video Capture (Backend [OpenCV](https://github.com/BriochePuppet/OpenCV))  \r\n    - [x] Motion Detector (Backend [MeidaPipe](https://github.com/HanetakaChou/mediapipe))  \r\n- [ ] Animation  \r\n    - [ ] IK (Inverse Kinematics)  \r\n        - [ ] Reaching IK (Target Position)  \r\n            - [x] Two Joints IK  \r\n            - [ ] ~~Three Joints IK~~  \r\n            - [x] CCD (Cyclic Coordinate Descent) IK  \r\n            - [ ] ~~FABRIK (Forward And Backward Reaching Inverse Kinematics)~~  \r\n            - [ ] ~~Biped Foot IK~~   \r\n            - [ ] ~~Quadruped Foot IK~~  \r\n        - [ ] Aim IK (Target Rotation)  \r\n            - [ ] ~~Look At IK~~  \r\n    - [ ] Skeleton Mapper  \r\n        - [x] Ragdoll Mapping   \r\n        - [ ] ~~Animation Retargeting Mapping~~  \r\n    - [ ] Ragdoll  \r\n        - [ ] Ragdoll Kinematics Controller  \r\n        - [ ] ~~Ragdoll Motors Controller~~  \r\n\r\n## 5\\. Physics  \r\n\r\n[Brioche Physics](https://github.com/HanetakaChou/Brioche-Physics)  \r\n\r\n- [x] Backend  \r\n    - [x] [Bullet Physics](https://github.com/HanetakaChou/BulletPhysics)  \r\n    - [ ] [Jolt Physics](https://github.com/HanetakaChou/JoltPhysics)  \r\n- [x] Rigid Body  \r\n    - [x] Shape\r\n        - [x] Sphere  \r\n        - [x] Box  \r\n        - [x] Capsule  \r\n    - [x] Motion  \r\n        - [x] Fixed  \r\n        - [x] Keyframe  \r\n        - [x] Dynamic  \r\n- [ ] Constraint \r\n  - [x] Fixed    \r\n  - [x] Ball and Socket  \r\n  - [x] Hinge\r\n  - [x] Prismatic  \r\n  - [x] Ragdoll  \r\n  - [ ] ~~6 DOF~~  \r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanetakachou%2Fbrioche-puppet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhanetakachou%2Fbrioche-puppet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanetakachou%2Fbrioche-puppet/lists"}