4_
4_
4_
h>
void drawCube() {
glutSolidCube(1.0);
void drawBox() {
glPushMatrix();
glutSolidCube(1.0);
glPopMatrix();
void drawCone() {
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
drawCube();
glPopMatrix();
glPushMatrix();
drawBox();
glPopMatrix();
glPushMatrix();
drawCone();
glPopMatrix();
glutSwapBuffers();
void init() {
glEnable(GL_DEPTH_TEST);
glutInit(&argc, argv);
glutInitWindowSize(800, 600);
glutCreateWindow("OpenGL Objects");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
#include <GL/glut.h>
#include <cmath>
void drawCube() {
glBegin(GL_QUADS);
// Front face
// Back face
// Left face
// Right face
glEnd();
void drawBox() {
glPushMatrix();
glPopMatrix();
void drawCone() {
glBegin(GL_TRIANGLE_FAN);
// Cone tip
// Cone base
glEnd();
}
// Display callback
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glPushMatrix();
drawCube();
glPopMatrix();
glPushMatrix();
drawBox();
glPopMatrix();
glPushMatrix();
drawCone();
glPopMatrix();
glutSwapBuffers();
void init() {
glLoadIdentity();
// Main function
glutInit(&argc, argv);
glutInitWindowSize(800, 600);
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;