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

Close

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 https://github.com/filipkunc/MeshMaker.git
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 https://github.com/filipkunc/MeshMaker.git
cd MeshMaker
git submodule init
git submodule update

About

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="https://github.com/filipkunc/MeshMaker/raw/master/Screenshots/triquads.png" 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="https://github.com/filipkunc/MeshMaker/raw/master/Screenshots/edgeloops.png" alt="Edge loops" width="832px" height="653px"></img>

Scripting

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="https://github.com/filipkunc/MeshMaker/raw/master/Screenshots/scripting.png" alt="Scripting" width="833px" height="652px"></img>

Windows port

<img src="https://github.com/filipkunc/MeshMaker/raw/master/Screenshots/triquads_win.png" alt="Triangles and Quads" width="715px" height="541px"></img>

Linux port

<img src="https://github.com/filipkunc/MeshMaker/raw/master/Screenshots/LinuxQt.png" 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

Selection

  • 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

filipkunc

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 ProjectModifiedEvent.java.
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.