Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!


Welcome to MeshMaker

How to build it

Well project contains hardcoded paths in Mac version, I don't know how to fix it properly to $(SRCROOT) so I give this tutorial, which works for me:

cd ~
git clone
cd MeshMaker
git submodule init
git submodule update
cd Submodules/OpenSubdiv
cmake -G "Xcode"
cd ../..
open MeshMaker.xcworkspace

Windows version needs to have build OpenSubdiv first by OpenSubdiv.sln. Then MeshMaker.sln works. If there is also hardcoded paths, use generate it with cmake -G switch.

Linux version is just my learning of Qt Creator and Ubuntu, so I just knew that I depend on glew installed, feel free to improve Linux port, because I am much more experienced in Windows/Mac development than Linux.

License and submodules

MeshMaker is under MIT license. You find it in file "LICENSE.TXT".

MeshMaker uses these third party libraries:

For working with submodules I recommend reading Pro Git chapter about submodules. But in short to get full repo you need:

git clone
cd MeshMaker
git submodule init
git submodule update


MeshMaker is very basic modeling tool focused on low poly modeling with triangles and quads. I am working on it in my spare time. It is my hobby project, I am writing it because I always wanted to know how is DCC tools made so I decided that I try to build something small myself.

My personal goal is to make it viable for intuitive and fast work, something like 3D equivalent of Paint.NET.

Project started as Objective C project, because I wanted to learn Mac programming, after several years programming on Windows in C# and C++. Later I decided to port it (twice). Current rewrite is mainly C++ spiced with #if defined(__APPLE__) or #if defined(WIN32) for platform specific tasks. I like to use platform strongest language for GUI so Mac version is Objective C++ with Cocoa and Windows version is C# and C++/CLI with Windows Forms libraries.

For learning Linux development I tried Ubuntu with Qt and Qt Creator IDE, it allows me to share C++ codebase a lot.

Triangles and Quads

MeshMaker supports triangles and quads in same mesh. There is no support for arbitrary polygons.

<img src="" alt="Triangles and Quads" width="745px" height="569px"></img>

Edge loops

MeshMaker enables edge loop selection with Double Click and edge expand selection with Command Double Click. Combinations of triangle/quad extrusion and expanded edge splitting enables simple and fast modeling.

<img src="" alt="Edge loops" width="832px" height="653px"></img>


For scripting is used JavaScript via WebScriptObject and Fragaria editor for editing code. Example scripts are in Scripts folder.

All script actions are undoable.

<img src="" alt="Scripting" width="833px" height="652px"></img>

Windows port

<img src="" alt="Triangles and Quads" width="715px" height="541px"></img>

Linux port

<img src="" alt="Linux Qt" width="744px" height="494px"></img>

Camera manipulation

Similar to Maya, Unity.

  • Rotation - Alt + Left Mouse Button
  • Pan - Alt + Middle Mouse Button
  • Zoom - Alt + Right Mouse Button

Editor can be used also only with multitouch trackpad (MacBooks) and keyboard.

  • Rotation - Alt + Two Fingers
  • Pan - Control + Alt + Two Fingers
  • Zoom - Two Fingers Zoom


  • Normal selection - Left Mouse Button
  • Select through (selects back faces for example) - Control + Left Mouse Button
  • Adding to selection - Shift + Left Mouse Button
  • Inverting selection - Command + Left Mouse Button
  • Soft selection - global mode in Edit menu

Recent activity


Commits by filipkunc were pushed to filipkunc/MeshMaker

fb29843 - Soft selection, RGB and RGBA selection. RGBA selection works only on OS X, RGB sometimes selects invalid objects.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.