Professional Documents
Culture Documents
Submitted in the partial fulfilment of the requirement for the sixth semester of
BACHELOR OF ENGINEERING
In
COMPUTER SCIENCE & ENGINEERING
By
PRIYANKA K A (1RR20CS086)
PRAJWALA UDAY NADAKARNI (1RR20CS83)
NGALORE-560074 .
(An ISO 9001:2008 Certified Institute) (2020-21)
RAJARAJESWARI COLLEGE OF ENGINEERING
MYSORE ROAD, BANGALORE-560074
(An ISO 9001:2008 Certified Institute)
(Affiliated to Visvesvaraya Technological University, Belagavi)
CERTIFICATE
Certified that mini project work entitled
“AIRSHOW”
Carried out by
PRIYANKA K A (1RR20CS086) PRJWALA UDAY NADAKARNI
(1RR20CS083)
The students of “RajaRajeshwari College of Engineering” in partial fulfillment for the
sixth semester of Bachelor Of Engineering in Computer Science & Engineering of the
Visvesvaraya Technological University, Belgaum during the year 2022-23. It is certified that all
corrections/suggestions indicated for Internal Assessment have been incorporated in the report
deposited in the departmental library. The mini project report has been approved as it satisfies the
academic requirements in respect of mini project work prescribed for the sixth semester.
…………….................. ……………………………
External Viva-Voce
Examiners: Signature
1. ______________________
2. ______________________
ABSTRACT
The "Airshow Project" is a computer graphics project that aims to simulate an air
show environment using various techniques and algorithms. The project involves
creating a 3D virtual environment that includes a runway, aircraft, and various other
objects. The aircraft are modeled using 3D modeling software and are animated
using keyframe animation techniques.
The environment is rendered using lighting and shading techniques to create a
realistic look and feel. The project also includes sound effects and background music
to enhance the user experience.
The goal of the project is to provide an immersive and interactive experience for the
user, allowing them to feel as if they are part of an air show.
The project can be used for entertainment purposes, as well as for training and
educational purposes.
The project showcases the use of various computer graphics techniques and
algorithms to create a realistic and interactive simulation of an air show.
The project features various aircraft performing aerial stunts and maneuvers.
The main objective of the project is to create a realistic and immersive experience
for the audience, while also demonstrating the advanced capabilities of computer
graphics technology.
The project is designed to be visually stunning and engaging, and to provide a unique
and memorable experience for viewers.
i
ACKNOWLEDGEMENT
We are truly thankful and convey our sincere gratitude to the principal,
Dr. R Balakrishna, RajarajesHwari College of Engineering, Bangalore.
We convey our sincere gratitude to Dr. S Usha, HOD & Dean Research, Department
of Computer Science & Engineering for her meticulous support, continuing, co-
operation, valuable suggestion and encouragement during the development of
project we also extend our thanks to her for her invaluable guidance to imbibe the
requisite knowledge for success of our mini project.
We convey our sincere gratitude to Mrs. Megha L, Assistant Professor, Department
of Computer Science & Engineering, for her meticulous support continuing co-
operation, valuable suggestion and encouragement during the development of
project. We also extend our thanks to her for invaluable guidance to imbibe the
requisite knowledge for success of our project, as an internal guide. We are very
much obliged.
We also thank our parents who have encouraged us and supported in every stage of
development of this project.
Last but not the least, our wishes to the entire Computer Science Department for
their help and guidance, encouragement, inspiration and co-operation at all stages of
the development of this project without which this project wouldn’t have been a
success. Finally, we express our heartfelt gratitude to all those who helped us to
complete the mini project work successful providing support, suggestions, advise,
guidance and much needed encouragement.
PRIYANKA K A (1RR20CS086)
PRAJWALA UDAY NADAKARNI (1RR20CS083)
ii
TABLE OF CONTENTS
Abstract i
Acknowledgement ii
List of Figures iii
Chapter 1 : Introduction 1
• Chapter 1.1: History 2
• Chapter 1.2: Pioneers In Graphic Design 3
Chapter 2 : Literature Survey 4
Chapter 3 : Problem Definition 6
Chapter 4 : System Requirements 7
Chapter 5 : Design And Implementation 8
• Chapter 5.1 : Flowchart And Architecture 8
• Chapter 5.2 : Concepts And Principles of OpenGL 9
• Chapter 5.3 : OpenGL Related Libraries 10
• Chapter 5.4 : Windows Management In OpenGL 10
• Chapter 5.5 : Callback Functions 11
• Chapter 5.6: Running The Program 14
Chapter 6 : Snapshots 15
Conclusion 18
Bibliography 19
LIST OF FIGURES
iii
CHAPTER 1
INTRODUCTION
Graphics provides one of the natural means of communicating with a computer.
Graphics has also become a key technology for communicating ideas, data and trends
in most areas of commerce, science, engineering and education. So graphics refers to
pictures, sketch of building, flowcharts, control flow diagrams, bar charts, and pie
charts.
Computer graphics is the creation, manipulation and storage of models and images
of picture objects by the aid of computers. This was started with the display of
plotters and CRT. Computer graphics is also defined as the study of techniques to
improve the communication between user and machine. Thus computer graphics is
one of the effective media of communication between machine and user.
Classification:
Computer graphics is broadly classified into three categories:
• Based on type of Object
2-Dimensional Graphics (Ex. Pixel, line, circle etc...)
3-Dimensional Graphics (Ex. Cube, polyhedron etc...)
• Based on User Interaction
Interactive Computer Graphics
Non-Interactive Computer Graphics
• Based on Application
Business or presentation Graphics
Scientific Graphics
Scaled Drawings
Cartoons, games and art work
The term computer graphics has been used in a broad sense to describe almost
everything on computers that is not text or sound. Typically, the term computer
graphics refers to several different things:
• The representation and manipulation of image data by a computer the various
technologies used to create and manipulate images
• The images so produced, and
• The sub-field of computer science which studies methods for digitally
synthesizing and manipulating visual content see study of computer graphics.
The advance in computer graphics was to come from one MIT student, Ivan
Sutherland. In 1961 Sutherland created another computer drawing program called
Sketchpad. Using a light pen, Sketchpad allowed one to draw simple shapes on the
computer screen, save them and even recall them later. The light pen itself had a small
photoelectric cell in its tip. This cell emitted an electronic pulse whenever it was placed
in front of a computer screen and the screen’s electron gun fired directly at it. By
simply timing the electronic pulse with the current location of the electronic gun, it
was easy to pinpoint exactly where the pen was on the screen at any given moment.
Once that was determined, the computer could then draw a cursor at that location.
These early computer graphics were Vector graphics, composed of thin lines whereas
modern day graphics are Raster based using pixels. The difference between vector
graphics and raster graphics can be illustrated with a shipwrecked sailor. He creates
an SOS sign in the sand by arranging rocks in the shape of the letters” SOS”. The
rock SOS sign is similar to raster graphics. Every pixel has to be individually
accounted for. The rope SOS sign is equivalent to vector graphics. The computer
simply sets the starting point and ending point for the line and perhaps bends it a little
between the two end points.
Charles Csuri
Charles Csuri is a pioneer in computer animation and digital fine art and created
the first computer art in 1964.Csuri was recognized by Smithsonian as the father of
digital art and computer animation, and as a pioneer of computer animation by the
Museum of Modern Art (MoMA) and (ACM-SIGGRAPH).
Donald P. Greenberg
Donald Greenberg is a leading innovator in computer graphics. Greenberg has
authored hundreds of articles and served as a teacher and mentor to many prominent
computer graphics artists, animators, and researchers such as Robert L. Cook, Marc
Levoy, and Wayne Lytle. Many of his former students have won academy awards for
technical achievements and several have won the SIGGRAPH achievement award.
Greenberg was the founding director of the NSF center for computer graphics and
scientific visualization.
Michael Noll
Noll was one of the first researchers to use a digital computer to create artistic
patterns and to formalize the use of random processes in the creation of visual arts.
He began creating digital computer art in 1962, making him one of the earliest digital
computer artists. In 1965, Noll along with FriederNake and Georg Nees were the first
to publicly exhibit the computer art. During April 1965, the Howard Wise Gallery
exhibited Noll’s computer art along with random-dot patterns by BelaJulesz.
5.1 FLOWCHART/ARCHITECTURE
START
Main() Init()
pushMatrix(),
translate(), popMatrix()
Application model
Application program
#include<GL/gl.h>; #include<GL/glu.h>
5.4 WINDOWS MANAGEMENT IN OPENGL
Five routines perform tasks necessary to initialize a window.
• glutInit(int *argc, char **argv) initializes GLUT and processes any command line
arguments (for X, this would be options like –display and -geometry). It should
be called before any other GLUT routine.
• glutInitDisplayMode(unsigned int mode) specifies whether to use an RGBA or
color-index color model. We can also specify whether we want a single or double
buffered window. We can use this routine to indicate the window to have associated
depth, stencil or accumulation buffer.
GLUT SINGLE: selects a single-buffered window which is the default if isn’t
called; GLUT DOUBLE: selects a double-buffered window.
• glutInitWindowPosition (intx, inty) specifies the screen location for the upper-left
corner of your window.
• glutInitWindowSize (intwidth,intsize) specifies the size, pixels, windows
You can use these routines to register callback commands that are invoked when
specified events occur.
• glutReshapeFunc(void(*func) (intw, inth)) indicates what action should be
taken when the window is resized.
Translation
• void glTranslatef (GLfloatx, GLfloaty, GLfloatz);
glTranslatef () creates a matrix M which performs a translation by (x,y,z) and
then post-multiplies the current matrix by M.
Scaling
• void glScalef (GLfloatx,GLfloaty,GLfloatz);
glScalef () creates a matrix M which performs a scale by (x,y,z) and then post-
multiplies the current matrix by M.
Rotation
• void glRotatef(GLfloatangle,GLfloatx,GLfloaty,GLfloatz);
glRotate() creates a matrix M which performs a counter-clockwise rotation of
angle in degrees. The axis about which the rotation occurs in the vector from
the origin (0, 0, 0) to the point (x,y,z),and then post-multiplies the current matrix
by M.
Push and Pop Operations:
There are two functions which operate on the current matrix stack:
glPushMatrix()
glPopMatrix()
voidglPushMatrix(void); Pushes the current matrix stack down one level. The
matrix on the top of the stack is copied into the next-to-top position.
void glPopMatrix(void); Pops the current matrix stack, moving each matrix in the
stack one position towards the top of the stack matrix is glMatrixMode().
Dept. of CSE, RRCE 2022-2023 13
5.6 RUNNING THE PROGRAM
After all the setup is completed, GLUT programs enter an event processing loop,
glutMainLoop ().
void glutMainLoop(void) enters the GLUT processing loop, never to return.
Registered callback functions will be called when the corresponding events instigate
them.
FIG 2 : HELP
After the completion of this project we came to know how we can implement a
project using an Open source OpenGL tool kit. By implementing a project using Open
GL we came to know how to use the functions like menu‘s, rotation, translation and
scaling. With the completion of this project we have achieved a sense of happiness and
we want to thank all those who helped us directly or indirectly to make this idea come
true.
This project can be used for simulation of Republic Day air shows to avoid accidents
happening during training by scaling the airplanes in a screen of 1366x768 and using
a multiplying factor to check the pattern of air show in real life.
We have obtained information from many resources to design and implement our
project successfully. We have acquired most of the knowledge from related websites.
The following are some of the resources:
[2]. F.S. Hill,Jr, Computer Graphics Using OpenGL. 2nd Edition, Pearson
Education, 2001.
[3]. James D Foley, Andries Van Dam, Steven K Feiner, John F Hughes, Computer
Graphics –Addison-Wesley 1997.
[4]. Donald Hearn and Pauline Baker, Computer Graphics - OpenGL Version –2nd
Edition, Pearson Education, 2003.
[5]. http://www.opengl.com
[6]. http://www.google.com