Visual Kinematics, Inc.

VglTools Programmer Manual
Graphics Library
Version 4.5.4
June 2021

Copyright © 1994-2021 Visual Kinematics, Inc.


DevTools VglTools VisTools VdmTools VfeTools VfsTools VfxTools

Table of Contents

1. Introduction
1.1 Module Summary
1.2 Compiling and Linking a VglTools Application
1.3 Using Drawing Function Modules
1.4 Graphics Device Testing and Performance
1.5 A First Program
1.6 Drawing to an X11 Device
2. Embedding VglTools in Application Frameworks
2.1 Embedded, In-Window, Applications
2.2 Creating a Simple Microsoft MFC Application
3. Bitmaps, Raster Fonts and Textures - Bitmap,RasFont,Texture
3.1 Bitmap Creation and Manipulation - Bitmap
3.2 Creation
3.3 Function Descriptions
3.4 Raster Fonts - RasFont
3.5 Creation and Attributes
3.6 Using FreeType Fonts
3.7 Using RasFont in Drawing Functions
3.8 Function Descriptions
3.9 Texture Maps - Texture
3.10 Creation and Attributes
3.11 Using Texture in Drawing Functions
3.12 Function Descriptions
4. Coordinate Transformations - Xfm,Xfmstack
4.1 Transformation Matrices - Xfm
4.2 Function Descriptions
4.3 Transformation Stack - Xfmstack
4.4 Function Descriptions
5. Graphics Buffers - ZBuffer,FBuffer,Pixelmap
5.1 Hidden Line Hidden Surface Removal - ZBuffer
5.2 Function Descriptions
5.3 Software Frame Buffer - FBuffer
5.4 Reading and Writing PNG, TIFF and JPEG Image Files
5.5 Writing Video Files
5.6 Function Descriptions
5.7 Device Dependent Frame Buffer Storage - Pixelmap
5.8 Function Descriptions
6. Drawing Functions - DrawFun
6.1 Window Operations
6.2 Frame Buffer Control
6.3 Query
6.4 Transformations
6.5 Lighting
6.6 Graphics Attributes and Primitives
6.7 Raster Fonts
6.8 Bitmaps
6.9 Texture Maps
6.10 Pixel Level Operations
6.11 Selection, Extent and Buffer Mode
6.12 Shader Assisted Rendering
6.13 Graphics Input
6.14 Function Descriptions
6.15 Graphics Function Descriptions
7. Display List and Display File - DList,DFile,DTee
7.1 Display List - DList
7.2 Display List Sorting
7.3 Display List Culling
7.4 Attribute Objects
7.5 Function Descriptions
7.6 Display File - DFile
7.7 JT Open
7.8 Attribute Objects
7.9 Function Descriptions
7.10 Display Tee - DTee
7.11 Function Descriptions
8. Software Rendering - DataBuf,RendBuf
8.1 Data Buffer - DataBuf
8.2 Function Descriptions
8.3 Color Buffer - RendBuf
8.4 Function Descriptions
9. Graphics Device and File Interface - *Dev
9.1 Silicon Graphics OpenGL - OpenGLDev
9.2 Function Descriptions
9.3 Generic X Windows - X11Dev
9.4 Function Descriptions
9.5 Generic Microsoft Windows Graphics Device Interface - GDIDev
9.6 Function Descriptions
9.7 Scalable Vector Graphics Format - SVGDev
9.8 Function Descriptions
10. User Input and Interaction - IActor,Popup
10.1 Object Interaction - IActor
10.2 Managing Arbitrary Clip Planes
10.3 Function Descriptions
10.4 Popup Menus - Popup
10.5 Function Descriptions
11. Graphics Primitive Processing - DOpt
11.1 Graphics Primitive Sorting and Grouping - DOpt
11.2 Attribute Objects
11.3 Function Descriptions
12. Utilities Quadric Surfaces - Quadric
12.1 Attribute Objects
12.2 Function Descriptions
13. Examples
13.1 Example 1, Drawing Basic Point, Line and Polygon Primitives
13.2 Example 1a, Drawing Vertex Color Point, Line and Polygon Primitives
13.3 Example 1b, Drawing Vertex Array Point, Line and Polygon Primitives
13.4 Example 1c, Drawing Vertex Buffer Point, Line and Polygon Primitives
13.5 Example 1d, Drawing Element Indexed Array Primitives
13.6 Example 1e, Drawing Element Indexed Buffer Primitives
13.7 Example 2, Drawing 3D, Lighted Point, Line and Polygon Primitives
13.8 Example 2a, Drawing Mixed 3D and "DC" primitives
13.9 Example 3, Drawing Hello World
13.10 Example 3a, Drawing Hello World in Multiple Raster Fonts
13.11 Example 3b, Drawing Hello World in Wide Character Strings
13.12 Example 3c, Drawing Hello World in OpenGL and GDI to a Pixmap
13.13 Example 3d, Drawing Hello World with FreeType
13.14 Example 4, Drawing to a X or GDI Window and an OpenGL Window
13.15 Example 4a, Using a FBuffer Object with Example 4
13.16 Example 5, Drawing a Rotating, Light Source Shaded Cone
13.17 Example 5a, Drawing Example 5 Using a Display List
13.18 Example 5b, Drawing Example 5 Using a Display File
13.19 Example 5c, Using an IActor Object with Example 5
13.20 Example 5d, Using a Popup Object with Example 5
13.21 Example 5e, Off-Screen Rendering with Example 5
13.22 Example 5f, Using an IActor Object Clipping Planes with Example 5
13.23 Example 6, Performing Graphics Primitive Optimization Using DOpt
13.24 Example 7, Drawing in XOR Mode, Rubber Banding
13.25 Example 7a, Using Update Mode for a Cursor Magnifier
13.26 Example 7b, Using Update Mode for a 3D Probe
13.27 Example 8, Reading and Writing Image Files
13.28 Example 8a, Writing a Microsoft Windows AVI file
13.29 Example 8b, FBuffer Image Operations
13.30 Example 8c, FBuffer Write MP4 or H264 File
13.31 Example 9, Framework for a Data Navigator Using DataBuf
13.32 Example 9a, Framework for a Data Navigator Using Off Screen Rendering
13.33 Example 10, Selection and Extent Modes
13.34 Example 10a, Picking Using Unprojection
13.35 Example 11, Drawing Texture Mapped Polygons
13.36 Example 11a, Drawing Stippled Polygons Using Bitmap
13.37 Example 11b, Draw Image as 1D or 2D Textured Polygon
13.38 Example 12, 3D Object and 2D Image Animation
13.39 Example 13, Software Rendered Image File of a 2D Diagram
13.40 Example 15, Using Clipping Planes
13.41 Example 16, Write External JT Open File Using DFile
13.42 Example 16a, Fill JT Open Part Using DFile
13.43 Example 16b, Read External JT Open File Using DFile
13.44 Example 16d, Write VglTools Native ASCII File Using DFile
13.45 Example 16e, Read VglTools Native File and Print
13.46 Example 16f, Write All ASCII File Types Using DFile
13.47 Example 17, Draw Polygon with Hole using Stencil Buffer
13.48 Example 19, Transparency with Depth Peeling
13.49 Example 20, Drawing Scalar Icons at Points
13.50 Example 21, Order Independent Transparency
14. Release Notes
14.1 Bug fixes
14.2 New features and changes
14.3 Existing Application Programming Interface Changes
14.4 Known problems and limitations

Development Toolkits


Visual Kinematics, Inc.
14395 Saratoga Ave.
Suite 110
Saratoga, CA 95070
U.S.A.
tel: (408) 867-6285
fax: (408) 867-7218
email: info@vki.com
URL: http://www.vki.com