- OpenGL 101
- OSX or Linux
- OpenGL/Glut
- g++
$ git clone git@github.com:MrcRjs/OpenGl101.git
$ cd OpenGl101
Each practice has it's own makefile, by default it will compile all artifacts
$ cd practica1
$ make
$ ./basic.o
Examples on how to use GL_POINTS, GL_LINES, GL_POLYGON, GL_TRIANGLE, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, GL_LINE_STRIP GL_LINE_LOOP
.
Translation, rotation and scaling examples using own functions
and OpenGL built-in glTranslate()
glRotate()
and glScale()
Graphing a drawing using only triangles, quadrilaterals and coordinates.
The character is separated into different parts to be drawn with separate functions.
Creation and management of options menus to modify the graphic content using glutCreateMenu()
glutAttachMenu()
glutAddSubMenu()
and glutAddMenuEntry()
.
Graphing of different curves, with a menu of options to modify the color, shape and background color.
Use keyboard events to modify graphics with glutKeyboardFunc()
.
Use of diffuse, specular and spot lights using glLightfv()
Camera positioning using gluLookAt()
Applying different textures like redPlastic, blackPlastic, esmeralda, pewter, chrome using glMaterialfv()
Loading textures from BMP files with glTexParameter()
and using an external library SOIL SOIL_load_image()
and gluBuild2DMipmaps()
Creation of Bézier curves defining points on a plain.
Simpson's characters created using Bézier curves.
Creation of Bèzier surfaces using glEvalMesh()
and glMapGrid()
.
Loading 3D scenarios using an external library OBJ-Loader