SlideShare a Scribd company logo
MyTricksLab.com (Computer Science & Tech Tutorials)




      PRACTICING OPENGL-
      PRIMITIVES
OPENGL OUTPUT PRIMITIVES




 Each geometric object is described by a set of vertices and the type of primitive to be
 drawn. Whether and how the vertices are connected is determined by the primitive
 type.
OPENGL PRIMITIVES- GL_POINTS
 Lab Activity (1): Add the following code to display() method.

         glPointSize(4.0);              /* specify point to be 4 pixels thick */
         glBegin(GL_POINTS);
             glVertex2f(0.0f, 2.0f);    //note 2D form
             glVertex2f(1.0f, 2.0f);
             glVertex2f(0.0f, -2.0f);
             glVertex2f(-1.0f, 0.0f);
         glEnd();
OPENGL PRIMITIVES- LINES
   Three different line primitives can be created:


GL_LINES: glColor3f(0.0,0.0,0.0);
          glLineWidth(5.0);

                 glBegin(GL_LINES);
                         glVertex2f (-20.0, -20.0);
                         glVertex2f (20.0, 20.0);

                            glColor3f(1.0,1.0,0.0);
                            glVertex2f (10.0, -20.0);
                            glVertex2f (10.0, 20.0);
                 glEnd();
OPENGL PRIMITIVES- LINES
GL_LINE_STRIP:       Draws a connected set of line segments from the first vertex to the
 last.
         glColor3f(0.5,0.6,0.0);
         glLineWidth(4);
         glBegin(GL_LINE_STRIP);
             glVertex2f (5.0, 10.0);
             glVertex2f (10.0, 10.0);
             glVertex2f (10.0, 0.0);
             glVertex2f (5.0, 0.0);
         glEnd();
OPENGL PRIMITIVES- LINES
GL_LINE_LOOP:
        glColor3f(0.9,0.8,0.0);
        glLineWidth(4);
        glBegin(GL_LINE_LOOP);
                 glVertex2f (-10.0, 9.0);
                 glVertex2f (5.0, 9.0);
                 glVertex2f (5.0, -1.0);
                 glVertex2f (-10.0, -1.0);
        glEnd();
OPENGL PRIMITIVES –GL_TRIANGES
glColor3f(1.0,0.0,1.0);
glLineWidth(4);                  -The default is GL_FILL for both front-and back-facing
                                 polygons.
glBegin(GL_TRIANGLES);
        glVertex2f (-10.0, -10.0);
        glVertex2f (-5.0, -10.0);
        glVertex2f (-5.0, -5.0);
glEnd();

   Insert this command before glLineWidth, and note the effect.
                      glPolygonMode(GL_FRONT, GL_LINE);

                                 GL_BACK                                GL_POINT
                                  or                                     or
                         GL_FRONT_AND_BACK                              GL_FILL
OPENGL PRIMITIVES –
GL_TRIANGLE_STRIP
glColor3f(0.0,1.0,0.0);
glLineWidth(4);
glPolygonMode(GL_FRONT, GL_LINE);
glBegin(GL_TRIANGLE_STRIP);
    glVertex2f (-10.0, -10.0);
    glVertex2f (-19.0, -10.0);
    glVertex2f (-10.0, -20.0);
         glVertex2f (-18.0,-19.0);      //create 2ndtriangle
         glVertex2f (-5.0, -25.0);     //create 3rd triangle
         glVertex2f (-20.0, -29.0);   //create 4th triangle
glEnd();

 Note:
 • Order of points does matter!
 • If the vertices are defined clockwise, the front of the polygon will
 be shown. Otherwise, the back of the polygon will be shown.
OPENGL PRIMITIVES –
GL_TRIANGLE_FAN
Draws a connected set of triangles. One triangle is defined for each vertex
  presented after the first two vertices.
Note: Order of points does matter!
                        glColor3f(0.0,0.0,1.0);
                        glLineWidth(4);

                       /* draw only the outline of polygon */
                       glPolygonMode(GL_FRONT, GL_LINE);

                       glBegin( GL_TRIANGLE_FAN);
                           glVertex2f (12.0, -30.0);
                           glVertex2f(30.0, -30.0);
                           glVertex2f (30.0, -20.0);
                           glVertex2f (22.0, -15.0);
                           glVertex2f (12.0, -12.0);
                       glEnd();
OPENGL PRIMITIVES –GL_QUADS
Note: Order of points does matter!
            /* creating 2 quadrilaterals */
            glColor3f(0.0,0.0,0.0);
            glPolygonMode(GL_FRONT, GL_LINE);
            glLineWidth(4);
            glBegin( GL_QUADS );
                 glVertex2f (-28.0, 25.0);
                 glVertex2f (-28.0, 10.0);
                 glVertex2f (-20.0, 10.0);
                 glVertex2f (-20.0, 20.0);

                glVertex2f (-15.0, 20.0);
                glVertex2f (-2.0, 20.0);
                glVertex2f (-2.0, 28.0);
                glVertex2f (-15.0, 28.0);
            glEnd();
OPENGL PRIMITIVES –
GL_QUAD_STRIP
/* creating 2 quadrilaterals using GL_QUAD_STRIP */
glColor3f(0.0,1.0,1.0);
glPolygonMode(GL_FRONT, GL_LINE);
glLineWidth(4);
glBegin( GL_QUAD_STRIP);
    glVertex2f (20.0, 10.0);
    glVertex2f (29.0, 13.0);
    glVertex2f (18.0, 20.0);
    glVertex2f (26.0, 20.0);



    glVertex2f (22.0, 25.0);
    glVertex2f (30.0, 25.0);

    glVertex2f (15.0, 30.0);
    glVertex2f (35.0, 30.0);
glEnd();
OPENGL PRIMITIVES –
GL_POLYGON
glBegin(GL_POLYGON);
  glVertex2f(2.0,1.0);
  glVertex2f(12.0,1.0);
  glVertex2f(14.0,3.0);
  glVertex2f(1.0,3.0);
glEnd();
CREATIVE DRAWING USING OPENGL
PRIMITIVES
LAB EXERCISE: TIME TO SHOW YOUR
CREATIVITY
                    “Sample 2D Scenary are given Lab folder”

1.   Show your best to Design your virtual World (2D Scene) onto graph
     paper.
           With Well defined coordinates Points of each object in Scene.

           Also Define Color of each Object Of Your Scene


1.   Use Open GL built in primitives to Implement your
     Designed virtual world (2D Scene).


       MyTricksLab.com (Computer Science & Tech Tutorials)

More Related Content

What's hot

The Ring programming language version 1.7 book - Part 155 of 196
The Ring programming language version 1.7 book - Part 155 of 196The Ring programming language version 1.7 book - Part 155 of 196
The Ring programming language version 1.7 book - Part 155 of 196
Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 174 of 212
The Ring programming language version 1.10 book - Part 174 of 212The Ring programming language version 1.10 book - Part 174 of 212
The Ring programming language version 1.10 book - Part 174 of 212
Mahmoud Samir Fayed
 
The Ring programming language version 1.9 book - Part 186 of 210
The Ring programming language version 1.9 book - Part 186 of 210The Ring programming language version 1.9 book - Part 186 of 210
The Ring programming language version 1.9 book - Part 186 of 210
Mahmoud Samir Fayed
 
The Ring programming language version 1.5.3 book - Part 129 of 184
The Ring programming language version 1.5.3 book - Part 129 of 184The Ring programming language version 1.5.3 book - Part 129 of 184
The Ring programming language version 1.5.3 book - Part 129 of 184
Mahmoud Samir Fayed
 
The Ring programming language version 1.9 book - Part 177 of 210
The Ring programming language version 1.9 book - Part 177 of 210The Ring programming language version 1.9 book - Part 177 of 210
The Ring programming language version 1.9 book - Part 177 of 210
Mahmoud Samir Fayed
 
The Ring programming language version 1.5.3 book - Part 133 of 184
The Ring programming language version 1.5.3 book - Part 133 of 184The Ring programming language version 1.5.3 book - Part 133 of 184
The Ring programming language version 1.5.3 book - Part 133 of 184
Mahmoud Samir Fayed
 
The Ring programming language version 1.6 book - Part 127 of 189
The Ring programming language version 1.6 book - Part 127 of 189The Ring programming language version 1.6 book - Part 127 of 189
The Ring programming language version 1.6 book - Part 127 of 189
Mahmoud Samir Fayed
 
The Ring programming language version 1.5.2 book - Part 135 of 181
The Ring programming language version 1.5.2 book - Part 135 of 181The Ring programming language version 1.5.2 book - Part 135 of 181
The Ring programming language version 1.5.2 book - Part 135 of 181
Mahmoud Samir Fayed
 
The Ring programming language version 1.5.3 book - Part 143 of 184
The Ring programming language version 1.5.3 book - Part 143 of 184The Ring programming language version 1.5.3 book - Part 143 of 184
The Ring programming language version 1.5.3 book - Part 143 of 184
Mahmoud Samir Fayed
 
The Ring programming language version 1.9 book - Part 167 of 210
The Ring programming language version 1.9 book - Part 167 of 210 The Ring programming language version 1.9 book - Part 167 of 210
The Ring programming language version 1.9 book - Part 167 of 210
Mahmoud Samir Fayed
 
The Ring programming language version 1.7 book - Part 169 of 196
The Ring programming language version 1.7 book - Part 169 of 196The Ring programming language version 1.7 book - Part 169 of 196
The Ring programming language version 1.7 book - Part 169 of 196
Mahmoud Samir Fayed
 
The Ring programming language version 1.9 book - Part 196 of 210
The Ring programming language version 1.9 book - Part 196 of 210The Ring programming language version 1.9 book - Part 196 of 210
The Ring programming language version 1.9 book - Part 196 of 210
Mahmoud Samir Fayed
 
The Ring programming language version 1.5.3 book - Part 162 of 194
The Ring programming language version 1.5.3 book - Part 162 of 194The Ring programming language version 1.5.3 book - Part 162 of 194
The Ring programming language version 1.5.3 book - Part 162 of 194
Mahmoud Samir Fayed
 
The Ring programming language version 1.5.1 book - Part 148 of 180
The Ring programming language version 1.5.1 book - Part 148 of 180 The Ring programming language version 1.5.1 book - Part 148 of 180
The Ring programming language version 1.5.1 book - Part 148 of 180
Mahmoud Samir Fayed
 
The Ring programming language version 1.5.3 book - Part 152 of 194
The Ring programming language version 1.5.3 book - Part 152 of 194The Ring programming language version 1.5.3 book - Part 152 of 194
The Ring programming language version 1.5.3 book - Part 152 of 194
Mahmoud Samir Fayed
 
The Ring programming language version 1.8 book - Part 165 of 202
The Ring programming language version 1.8 book - Part 165 of 202The Ring programming language version 1.8 book - Part 165 of 202
The Ring programming language version 1.8 book - Part 165 of 202
Mahmoud Samir Fayed
 
The Ring programming language version 1.8 book - Part 159 of 202
The Ring programming language version 1.8 book - Part 159 of 202The Ring programming language version 1.8 book - Part 159 of 202
The Ring programming language version 1.8 book - Part 159 of 202
Mahmoud Samir Fayed
 
The Ring programming language version 1.7 book - Part 188 of 196
The Ring programming language version 1.7 book - Part 188 of 196The Ring programming language version 1.7 book - Part 188 of 196
The Ring programming language version 1.7 book - Part 188 of 196
Mahmoud Samir Fayed
 
The Ring programming language version 1.5.3 book - Part 166 of 194
The Ring programming language version 1.5.3 book - Part 166 of 194The Ring programming language version 1.5.3 book - Part 166 of 194
The Ring programming language version 1.5.3 book - Part 166 of 194
Mahmoud Samir Fayed
 
Intro to OpenGL ES 2.0
Intro to OpenGL ES 2.0Intro to OpenGL ES 2.0
Intro to OpenGL ES 2.0
Oleksandr Kozubets
 

What's hot (20)

The Ring programming language version 1.7 book - Part 155 of 196
The Ring programming language version 1.7 book - Part 155 of 196The Ring programming language version 1.7 book - Part 155 of 196
The Ring programming language version 1.7 book - Part 155 of 196
 
The Ring programming language version 1.10 book - Part 174 of 212
The Ring programming language version 1.10 book - Part 174 of 212The Ring programming language version 1.10 book - Part 174 of 212
The Ring programming language version 1.10 book - Part 174 of 212
 
The Ring programming language version 1.9 book - Part 186 of 210
The Ring programming language version 1.9 book - Part 186 of 210The Ring programming language version 1.9 book - Part 186 of 210
The Ring programming language version 1.9 book - Part 186 of 210
 
The Ring programming language version 1.5.3 book - Part 129 of 184
The Ring programming language version 1.5.3 book - Part 129 of 184The Ring programming language version 1.5.3 book - Part 129 of 184
The Ring programming language version 1.5.3 book - Part 129 of 184
 
The Ring programming language version 1.9 book - Part 177 of 210
The Ring programming language version 1.9 book - Part 177 of 210The Ring programming language version 1.9 book - Part 177 of 210
The Ring programming language version 1.9 book - Part 177 of 210
 
The Ring programming language version 1.5.3 book - Part 133 of 184
The Ring programming language version 1.5.3 book - Part 133 of 184The Ring programming language version 1.5.3 book - Part 133 of 184
The Ring programming language version 1.5.3 book - Part 133 of 184
 
The Ring programming language version 1.6 book - Part 127 of 189
The Ring programming language version 1.6 book - Part 127 of 189The Ring programming language version 1.6 book - Part 127 of 189
The Ring programming language version 1.6 book - Part 127 of 189
 
The Ring programming language version 1.5.2 book - Part 135 of 181
The Ring programming language version 1.5.2 book - Part 135 of 181The Ring programming language version 1.5.2 book - Part 135 of 181
The Ring programming language version 1.5.2 book - Part 135 of 181
 
The Ring programming language version 1.5.3 book - Part 143 of 184
The Ring programming language version 1.5.3 book - Part 143 of 184The Ring programming language version 1.5.3 book - Part 143 of 184
The Ring programming language version 1.5.3 book - Part 143 of 184
 
The Ring programming language version 1.9 book - Part 167 of 210
The Ring programming language version 1.9 book - Part 167 of 210 The Ring programming language version 1.9 book - Part 167 of 210
The Ring programming language version 1.9 book - Part 167 of 210
 
The Ring programming language version 1.7 book - Part 169 of 196
The Ring programming language version 1.7 book - Part 169 of 196The Ring programming language version 1.7 book - Part 169 of 196
The Ring programming language version 1.7 book - Part 169 of 196
 
The Ring programming language version 1.9 book - Part 196 of 210
The Ring programming language version 1.9 book - Part 196 of 210The Ring programming language version 1.9 book - Part 196 of 210
The Ring programming language version 1.9 book - Part 196 of 210
 
The Ring programming language version 1.5.3 book - Part 162 of 194
The Ring programming language version 1.5.3 book - Part 162 of 194The Ring programming language version 1.5.3 book - Part 162 of 194
The Ring programming language version 1.5.3 book - Part 162 of 194
 
The Ring programming language version 1.5.1 book - Part 148 of 180
The Ring programming language version 1.5.1 book - Part 148 of 180 The Ring programming language version 1.5.1 book - Part 148 of 180
The Ring programming language version 1.5.1 book - Part 148 of 180
 
The Ring programming language version 1.5.3 book - Part 152 of 194
The Ring programming language version 1.5.3 book - Part 152 of 194The Ring programming language version 1.5.3 book - Part 152 of 194
The Ring programming language version 1.5.3 book - Part 152 of 194
 
The Ring programming language version 1.8 book - Part 165 of 202
The Ring programming language version 1.8 book - Part 165 of 202The Ring programming language version 1.8 book - Part 165 of 202
The Ring programming language version 1.8 book - Part 165 of 202
 
The Ring programming language version 1.8 book - Part 159 of 202
The Ring programming language version 1.8 book - Part 159 of 202The Ring programming language version 1.8 book - Part 159 of 202
The Ring programming language version 1.8 book - Part 159 of 202
 
The Ring programming language version 1.7 book - Part 188 of 196
The Ring programming language version 1.7 book - Part 188 of 196The Ring programming language version 1.7 book - Part 188 of 196
The Ring programming language version 1.7 book - Part 188 of 196
 
The Ring programming language version 1.5.3 book - Part 166 of 194
The Ring programming language version 1.5.3 book - Part 166 of 194The Ring programming language version 1.5.3 book - Part 166 of 194
The Ring programming language version 1.5.3 book - Part 166 of 194
 
Intro to OpenGL ES 2.0
Intro to OpenGL ES 2.0Intro to OpenGL ES 2.0
Intro to OpenGL ES 2.0
 

Viewers also liked

Setting up your first open gl program
Setting up your first open gl programSetting up your first open gl program
Setting up your first open gl program
Technology & Education
 
Ooad sequence diagram lecture
Ooad sequence diagram lectureOoad sequence diagram lecture
Ooad sequence diagram lecture
Technology & Education
 
Computer Graphics Lab File C Programs
Computer Graphics Lab File C ProgramsComputer Graphics Lab File C Programs
Computer Graphics Lab File C Programs
Kandarp Tiwari
 
COMPUTER GRAPHICS LAB MANUAL
COMPUTER GRAPHICS LAB MANUALCOMPUTER GRAPHICS LAB MANUAL
COMPUTER GRAPHICS LAB MANUAL
Vivek Kumar Sinha
 
Computer Graphics Practical
Computer Graphics PracticalComputer Graphics Practical
Computer Graphics PracticalNeha Sharma
 

Viewers also liked (6)

Setting up your first open gl program
Setting up your first open gl programSetting up your first open gl program
Setting up your first open gl program
 
Ooad sequence diagram lecture
Ooad sequence diagram lectureOoad sequence diagram lecture
Ooad sequence diagram lecture
 
Windows and viewport
Windows and viewportWindows and viewport
Windows and viewport
 
Computer Graphics Lab File C Programs
Computer Graphics Lab File C ProgramsComputer Graphics Lab File C Programs
Computer Graphics Lab File C Programs
 
COMPUTER GRAPHICS LAB MANUAL
COMPUTER GRAPHICS LAB MANUALCOMPUTER GRAPHICS LAB MANUAL
COMPUTER GRAPHICS LAB MANUAL
 
Computer Graphics Practical
Computer Graphics PracticalComputer Graphics Practical
Computer Graphics Practical
 

Similar to Practicing 2d drawing primitives

Ass day2 2_rotating my name (robi)
Ass day2 2_rotating my name (robi)Ass day2 2_rotating my name (robi)
Ass day2 2_rotating my name (robi)
Robi Parvez
 
2D Drawing
2D Drawing2D Drawing
2D Drawing
Budditha Hettige
 
Ass day3 1_bd flag
Ass day3 1_bd flagAss day3 1_bd flag
Ass day3 1_bd flagRobi Parvez
 
Programa de objetos 3 d wire
Programa de objetos 3 d wirePrograma de objetos 3 d wire
Programa de objetos 3 d wireRené Domínguez
 
Komputer Grafik
Komputer GrafikKomputer Grafik
Komputer Grafik
MuhammadAli2239
 
Tutorial Open GL (Listing Code)
Tutorial Open GL (Listing Code)Tutorial Open GL (Listing Code)
Tutorial Open GL (Listing Code)
Aila Gema Safitri
 
Computer Graphics and Multimedia lab report
Computer Graphics and Multimedia lab reportComputer Graphics and Multimedia lab report
Computer Graphics and Multimedia lab report
Bijoy679
 
Robot In OpenGL Using Line Function
Robot In OpenGL Using Line Function Robot In OpenGL Using Line Function
Robot In OpenGL Using Line Function
Jannat Jamshed
 
Robot In OpenGL Using Line Function
Robot In OpenGL Using Line Function Robot In OpenGL Using Line Function
Robot In OpenGL Using Line Function
Jannat Jamshed
 
Robot by gulnaz
Robot by gulnazRobot by gulnaz
Robot by gulnaz
Gulnaz Akhter
 
Robot by gulnaz
Robot by gulnazRobot by gulnaz
Robot by gulnaz
Gulnaz Akhter
 
The Ring programming language version 1.5.4 book - Part 58 of 185
The Ring programming language version 1.5.4 book - Part 58 of 185The Ring programming language version 1.5.4 book - Part 58 of 185
The Ring programming language version 1.5.4 book - Part 58 of 185
Mahmoud Samir Fayed
 
#includefloat angle, move, scene, roadmove,turn, on=1; int i, st.docx
#includefloat angle, move, scene, roadmove,turn, on=1; int i, st.docx#includefloat angle, move, scene, roadmove,turn, on=1; int i, st.docx
#includefloat angle, move, scene, roadmove,turn, on=1; int i, st.docx
ajoy21
 
FLTK Summer Course - Part VIII - Eighth Impact - Exercises
FLTK Summer Course - Part VIII - Eighth Impact - ExercisesFLTK Summer Course - Part VIII - Eighth Impact - Exercises
FLTK Summer Course - Part VIII - Eighth Impact - Exercises
Michel Alves
 
Manual
ManualManual
Manual
equipo3-303
 
Grafika komputer 2
Grafika komputer 2Grafika komputer 2
Grafika komputer 2
Nur Fadli Utomo
 
square.cpp Open
 square.cpp Open square.cpp Open
square.cpp Open
MikeEly930
 
The Ring programming language version 1.5.3 book - Part 65 of 184
The Ring programming language version 1.5.3 book - Part 65 of 184The Ring programming language version 1.5.3 book - Part 65 of 184
The Ring programming language version 1.5.3 book - Part 65 of 184
Mahmoud Samir Fayed
 

Similar to Practicing 2d drawing primitives (20)

Ass day2 2_rotating my name (robi)
Ass day2 2_rotating my name (robi)Ass day2 2_rotating my name (robi)
Ass day2 2_rotating my name (robi)
 
2D Drawing
2D Drawing2D Drawing
2D Drawing
 
Practica
PracticaPractica
Practica
 
Ass day3 1_bd flag
Ass day3 1_bd flagAss day3 1_bd flag
Ass day3 1_bd flag
 
Development with OpenGL and Qt
Development with OpenGL and QtDevelopment with OpenGL and Qt
Development with OpenGL and Qt
 
Programa de objetos 3 d wire
Programa de objetos 3 d wirePrograma de objetos 3 d wire
Programa de objetos 3 d wire
 
Komputer Grafik
Komputer GrafikKomputer Grafik
Komputer Grafik
 
Tutorial Open GL (Listing Code)
Tutorial Open GL (Listing Code)Tutorial Open GL (Listing Code)
Tutorial Open GL (Listing Code)
 
Computer Graphics and Multimedia lab report
Computer Graphics and Multimedia lab reportComputer Graphics and Multimedia lab report
Computer Graphics and Multimedia lab report
 
Robot In OpenGL Using Line Function
Robot In OpenGL Using Line Function Robot In OpenGL Using Line Function
Robot In OpenGL Using Line Function
 
Robot In OpenGL Using Line Function
Robot In OpenGL Using Line Function Robot In OpenGL Using Line Function
Robot In OpenGL Using Line Function
 
Robot by gulnaz
Robot by gulnazRobot by gulnaz
Robot by gulnaz
 
Robot by gulnaz
Robot by gulnazRobot by gulnaz
Robot by gulnaz
 
The Ring programming language version 1.5.4 book - Part 58 of 185
The Ring programming language version 1.5.4 book - Part 58 of 185The Ring programming language version 1.5.4 book - Part 58 of 185
The Ring programming language version 1.5.4 book - Part 58 of 185
 
#includefloat angle, move, scene, roadmove,turn, on=1; int i, st.docx
#includefloat angle, move, scene, roadmove,turn, on=1; int i, st.docx#includefloat angle, move, scene, roadmove,turn, on=1; int i, st.docx
#includefloat angle, move, scene, roadmove,turn, on=1; int i, st.docx
 
FLTK Summer Course - Part VIII - Eighth Impact - Exercises
FLTK Summer Course - Part VIII - Eighth Impact - ExercisesFLTK Summer Course - Part VIII - Eighth Impact - Exercises
FLTK Summer Course - Part VIII - Eighth Impact - Exercises
 
Manual
ManualManual
Manual
 
Grafika komputer 2
Grafika komputer 2Grafika komputer 2
Grafika komputer 2
 
square.cpp Open
 square.cpp Open square.cpp Open
square.cpp Open
 
The Ring programming language version 1.5.3 book - Part 65 of 184
The Ring programming language version 1.5.3 book - Part 65 of 184The Ring programming language version 1.5.3 book - Part 65 of 184
The Ring programming language version 1.5.3 book - Part 65 of 184
 

Recently uploaded

CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
PedroFerreira53928
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
Vivekanand Anglo Vedic Academy
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
Celine George
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
Celine George
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 

Recently uploaded (20)

CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
PART A. Introduction to Costumer Service
PART A. Introduction to Costumer ServicePART A. Introduction to Costumer Service
PART A. Introduction to Costumer Service
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
Sectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdfSectors of the Indian Economy - Class 10 Study Notes pdf
Sectors of the Indian Economy - Class 10 Study Notes pdf
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
 
How to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERPHow to Create Map Views in the Odoo 17 ERP
How to Create Map Views in the Odoo 17 ERP
 
Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 

Practicing 2d drawing primitives

  • 1. MyTricksLab.com (Computer Science & Tech Tutorials) PRACTICING OPENGL- PRIMITIVES
  • 2. OPENGL OUTPUT PRIMITIVES Each geometric object is described by a set of vertices and the type of primitive to be drawn. Whether and how the vertices are connected is determined by the primitive type.
  • 3. OPENGL PRIMITIVES- GL_POINTS Lab Activity (1): Add the following code to display() method. glPointSize(4.0); /* specify point to be 4 pixels thick */ glBegin(GL_POINTS); glVertex2f(0.0f, 2.0f); //note 2D form glVertex2f(1.0f, 2.0f); glVertex2f(0.0f, -2.0f); glVertex2f(-1.0f, 0.0f); glEnd();
  • 4. OPENGL PRIMITIVES- LINES  Three different line primitives can be created: GL_LINES: glColor3f(0.0,0.0,0.0); glLineWidth(5.0); glBegin(GL_LINES); glVertex2f (-20.0, -20.0); glVertex2f (20.0, 20.0); glColor3f(1.0,1.0,0.0); glVertex2f (10.0, -20.0); glVertex2f (10.0, 20.0); glEnd();
  • 5. OPENGL PRIMITIVES- LINES GL_LINE_STRIP: Draws a connected set of line segments from the first vertex to the last. glColor3f(0.5,0.6,0.0); glLineWidth(4); glBegin(GL_LINE_STRIP); glVertex2f (5.0, 10.0); glVertex2f (10.0, 10.0); glVertex2f (10.0, 0.0); glVertex2f (5.0, 0.0); glEnd();
  • 6. OPENGL PRIMITIVES- LINES GL_LINE_LOOP: glColor3f(0.9,0.8,0.0); glLineWidth(4); glBegin(GL_LINE_LOOP); glVertex2f (-10.0, 9.0); glVertex2f (5.0, 9.0); glVertex2f (5.0, -1.0); glVertex2f (-10.0, -1.0); glEnd();
  • 7. OPENGL PRIMITIVES –GL_TRIANGES glColor3f(1.0,0.0,1.0); glLineWidth(4); -The default is GL_FILL for both front-and back-facing polygons. glBegin(GL_TRIANGLES); glVertex2f (-10.0, -10.0); glVertex2f (-5.0, -10.0); glVertex2f (-5.0, -5.0); glEnd();  Insert this command before glLineWidth, and note the effect. glPolygonMode(GL_FRONT, GL_LINE); GL_BACK GL_POINT or or GL_FRONT_AND_BACK GL_FILL
  • 8. OPENGL PRIMITIVES – GL_TRIANGLE_STRIP glColor3f(0.0,1.0,0.0); glLineWidth(4); glPolygonMode(GL_FRONT, GL_LINE); glBegin(GL_TRIANGLE_STRIP); glVertex2f (-10.0, -10.0); glVertex2f (-19.0, -10.0); glVertex2f (-10.0, -20.0); glVertex2f (-18.0,-19.0); //create 2ndtriangle glVertex2f (-5.0, -25.0); //create 3rd triangle glVertex2f (-20.0, -29.0); //create 4th triangle glEnd(); Note: • Order of points does matter! • If the vertices are defined clockwise, the front of the polygon will be shown. Otherwise, the back of the polygon will be shown.
  • 9. OPENGL PRIMITIVES – GL_TRIANGLE_FAN Draws a connected set of triangles. One triangle is defined for each vertex presented after the first two vertices. Note: Order of points does matter! glColor3f(0.0,0.0,1.0); glLineWidth(4); /* draw only the outline of polygon */ glPolygonMode(GL_FRONT, GL_LINE); glBegin( GL_TRIANGLE_FAN); glVertex2f (12.0, -30.0); glVertex2f(30.0, -30.0); glVertex2f (30.0, -20.0); glVertex2f (22.0, -15.0); glVertex2f (12.0, -12.0); glEnd();
  • 10. OPENGL PRIMITIVES –GL_QUADS Note: Order of points does matter! /* creating 2 quadrilaterals */ glColor3f(0.0,0.0,0.0); glPolygonMode(GL_FRONT, GL_LINE); glLineWidth(4); glBegin( GL_QUADS ); glVertex2f (-28.0, 25.0); glVertex2f (-28.0, 10.0); glVertex2f (-20.0, 10.0); glVertex2f (-20.0, 20.0); glVertex2f (-15.0, 20.0); glVertex2f (-2.0, 20.0); glVertex2f (-2.0, 28.0); glVertex2f (-15.0, 28.0); glEnd();
  • 11. OPENGL PRIMITIVES – GL_QUAD_STRIP /* creating 2 quadrilaterals using GL_QUAD_STRIP */ glColor3f(0.0,1.0,1.0); glPolygonMode(GL_FRONT, GL_LINE); glLineWidth(4); glBegin( GL_QUAD_STRIP); glVertex2f (20.0, 10.0); glVertex2f (29.0, 13.0); glVertex2f (18.0, 20.0); glVertex2f (26.0, 20.0); glVertex2f (22.0, 25.0); glVertex2f (30.0, 25.0); glVertex2f (15.0, 30.0); glVertex2f (35.0, 30.0); glEnd();
  • 12. OPENGL PRIMITIVES – GL_POLYGON glBegin(GL_POLYGON); glVertex2f(2.0,1.0); glVertex2f(12.0,1.0); glVertex2f(14.0,3.0); glVertex2f(1.0,3.0); glEnd();
  • 13. CREATIVE DRAWING USING OPENGL PRIMITIVES
  • 14. LAB EXERCISE: TIME TO SHOW YOUR CREATIVITY “Sample 2D Scenary are given Lab folder” 1. Show your best to Design your virtual World (2D Scene) onto graph paper.  With Well defined coordinates Points of each object in Scene.  Also Define Color of each Object Of Your Scene 1. Use Open GL built in primitives to Implement your Designed virtual world (2D Scene). MyTricksLab.com (Computer Science & Tech Tutorials)