• Stars
    star
    5,093
  • Rank 8,161 (Top 0.2 %)
  • Language
    C++
  • License
    Other
  • Created about 9 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Interactive field-aligned mesh generator

Instant Meshes

Build Status Build status

This repository contains the interactive meshing software developed as part of the publication

Instant Field-Aligned Meshes
Wenzel Jakob, Marco Tarini, Daniele Panozzo, Olga Sorkine-Hornung
In ACM Transactions on Graphics (Proceedings of SIGGRAPH Asia 2015)
PDF, Video, Project page

In commercial software

Since version 10.2, Modo uses the Instant Meshes algorithm to implement its automatic retopology feature. An interview discussing this technique and more recent projects is available here.

Screenshot

Instant Meshes logo

Pre-compiled binaries

The following binaries (Intel, 64 bit) are automatically generated from the latest GitHub revision.

Microsoft Windows
Mac OS X
Linux

Please also fetch the following dataset ZIP file and extract it so that the datasets folder is in the same directory as Instant Meshes, Instant Meshes.app, or Instant Meshes.exe.

Datasets

Note: On Linux, Instant Meshes relies on the program zenity, which must be installed.

Compiling

Compiling from scratch requires CMake and a recent version of XCode on Mac, Visual Studio 2015 on Windows, and GCC on Linux.

On MacOS, compiling should be as simple as

git clone --recursive https://github.com/wjakob/instant-meshes
cd instant-meshes
cmake .
make -j 4

To build on Linux, please install the prerequisites libxrandr-dev, libxinerama-dev, libxcursor-dev, and libxi-dev and then use the same sequence of commands shown above for MacOS.

On Windows, open the generated file InstantMeshes.sln after step 3 and proceed building as usual from within Visual Studio.

Usage

To get started, launch the binary and select a dataset using the "Open mesh" button on the top left (the application must be located in the same directory as the 'datasets' folder, otherwise the panel will be empty).

The standard workflow is to solve for an orientation field (first blue button) and a position field (second blue button) in sequence, after which the 'Export mesh' button becomes active. Many user interface elements display a descriptive message when hovering the mouse cursor above for a second.

A range of additional information about the input mesh, the computed fields, and the output mesh can be visualized using the check boxes accessible via the 'Advanced' panel.

Clicking the left mouse button and dragging rotates the object; right-dragging (or shift+left-dragging) translates, and the mouse wheel zooms. The fields can also be manipulated using brush tools that are accessible by clicking the first icon in each 'Tool' row.

More Repositories

1

nanogui

Minimalistic GUI library for OpenGL
C++
4,645
star
2

nanobind

nanobind: tiny and efficient C++/Python bindings
C++
2,280
star
3

nori

Nori: an educational ray tracer
C++
837
star
4

tbb

Intel TBB with CMake build system
C++
363
star
5

filesystem

A tiny self-contained path manipulation library for C++
C++
243
star
6

layerlab

The layer laboratory
C++
90
star
7

nanobind_example

A nanobind example project
CMake
89
star
8

hdrmerge

Scientific RAW to HDR merging tool
C++
79
star
9

pcg32

Tiny self-contained C++ version of the PCG32 pseudorandom number generator
C++
70
star
10

dset

Lock-free parallel disjoint set data structure (aka UNION-FIND) with path compression and union by rank
C++
58
star
11

libftdi

FTDI USB driver (with improved CMake buld system)
C
26
star
12

term-tools

term-tools
Shell
14
star
13

pss

Parallel Stable Sort
C++
13
star
14

nori-old

C++
13
star
15

hypothesis

A collection of quantile and quadrature routines for Z, Chi^2, and Student's T hypothesis tests
C++
10
star
16

ek_python_test

Enoki + pybind11 example project
CMake
9
star
17

psum

CS3218 Lecture 5: Processor Architecture & Efficiency — Benchmark problem
Jupyter Notebook
6
star
18

nori-very-old

Archive of last year's Nori base code & assignment web page
C++
5
star
19

typing_repro

CMake
5
star
20

wjakob.vim

Wenzel's VIM snippets
Vim Script
3
star
21

wjakob.nvim

Personal neovim tweaks
Scheme
3
star
22

inheritance_issue_3

C
2
star
23

pytest_issue

C
2
star
24

pypy_issues

C
2
star
25

vectorcall_issue

C
2
star
26

inheritance_issue

Demonstration of a Python inheritance-related issue
C
1
star
27

pypy_issue_getset_doc

C
1
star
28

inheritance_issue_2

C
1
star