Monster Mash: New Sketch-Based Modeling and Animation Tool

Overview

Monster Mash: New Sketch-Based Modeling and Animation Tool

This is the open-source version of Monster Mash.

Monster Mash is a new sketch-based modeling and animation tool that allows you to quickly sketch a character, inflate it into 3D, and promptly animate it. You can perform all interactions in the sketching plane. No 3D manipulation is required.

The source code and web demo (http://MonsterMash.zone) accompanies a paper Dvorožňák et al.: Monster Mash: A Single-View Approach to Casual 3D Modeling and Animation published in ACM Transactions on Graphics 39(6):214 and presented at SIGGRAPH Asia 2020 conference.

The source code is licensed under Apache License, Version 2.0. See the LICENSE file for more details.

Monster Mash uses the Triangle library (https://www.cs.cmu.edu/~quake/triangle.html) which is not a part of this repository. Before compiling the project, please download the source code of the library and place it in the third_party/triangle directory. Please check the license of the Triangle library before doing so.

Disclaimer: This is not an officially supported Google product.

Issues
  • HTTPS support

    HTTPS support

    opened by carsonsaldanha 3
  • Export animation to glTF format

    Export animation to glTF format

    Implements animation export to glTF format. This implementation may be used as a template for other implementations aiming to provide export to other formats.

    opened by dvoromar 0
  • IConfiguring incomplete, errors occurred!

    IConfiguring incomplete, errors occurred!

    Sir!I downloaded the project in Windows ,but i don't know how to use SDL .I compiled in the Cmake,it has this problem.

    opened by LearnToStick 0
  • Rated site-Rate the site

    Rated site-Rate the site

    When the site is not rated it says not secure and you cant use it in school i would be very happy if you can rate the site

    opened by ILIKEFUN 0
  • Feature request - Add option to upload mask instead of drawing boundary.

    Feature request - Add option to upload mask instead of drawing boundary.

    It is possible to use segmentation masks to draw boundary before 'inflating'?

    opened by i-amgeek 0
  • Record Stroke Pressure

    Record Stroke Pressure

    It would be nice to record the stroke pressure of the designer, currently every line has the same thickness.

    const int t = ceil(0.5 * thickness);

    https://github.com/google/monster-mash/blob/6467b2e4f183738128fea4d713c44f5de863f76e/src/mypainter.cpp#L109

    What would be the best way to approach this task? C++ or .js?

    opened by albertotono 0
  • How to set the current playback position with JS

    How to set the current playback position with JS

    Hello,

    I am trying to sync it up with some music (:

    Wondering on the JS side if it is possible to get the current playback frame, as well as set the playback frame.

    I see _getNumberOfAnimationFrames but no luck yet having control of the playback position.

    Thanks!

    opened by FuzzyWobble 0
  • Any way to change canvas from 1.25 (1000x800) ratio to square or portrait?

    Any way to change canvas from 1.25 (1000x800) ratio to square or portrait?

    Seems quite fixed at this ratio. Any way to change it to square or portrait? Thanks.

    opened by FuzzyWobble 4
  • How to compile on windows?

    How to compile on windows?

    I am trying to compile this on windows and got stuck. Any help would be appreciated. Although I set the path for SDL2, still asking for the correct path. Can someone send me windows build for this software? image

    opened by Sba-Stuff 2
  • install locally

    install locally

    opened by jajaghu 1
  • Build fails because SDL2 is not found

    Build fails because SDL2 is not found

    Running CMake on the src directory produces this output (on Mac OS):

    CMake Error at CMakeLists.txt:85 (find_package):
      By not providing "FindSDL2.cmake" in CMAKE_MODULE_PATH this project has
      asked CMake to find a package configuration file provided by "SDL2", but
      CMake did not find one.
    
      Could not find a package configuration file provided by "SDL2" with any of
      the following names:
    
        SDL2Config.cmake
        sdl2-config.cmake
    

    The instructions don't mention this; the only dependency mentioned is Triangle, which I've copied into the specified place.

    opened by Stokestack 4
  • Can't run with nvidia driver: GLXBadDrawable error

    Can't run with nvidia driver: GLXBadDrawable error

    Hello, I hope I'm posting in the right place. Thank you for this great program! the demo is amazing!

    I tried installing it on ubuntu 20.04, with the latest nvidia driver to date (460.67), it compiled well, but when trying to run it says:

    GL version: 4.6.0 NVIDIA 460.67 X Error of failed request: GLXBadDrawable Major opcode of failed request: 151 (GLX) Minor opcode of failed request: 5 (X_GLXMakeCurrent) Serial number of failed request: 273 Current serial number in output stream: 273

    when I tried running it with the default driver nouveau, it runs, but without any buttons. unless its supposed to be like that and only use keyboard shortcuts? but I can't use this driver with my gpu and screen, so I had to go back to Nvidia's. any idea how to solve this GLXBadDrawable error? maybe I need to compile the driver with a specific parameter? I couldn't find a solution for this. Thank you very much!

    opened by eilon700 1
Owner
Google
Google ❤️ Open Source
Google
A tool for drawing 2d diagrams, 3d knots, Seifert surfaces. Computes some knot properties and invariants.

A tool for drawing 2d diagrams, 3d knots, Seifert surfaces. Computes some knot properties and invariants.

Nikolay Pultsin 5 Nov 1, 2021
3D Procedural Terrain Generation and Texturing Tool in OpenGL/C++

TerraForge3D 3D Procedural Terrain Generation Tool in OpenGL/C++ Give your valuable feedback : https://github.com/Jaysmito101/TerraForge3D/discussions

Jaysmito Mukherjee 90 Dec 4, 2021
Spotfetch - a tool to fetch spotify info with with ascii picture written in C++

A C++ fetch tool for spotify, its a cool little tool to retrieve information on current playing song on spotify. Run the command and be treated to a pixelated version of the album art accompanied by its information.

xfcisco 10 Oct 23, 2021
This is a C++17 deployment of deep-learning based image inpainting algorithm on Windows10, using Libtorch, Opencv and Qt.

This is a desktop software for image inpainting. It is a C++ deployment of image inpainting algorithm on Windows10, based on C++17 and implemented using vs2019.

null 2 Nov 4, 2021
Video, Image and GIF upscale/enlarge(Super-Resolution) and Video frame interpolation. Achieved with Waifu2x, SRMD, RealSR, Anime4K, RIFE, CAIN, DAIN and ACNet.

Video, Image and GIF upscale/enlarge(Super-Resolution) and Video frame interpolation. Achieved with Waifu2x, SRMD, RealSR, Anime4K, RIFE, CAIN, DAIN and ACNet.

Aaron Feng 5.4k Dec 6, 2021
C++ image processing and machine learning library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM.

Introduction The Simd Library is a free open source image processing and machine learning library, designed for C and C++ programmers. It provides man

Ihar Yermalayeu 1.4k Dec 7, 2021
CGIF, A fast and lightweight GIF encoder that can create GIF animations and images

CGIF, a GIF encoder written in C A fast and lightweight GIF encoder that can create GIF animations and images. Summary of the main features: user-defi

Daniel Löbl 29 Nov 29, 2021
libspng is a C library for reading and writing PNG format files with a focus on security and ease of use.

libspng (simple png) is a C library for reading and writing Portable Network Graphics (PNG) format files with a focus on security and ease of use.

Randy 399 Nov 28, 2021
A crude untested example showing how to retrieve and display images from multiple cameras with OpenCV and wxWidgets.

About wxOpenCVCameras is a crude untested example of how to retrieve and display images from multiple cameras, using OpenCV to grab images from a came

PB 2 Nov 19, 2021
A toolkit for making real world machine learning and data analysis applications in C++

dlib C++ library Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real worl

Davis E. King 10.7k Nov 30, 2021
Reading, writing, and processing images in a wide variety of file formats, using a format-agnostic API, aimed at VFX applications.

README for OpenImageIO Introduction The primary target audience for OIIO is VFX studios and developers of tools such as renderers, compositors, viewer

OpenImageIO 1.3k Dec 5, 2021
Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG.

TinyEXIF: Tiny ISO-compliant C++ EXIF and XMP parsing library for JPEG Introduction TinyEXIF is a tiny, lightweight C++ library for parsing the metada

cDc 66 Nov 30, 2021
Video++, a C++14 high performance video and image processing library.

Video++ Video++ is a video and image processing library taking advantage of the C++14 standard to ease the writing of fast video and image processing

Matthieu Garrigues 670 Dec 7, 2021
A computationally efficient and convenient toolkit of iterated Kalman filter.

IKFoM IKFoM (Iterated Kalman Filters on Manifolds) is a computationally efficient and convenient toolkit for deploying iterated Kalman filters on vari

HKU-Mars-Lab 76 Nov 27, 2021
The minimal opencv for Android, iOS and ARM Linux

opencv-mobile ✔️ This project provides the minimal build of opencv library for the Android, iOS and ARM Linux platforms. ✔️ We provide prebuild binary

null 598 Dec 5, 2021
ZT is a zig-contained library that automatically compiles+links ImGui, OpenGL, and GLFW into typed packages.

ZT is a zig-contained library that automatically compiles+links ImGui, OpenGL, and GLFW into typed packages. By zig contained I mean that ZT is intend

null 44 Dec 6, 2021
ppl.cv is a high-performance image processing library of openPPL supporting x86 and cuda platforms.

ppl.cv is a high-performance image processing library of openPPL supporting x86 and cuda platforms.

null 224 Nov 24, 2021