CAD STANDARDS
PRE-REQUISITE DISCUSSION
GRAPHICAL KERNEL SYSTEM (GKS)
DATA EXCHANGE STANDARDS
IGES STANDARD
STEP (Standard for the Exchange
of Product model Data)
•
Standard for Exchange of Product Model Data
•
Uses a formal model f or data exchange
•
Information is modele d using the EXPRESS language
•
EXPRESS has elements of Pascal, C, and other
languages
•
It contains constructs for defining data types and
structures, but not fo r processing data
•
EXPRESS describes geometry and other information
in a standard, unambiguous way
Classes of STEP Parts
•Introductory •Description metho ds
•Implementation m ethods
•Conformance testiing methodology and framework
•Integrated resources
•Application proto cols
•Abstract test suites
•Application
interp reted constructs
Status of STEP
•STEP has been un der development for many years, and will
continue for many more
•Over a dozen STE P parts have been approved as international
sta ndards
•Many others are under development
CONTINUOUS
ACQUISITION AND LIFE-CYCLE SUPPORT (CALS)
•Developed
by US Department of Defense
•Prescribes formats for storage and exchange of technical data
•Technical publications an important focus
Important CALS Standards
•
Standard Generalized Markup Language (SGML)
-developed in 1960s IBM
i.
document description language
ii.
separates content from structure (formatting)
iii.
uses “tags” to define headings, sections,
chapters, etc.
iv.
HTML is based on SGML
• Computer
Graphics Metafile (CGM)
i. Developed
in 1986
ii. vector
file format for illustrations and drawings
iii. All
graphical elements can be specified in a textual source file that can be
compiled into a binary file or one of two text representations
OpenGL (Open Graphics Library)
OpenGL is a cross-la nguage,
multi-platform application programmi ng interface (API) forrendering 2D
and 3D vector graphics. The API is typically used to interact with a graphics
processing unit (GPU), to achi eve hardware-accelerated rendering.
The OpenGL specific ation describes an abstract
API for drawing 2D and 3D graphics. Although it is possible for the API to be
implemented entirely in software, it is designed to be implemented mostly or
entirely in hardware.
The API is defined as a number of functions which
may be called by the client program, alongside a number of named integer
constants (for example, the constant G L_TEXTURE_2D, which corresponds to the
decimal number 3553). Although the function definitions are superficially
similar to those of the C programming language, they are language-independent.
As such, OpenGL has many language bindings, some of the most noteworthy being
the JavaScriptbinding WebGL (API, based on OpenGL ES 2.0, for 3D rendering from
within aweb browser); the C bindings WGL, GLX and CGL; the C binding provided
by iOS; and the Java and C bindings provi ded by Android.
In addition to being la nguage-independent, OpenGL
is also platform-independent. The specification says nothing on the subject of
obtaining, and managing, an OpenGL context, leaving this as a detail of the
underlying windowing system. For the same reason, OpenGL is purely concerned
with rendering, providing no APIs related to input, audio, or windowing.
OpenGL Command Syntax
As you might have observed from the simple program
in the previous section, OpenGL commands use the prefix gl and initial
capital letters for each word making up the command name (recall glClearColor(),
for example). Similarly, OpenGL defined constants begin with GL_, use all
capital letters, and use underscores to separate words (like
GL_COLOR_BUFFER_BIT).
You might also have noticed some seemingly
extraneous letters appended to some command names (for example, the 3f
in glColor3f() and glVertex3f()). It's true that the Color part
of the command name glColor3f() is enough to define the command as one
that sets the current color. However, more than one such command has been
defined so that you can use different types of arguments. In particular, the 3
part of the suffix indicates that three arguments are given; another version of
the Color command takes four arguments. The f part of the suffix
indicates that the arguments are floating-point numbers. Having different
formats allows OpenGL to accept the user's data in his or her own data format.
Some OpenGL commands accept as many as 8 different
data types for their arguments. The letters used as suffixes to specify these
data types for ISO C implementations of OpenGL are shown in Table 1-1, along
with the corresponding OpenGL type definitions. The particular implementation
of OpenGL that you're using might not follow this scheme exactly; an
implementation in C++ or Ada, for example, wouldn't need to.
Table: Command
Suffixes and Argument Data Types
OpenGL-Related Libraries
OpenGL provides a powerful but primitive set of
rendering commands, and all higher-level drawing must be done in terms of these
commands. Also, OpenGL programs have to use the underlying mechanisms of the
windowing system. A number of libraries exist to allow you to simplify your
programming tasks, including the following:
• The
OpenGL Utility Library (GLU) contains several routines that use lower-level
OpenGL commands to perform such tasks as setting up matrices for specific
viewing orientations and projections, performing polygon tessellation, and
rendering surfaces. This library is provided as part of every OpenGL
implementation. Portions of the GLU are described in the OpenGL Reference
Manual. The more useful GLU routines are described in this guide, where
they're relevant to the topic being discussed, such as in all of Chapter 11 and
in the section "The GLU NURBS Interface". GLU routines use the prefix
glu.
• For every
window system, there is a library that extends the functionality of that window
system to support OpenGL rendering. For machines that use the X Window System,
the OpenGL Extension to the X Window System (GLX) is provided as an adjunct to
OpenGL. GLX routines use the prefix glX. For Microsoft Windows, the WGL
routines provide the Windows to OpenGL interface. All WGL routines use the
prefix wgl. For IBM OS/2, the PGL is the Presentation Manager to OpenGL
interface, and its routines use the prefix pgl.
• The
OpenGL Utility Toolkit (GLUT) is a window system-independent toolkit, written
by Mark Kilgard, to hide the complexities of differing window system APIs. GLUT
is the subject of the next section, and it's described in more detail in Mark
Kilgard's book OpenGL Programming for the X Window System (ISBN
0-201-48359-9). GLUT routines use the prefix glut. "How to
Obtain the Sample Code" in the Preface describes how to obtain the
source code for GLUT, using ftp.
• Open
Inventor is an object-oriented toolkit based on OpenGL which provides objects
and methods for creating interactive three-dimensional graphics applications.
Open Inventor, which is written in C++, provides prebuilt objects and a
built-in event model for user interaction, high-level application components
for creating and editing three-dimensional scenes, and the ability to print
objects and exchange data in other graphics formats. Open Inventor is separate
from OpenGL.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2024 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.