Vim3D is a viewer/graphical interpreter for 3D scene descriptions using C++ and OpenGL.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Vim3D, a vi-style interface to 3D modeling and simulation built in C++ and OpenGL

Many basic building tools are available through commands much like the ones used in unix which are accessed through the vi-style command line in the lower portion of the screen. The target users for this software are developers and engineers, in particular, people with an interest in computer science, creativity, visualization, and a love of the vi editor.

build and run

1 To get started clone vim3d and enter vim3d/src/

git clone
cd vim3d/src

2 call make to build the binary


3 Run vim3d

You can run it locally, or copy it to your path



vim3d [sceneFile]

there are some examples in the scenes/ folder, check those out to get started.


for an example of loading a scene file, try this one

vim3d scenes/demoday

quickstart / mini tutorial

open vim3d in the shell



get familiar with the 2 camera hotkeys to move around!

tumble is default behavior when mouse movement occurs.

press x to toggle zoom/tumble when mouse movement occurs

press z to toggle pan/tumble when mouse movement occurs

start to draw

hit i to go into insert mode



you can toggle orthogonal mode with 8

While in insert mode, hit the l key to cycle through different curve interpolation previews.

When finished drawing, press enter.


These are commands, you'll have to enter command mode by pressing :

to interpolate specify level of detail as the argument to bezier, bezier2, or bspline

bezier 5

hit u to undo and try these:

bezier2 5
bspline 5

name the object

name mycurve	

creating a rectangular box and copying it to the curve

now add a add grid, and extrude it.

add grid 0 0 1 4
extrude 0 0 0 10
name mygrid

now copy your rectangular box to the curve that you drew!

copy mygrid mycurve geo align

split the window and add another camera


add camera	
position 100 100 100

adding and moving objects

add cube

press m to toggle move mode

press z to toggle pan/tumble when mouse movement occurs

You can do animations, add lights, and also sorts of super cool transformations. Read the docs and check out the examples!


Cheet Sheet

Basic Commands

More docs to come, for more syntax, and how-to: