This manual covers the following parts of Dilay:
In order to run Dilay, the following requirements have to be met:
- Graphics card that supports OpenGL 2.1 (for wireframe rendering the
GL_EXT_geometry_shader4OpenGL extension must be supported)
- three-button mouse with a mouse wheel
Pre-built installers for Windows are provided in the Download section.
Pre-built packages for Linux are not provided. Instead, Dilay needs to be built from source, which requires the following tools:
Firstly, get Dilay's sources from GitHub:
$ git clone https://github.com/abau/dilay.git $ cd dilay
Building is done via:
$ qmake -r PREFIX=DIR $ make release
If GLM is not installed in one of the systems standard directories, add the argument
INCLUDEPATH += GLM_DIR
GLM_DIR denoting the path where GLM is installed. Add the
-jN argument to
make for building using
N parallel processes. Install by running:
# make install
PREFIX was given to
qmake, Dilay is installed to
Graphical User Interface
Dilay's main window consists of several parts: the 3D view on the right, the toolbar on the left, the menubar at the top, and the statusbar at the bottom.
The 3D view covers the most space of Dilay's main window. It shows the mesh that is currently sculpted. Furthermore, it shows the 3D coordinate system along with the current primary plane.
Clicking in the main window leads to different outcomes depending on the mouse button that has been clicked: clicking the left mouse button applies the currently selected tool, whereas clicking the middle mouse button navigates the virtual camera. There are several ways for navigation:
Dragging the mouse while the middle button is clicked rotates the virtual camera around the current gaze point.
Dragging the mouse while the middle button is clicked and the Shift key is pressed moves the virtual camera along the camera plane.
Clicking the middle mouse button while the Control key is pressed sets the camera's gaze point to the position on the mesh that the mouse cursor points to.
Note that the 3D view can be manipulated via the items in the view menu.
The tools that are provided by Dilay are located in the toolbar on the left of the screen. There are two different set of tools: one for sculpting meshes and one for sketching meshes.
In the following, we look at the tools for sculpting meshes in Dilay.
New mesh generates a new mesh. All existing meshes remain.
Delete mesh deletes a mesh by clicking on it with the left mouse button.
Move mesh moves a mesh by dragging it using the mouse. Meshes can be moved along the standard axes, the planes spanned by the standard axes, the camera plane, and the primary plane.
The sculpting tools provided by Dilay change the geometry of the current mesh in one way or another. All these tools share some common parameters:
Radius: The radius determines the range that is affected by a tool. It is visualized by the size of the red cursor in the 3D view. The radius can be changed from the 3D view by scrolling the mouse wheel while having the Shift key pressed. The radius also determines the level of detail that is added by the sculpting tools when locally subdividing the mesh.
Absolute radius: The Absolute-radius checkbox switches between the absolute-radius and relative-radius mode. In the absolute-radius mode, the radius of the sculpting tools does not depend on the distance of the viewport to the mesh, i.e., when zooming the camera, the radius does not change. Consequently, it does not make a difference whether you sculpt the mesh from close-up or from distance. In the relative-radius mode, the radius of the sculpting tools depends on the distance of the viewport to the the mesh, i.e., when zooming the camera, the radius changes accordingly.
Subdivide: The Subdivide checkbox determines whether a sculpting tool should locally subdivide the mesh whenever more details are needed. By default, subdivision is enabled. Note that the Reduce tool is not affected by this checkbox.
Mirror: When this checkbox is enabled, all sculpting actions on the present mesh are mirrored at the YZ-plane. The intersection of the YZ-plane and the current mesh is highlighted by a gray line. For technical reasons, mirroring does not produce a perfectly symmetric mesh. However, pressing the Sync button synchronizes both sides of the YZ-plane: all vertices of the mesh that lie on the positive side of that plane in regard to the X axis are mirrored.
Dilay provides the following sculpting tools:
Carve: The Carve tool smoothly sculpts the mesh. Its strength is given by the Intensity parameter. Activating the Invert checkbox inverts the sculpting direction, so that the tool creates a hollow at the cursor position. Activating the Inflate checkbox results in a more bloated deformation.
Crease: The Crease tool creates a more narrow deformation. Intensity and Invert parameters have identical meanings as for the Carve tool.
Grab: The Grab tool allows to grab vertices of the mesh and move them in parallel to the camera plane. This is useful for moving large parts of a mesh (large radius) or creating short spikes (small radius). Optionally, the movement can take place along the current primary plane by activating the corresponding checkbox. The Grab tool can be configured to discard backfaces, i.e., faces on the opposite of the mesh. This is useful when this tool is applied to thin meshes.
Drag: The Drag tool resembles the Grab tool but creates more tentacle-shaped deformations. The resulting shape is determined by the Smoothness parameter. The remaining parameters have identical meanings as for the Grab tool.
Flatten: The Flatten tool generates a smooth area by leveling all detailed structures. Its strength is given by the Intensity parameter.
Smooth: The Smooth tool smoothes detailed structures by averaging over all vertices that are affected by the tool. Its strength is given by the Intensity parameter. By activating the Relax-only parameter, the effect is more subtle as each vertex will only be affected by its direct neighbors.
Pinch: The Pinch tool moves all affected vertices towards the center of the cursor. This is useful for creating hard edges. By activating the Invert parameter, the vertices are moved away from the center of the cursor.
Reduce: The Reduce tool collapses faces smaller than a certain threshold. This threshold is defined by the Intensity parameter. The effect is best viewed when wireframe rendering is enabled.
Note that pressing the Shift key while sculpting is a shortcut for activating the Invert parameter (this only applies for tools that have a Invert parameter). Pressing the Control key while turning the mouse wheel changes the Intensity/Smoothness parameter of the selected sculpting tool (this only applies for tools that have an Intensity/Smoothness parameter).
Using the tools in the Sketch section of the toolbar allows to design a first draft of a mesh. A sketch is a tree-shaped frame of nodes, where each node may have an arbitrary set of child nodes (Example). The first sketched node is denoted as the root of the sketch. The relation between the nodes of a sketch can be inspected by activating wireframe rendering. A sketch can be refined by drafting paths of spheres onto its surface (Example).
The following sketch-related tools are available in Dilay:
New sketch generates a new sketch.
Modify sketch moves nodes or generates new nodes. To move a node, just drag it in the 3D view. If the Mirror checkbox is activated, all modifications are mirrored at the YZ-plane intersecting the root node. Pressing the Sync button synchronizes both sides of that YZ-plane: all nodes that lie on the positive side of that plane in regard to the X axis are mirrored.
If the Snap checkbox is activated, nodes are snapped to the YZ-plane; the maximum distance of snappable nodes can be adjusted via the Snap width slider.
Nodes can be moved along the standard axes, the planes spanned by the standard axes, the camera plane, and the primary plane. If the Transform children checkbox is activated, all modifications are applied to the child nodes as well. To change the radius of a node, drag it while holding the Shift key. To add a new children to a node, drag it while holding the Control key.
Delete sketch deletes sketches, nodes, and spheres.
Rebalance sketch selects an arbitrary node as the new root of a sketch.
Sketch spheres adds paths of spheres by dragging over the surface of a sketch. The Radius parameter determines the size of the spheres, and the Height parameter determines the position of the spheres in relation to the sketch surface. The Mirror checkbox has an identical meaning as for the Modify-sketch tool.
Existing spheres can be smoothed by dragging while holding the Shift key. There are four different modes of smoothing:
None merely smoothes the path of spheres.
Embed smoothes the path of spheres and embeds the spheres near the endpoints of the path into the sketch.
Embed and adjust resembles the Embed mode but additionally adjusts the spheres' radii near the endpoints of the path so that they converge to the radii of the spheres that the endpoints are embedded in.
Pinch resembles the Embed-and-adjust mode but pinches the spheres' radii near the endpoints of the path. This is useful for creating muscle-shaped sketches.
Convert sketch converts a sketch to a sculptable mesh. The Resolution parameter determines the number of vertices in the resulting mesh. Note that the conversion may take a while for high resolutions. If the Move to center checkbox is activated, the mesh is centered at the origin of coordinate system after the conversion. If the Smooth mesh checkbox is activated, the mesh's vertices are smoothed after the conversion.
The menubar contains the following items:
Open...: Opens a OBJ-file and loads the contained mesh. Dilay asks whether the loaded mesh should be added to the existent scene or replace it.
Save as.../Save: Saves the current mesh in a OBJ file.
Quit: Quits Dilay.
Undo: Undoes the last action that changed the mesh.
Redo: Reverts the last Undo action.
Configuration: Opens the configuration dialog.
Snap camera: Snaps the virtual camera to the closest standard axis. If the camera has already been snapped, it is cyclically snapped to the other standard axes.
Reset gaze point: Resets the gaze point of the virtual camera to the the origin of the 3D coordinate system.
Toggle wireframe: Toggles wireframe rendering. Wireframe rendering of meshes is only available on graphic cards that support the
Toggle shading: Toggles between smooth and flat shading.
Show floor plane: Toggles rendering of the floor-plane.
The statusbar at the bottom of Dilay's window displays context sensitive information. If a tool is selected, the statusbar displays instructions on how to apply the selected tool to the mesh. If no tool is selected, instructions about navigating the virtual camera are displayed. Each instruction is prefixed by a sequence of mouse (Left, Middle, Right) and keyboard (Shift, Control) buttons that need to be pressed in order to perform the given action.
The number of faces of the currently sculpted mesh are displayed on the right side of the statusbar.
Additional to the shortcuts given in the menubar, Dilay provides the following shortcuts:
|Esc||Close current tool|
|C||Snap camera (if snapped, snap camera to next standard axis)|
|Shift+C||Snap camera (if snapped, snap camera to previous standard axis)|
|Tab||Cycle through toolbar|
|Shift+Tab||Cycle through toolbar in reverse order|