SlideShare una empresa de Scribd logo
1 de 14
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)

Más contenido relacionado

La actualidad más candente

La actualidad más candente (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
 

Destacado (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 a 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
 
Ass day3 1_bd flag
Ass day3 1_bd flagAss day3 1_bd flag
Ass day3 1_bd flag
Robi Parvez
 
Programa de objetos 3 d wire
Programa de objetos 3 d wirePrograma de objetos 3 d wire
Programa de objetos 3 d wire
René Domínguez
 
square.cpp Open
 square.cpp Open square.cpp Open
square.cpp Open
MikeEly930
 

Similar a 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
 

Último

Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 

Último (20)

How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 

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)