Skip to content

Commit

Permalink
Version 3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
tzanio committed Jan 27, 2015
1 parent ff72d8d commit 3d6e0f7
Show file tree
Hide file tree
Showing 29 changed files with 4,471 additions and 1,739 deletions.
47 changes: 47 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,53 @@
http://glvis.googlecode.com


Version 3.0, released on Jan 26, 2015
=====================================

- Updated the makefile to use the new build system in MFEM, so GLVis can now be
built from any (serial or parallel) MFEM build.

- Support for saving screenshots directly in png format using libpng. Enabled
by default with "USE_LIBPNG = YES" in the makefile.

- Support for antialiased fonts using the freetype library. Enabled by default
with "USE_FREETYPE = YES" in the makefile (the options "FT_OPTS_YES" and
"FT_LIBS_YES" may need to be adjusted). The font is determined at runtime from
a list of fontconfig patterns: fc_font_patterns in lib/aux_vis.cpp. It can
also be specified on the command line, e.g. "-fn Ubuntu-15".

- Improved level surfaces to support hexahedral elements and to better represent
high-order grid-functions and curved meshes using element subdivision.

- Added support for 1D meshes + solutions, visualized in 2D via extrusion in
y-direction. The z-axis is scaled relative to the x-axis.

- Added support for surface meshes (2D meshes in 3 space dimensions).

- Added new (input stream) command, "autopause <int value>" that will stop (when
turned on) the interpretation of the input stream after every mesh + solution
update. Autopause can also be toggled using the "Control+Space" key.

- When visualizing a GridFunction from a socket, script, or the command line
GLVis will now enable the subdivision mode ("f" key) and select subdivision
factor (using the new AutoRefine method) depending on the number of elements
(2D) or number of boundary elements (3D) in the mesh.

- Additional stream command support. Most of the script commands are supported
including taking screenshots.

- New camera manipulation using Ctrl, the middle mouse button, and optionally
Shift and Alt.

- Significantly improved logarithmic scaling mode (key "L").

- Improved visualization of smoothed (antialiased) lines without multisampling.

- Switched to MFEM's OptionParser class for command line arguments parsing.

- Various small fixes and styling updates.


Version 2.0, released on Nov 18, 2011
=====================================

Expand Down
74 changes: 32 additions & 42 deletions INSTALL
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
GLVis visualization tool
version 2.0
version 3.0

_/_/_/ _/ _/ _/ _/
_/ _/ _/ _/ _/_/_/
Expand All @@ -9,73 +9,63 @@

http://glvis.googlecode.com

GLVis is an X11 application and can be built on Linux/Unix systems including
Mac OS X using the X11/XQuarz app.

Besides a C++ compiler, GLVis depends on the following external packages:

- the MFEM library (use the latest release)
- the MFEM library (use the latest release) plus any libraries that MFEM was
built to depend on
http://mfem.googlecode.com

- the LAPACK and BLAS libraries, if MFEM was built to depend on them
http://www.netlib.org/lapack

- the X11, GL and GLU libraries, which are standard on most Unix-type systems
- the X11, GL and GLU libraries
http://www.x.org, http://www.opengl.org, http://www.mesa3d.org

- the libtiff library, which can optionally be used for taking screenshots
http://www.libtiff.org
- the libpng or libtiff library; used for taking screenshots (optional)
http://www.libpng.org, http://www.libtiff.org

- the FreeType 2 and Fontconfig libraries; used for font rendering (optional)
http://www.freetype.org, http://www.fontconfig.org

Two build systems are supported, based on make and SCons, as described below.
The build system is based on GNU make, as described below.


Building with 'make'
====================
Building with GNU make
======================
GLVis comes with a standard makefile, which can be adjusted to specify the paths
to the external libraries, the compiler flags, and if libtiff should be used for
screenshots. Specific options for compiling on Mac OS X are also available.
to the external libraries, the compiler flags, etc.

Some of the available 'make' targets are:

make -> Builds the glvis binary and the lib/libglvis.a library
make lib -> Builds only the lib/libglvis.a library
make -> Builds the glvis binary, using the MFEM compiler and options
make opt -> Builds an optimized version
make debug -> Builds a debug version
make clean -> Cleans the build

If LibTIFF is available on your system, modify the makefile by setting
'USE_LIBTIFF = YES'.


Building with 'SCons'
====================
SCons is a Python-based next generation build system from http://www.scons.org/,
which combines the capabilities of make and configure. The included SConstruct
file can be edited to adjust paths to libraries, but the platform-specific
options and the availability of LAPACK, BLAS and libtiff are automatically
detected.

Some of the available 'SCons' targets are:

scons -> Builds the glvis binary and the lib/libglvis.a library
scons debug=1 -> Builds a debug version
scons -c -> Cleans the build


Some building considerations:

- GLVis requires the serial version of MFEM without MPI or OpenMP support (its
default build options). If you have built the parallel (MPI) and/or the OpenMP
version, you will need to re-build MFEM, e.g., using:

make clean; make
- On most Linux distributions, the required dependencies (except MFEM) can be
installed via a package manager. Usually it is sufficient to install the
packages: libGLU-dev, libpng-dev, and fontconfig-dev with their dependencies
(actual packages names may vary).

- To adjust the anti-aliasing settings for your hardware:

1) Modify the value of the GLVIS_MULTISAMPLE variable (multisample mode) in
the makefile/SConstruct file. Supported values can be obtained from the
'glxinfo' command ('ms' columns) or a from a tool like 'nvidia-settings'.
the makefile. Supported values can be obtained from the 'glxinfo' command
('ms' columns) or a from a tool like 'nvidia-settings'.

2) Modify the value of the GLVIS_MS_LINEWIDTH variable (anti-aliased line
width) in the makefile/SConstruct file. Note that the same value can
produce different results depending on the OpenGL implementation.
width) in the makefile. Note that the same value can produce different
results depending on the OpenGL implementation.

3) The above options and some other built-in defaults can be overwritten with
command line options, see glvis -h for short help.

- If your X11 server does not support GLX 1.3, you can build GLVis to only use
GLX 1.0 calls, by specifying the GLVIS_GLX10 define. Note that the X11.app in
OS X complains about GLX 1.3 support, but in practice works fine with GLVis.

- GLVis can be built without libpng/libtiff/FreeType 2/Fontconfig by setting
the makefile variables USE_LIBPNG/USE_LIBTIFF/USE_FREETYPE to NO.
17 changes: 10 additions & 7 deletions README
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
GLVis visualization tool
version 2.0
version 3.0

_/_/_/ _/ _/ _/ _/
_/ _/ _/ _/ _/_/_/
Expand All @@ -18,8 +18,7 @@ licensing restrictions can be found in the file COPYRIGHT.
When started without any options, glvis starts a server which waits for a socket
connections (on port 19916 by default) and visualizes any received data. This
way the results of simulations on a remote (parallel) machine can be visualized
on the local user desktop. On Mac OS X Leopard you should start the server with
'glvis -mac'. Newer versions of OS X do not require the '-mac' option.
on the local user desktop.

GLVis can also be used to visualize a mesh with or without a finite element
function (solution), as in 'glvis -m cube.mesh3d'. For parallel computations,
Expand Down Expand Up @@ -158,10 +157,13 @@ F11/F12 - Shrink/Zoom material subdomains (to the centers of the attributes)

Advanced mouse functions
========================
Middle+Ctrl - Object translation
Right+Ctrl - Object scaling (see also '[' and ']')
Left+Alt - Tilt
Right+Shift - Change light source position (see '\')
Middle+Ctrl - Object translation (moves the camera left/right/up/down)
Middle+Ctrl+Shift - Object translation (turns the camera left/right/up/down)
Middle+Ctrl+Alt - Moves the camera forward/backward (vertical mouse motion)
and tilts the camera left/right (horizontal mouse motion)
Right+Ctrl - Object scaling (see also '[' and ']')
Left+Alt - Tilt
Right+Shift - Change light source position (see '\')


Vector data commands
Expand All @@ -185,6 +187,7 @@ d - Toggle the "displaced mesh" state: (see also keys 'n'/'b')
polar lines
n - increase the displacement amount in 10% steps, wraps around from 100% to 0%
b - decrease the displacement amount in 10% steps, wraps around from 0% to 100%
B - Display/Hide the boundary in 2D vector mode

e - Toggle the "elements" state (vector data version)
The options are: -> show surface elements corresponding to the current
Expand Down
70 changes: 0 additions & 70 deletions SConstruct

This file was deleted.

Loading

0 comments on commit 3d6e0f7

Please sign in to comment.