BONGA
UNIVERSTIY
College Of Engineering and Technology
Department of Computer Science
Computer Graphics
Group Assignment
group-5
1
Chapter TEN
Application Modelling
2
Outline
INTRODUCTION
The Matrix Stacks
Implementing a Scene Hierarchy
OpenGL Display List
Display Lists and Traversal
how the concept are relaized in specfic system
OpenGL and Java 3D OpenGL
3
INTRODUCTION
Application modelling is a systematic approach to designing and
developing software applications.
It involves creating a detailed representation of the application's
structure, behavior, and presentation levels to ensure a comprehensive
understanding of the system and facilitate effective communication
among stakeholders
4
The Matrix Stacks
A matrix stack is a data structure that stores matrices in a
Last-In-First-Out (LIFO) order.
Each matrix represents a transformation, such as translation,
rotation, or scaling.
The stack allows for the following operations:
5
Cont..
Pushing: Adding a new matrix to the top of the stack.
Popping: Removing the top matrix from the stack.
Loading: Setting the current matrix to a specific matrix.
Multiplying: Multiplying the current matrix by another
matrix.
6
Implementing a Scene Hierarchy
Implementing a scene hierarchy in involves organizing the
elements of a 3D scene into a hierarchical structure, similar
to a tree.
Implementing a scene hierarchy is a crucial step in computer
graphics, particularly in 3D graphics rendering.
7
Implementing a Scene Hierarch
To implement a scene hierarchy:
Define shapes and groups as derived from a single class, using
inheritance to create different types of shapes and groups.
Pass a transform down the hierarchy before drawing, concatenating
transformations along the path from the root to the leaf.
Perform basic scene graph operations such as editing transformations,
getting the transform of an object in world frame, grouping and
ungrouping, and representing nodes
8
OpenGL Display List
Display list is a group of OpenGL commands that have
been stored (compiled) for later execution
Key Features and Advantages
Efficiency: Display lists are one of the fastest methods to
draw static data because vertex data and OpenGL
commands are cached in the display list memory
Performance Optimization: By placing matrix transforms,
lighting, and material calculations inside display lists.
9
CONT …
Limitations and Disadvantages
Immutable: Once a display list is compiled, it cannot be modified later
Data Size Limitations: Display lists have a limited size, which can
lead to memory fragmentation if portions of a modifiable display list
are changed.
Client State: Any client state-related commands cannot be placed in
display lists
10
hey are used to improve performance by reducing the number of OpenGL commands that need to be executed at runtime.
hey are used to improve performance by reducing the number of OpenGL commands that need to be executed at runtime.
Display Lists and Traversal
display list is a collection of commands that define a graphical output.
They are used to improve performance by reducing the number of
OpenGL commands that need to be executed at runtime
traversal refers to the process of visiting and processing each node in a
hierarchical data structure, such as a tree or graph.
This process is used in various algorithms to perform operations like
rendering, ray tracing, and data mining.
11
how the concept are relaized in specfic system
The concept of realization refers to the process of bringing a design
or plan into existence
In the context of a specific system, realization can be understood as
the implementation of a system's design, architecture, and
functionality
This process involves translating the system's requirements and
specifications into a working system that Realization in a Software
System
12
OpenGL and Java 3D
OpenGL
OpenGL is a low-level, cross-platform API (Application Programming
Interface) for rendering 2D and 3D graphics.
OpenGL is widely used in various fields, including game development,
scientific visualization, and architectural visualization
It is known for its flexibility and performance, but requires a good
understanding of computer graphics and low-level programming.
13
CONT…..
Key Features of OpenGL
Platform Independence: OpenGL is available on multiple
platforms, including Windows, macOS, and Linux.
Low-Level API: It provides direct access to graphics hardware,
allowing for fine-grained control over graphics rendering.
Performance: OpenGL is optimized for performance, making it
suitable for demanding applications like games and simulations
14
CONT.....
Java 3D
Java 3D is a high-level, object-oriented API for creating 3D graphics
applications and applets
. It provides a set of classes and methods that allow developers to
construct an Java 3D
Java 3D is designed to be easy to use and provides features such as
scene graph management
15
CONT….
Key Features of Java 3D
High-Level API: Java 3D provides a higher-level abstraction than
OpenGL, making it easier to use for developers without extensive
graphics knowledge.
Object-Oriented: Java 3D is built on object-oriented principles,
allowing for the creation of complex 3D scenes using a hierarchical
structure.
16
Comparison of OpenGL and Java 3D
Level of Abstraction: OpenGL is a low-level API, while Java 3D is a
high-level API.
Performance: OpenGL is generally faster due to its direct access to
graphics hardware.
Platform Independence: Both OpenGL and Java 3D are platform-
independent manipulate 3D scenes, including geometric data, attribute
information, and viewing information.
17
Conclusion
Application modeling in computer graphics involves
creating mathematical representations of three-dimensional
objects using specialized software.
This process is similar to sculpting and can be used to
generate two-dimensional images through rendering or for
computer simulations.
18
THANK YOU!!!
19