Afica Codigo
Afica Codigo
#include <GL/glut.h>
glBegin(GL_POINTS);
int p = 2 * dy - dx;
int x, y;
x = x2;
y = y2;
x2 = x1;
} else {
x = x1;
y = y1;
glVertex2i(x, y);
x++;
if (p < 0) {
p += slope_one;
} else {
y++;
p += slope_two;
glVertex2i(x, y);
glEnd();
glFlush();
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
void init() {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutInitWindowPosition(100, 100);
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
6.
#include <GL/glut.h>
#include <cmath>
glVertex2i(xc + x, yc + y);
glVertex2i(xc - x, yc + y);
glVertex2i(xc + x, yc - y);
glVertex2i(xc - x, yc - y);
glVertex2i(xc + y, yc + x);
glVertex2i(xc - y, yc + x);
glVertex2i(xc + y, yc - x);
glVertex2i(xc - y, yc - x);
glBegin(GL_POINTS);
int x = 0;
int y = r;
int p = 3 - 2 * r;
drawCirclePoints(xc, yc, x, y);
while (y >= x) {
x++;
if (p > 0) {
y--;
p = p + 4 * (x - y) + 10;
} else {
p = p + 4 * x + 6;
glEnd();
glFlush();
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
void init() {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(256, 256);
glutInitWindowPosition(100, 100);
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
7.
#include <GL/glut.h>
void drawTriangle() {
glBegin(GL_TRIANGLES);
glVertex2i(0, 0);
glVertex2i(400, 0);
glVertex2i(200, 400);
glEnd();
glFlush();
void display() {
glClear(GL_COLOR_BUFFER_BIT);
drawTriangle();
glFlush();
void init() {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutInitWindowPosition(100, 100);
glutCreateWindow("Triangle Example");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
8.
#include <GL/glut.h>
void drawHouse() {
glBegin(GL_QUADS);
// Paredes da casa
glVertex2i(50, 50);
glVertex2i(50, 200);
glVertex2i(200, 200);
glVertex2i(200, 50);
glEnd();
glBegin(GL_TRIANGLES);
// Telhado da casa
glVertex2i(50, 200);
glVertex2i(125, 300);
glVertex2i(200, 200);
glEnd();
glBegin(GL_QUADS);
// Porta da casa
glVertex2i(100, 50);
glVertex2i(100, 150);
glVertex2i(150, 150);
glVertex2i(150, 50);
glEnd();
// Linha azul do canto inferior direito para o canto inferior esquerdo da porta
glBegin(GL_LINES);
glVertex2i(150, 50);
glVertex2i(100, 50);
glEnd();
glBegin(GL_QUADS);
// Janela da casa
glVertex2i(windowLeftX, windowBottomY);
glVertex2i(windowLeftX, windowTopY);
glVertex2i(windowRightX, windowTopY);
glVertex2i(windowRightX, windowBottomY);
glEnd();
glBegin(GL_LINES);
glVertex2i(crossCenterX, windowBottomY);
glVertex2i(crossCenterX, windowTopY);
glVertex2i(windowLeftX, crossCenterY);
glVertex2i(windowRightX, crossCenterY);
glEnd();
void display() {
glClear(GL_COLOR_BUFFER_BIT);
drawHouse();
glFlush();
void init() {
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250, 350);
glutInitWindowPosition(100, 100);
glutCreateWindow("House Example");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
9.
#include <GL/glut.h>
#include <iostream>
int windowLeftX = 0;
int windowRightX = 0;
int windowBottomY = 0;
int windowTopY = 0;
void updateWindowSize() {
void updateDoorSize() {
void updateWindowSizeDynamic() {
void drawHouse() {
// Redimensionando a porta
updateDoorSize();
updateWindowSizeDynamic();
glBegin(GL_QUADS);
// Paredes da casa
glVertex2i(50, 50);
glVertex2i(50, 50 + houseHeight);
glEnd();
glBegin(GL_TRIANGLES);
// Telhado da casa
glVertex2i(50, 50 + houseHeight);
glEnd();
glBegin(GL_QUADS);
// Porta da casa
glEnd();
// Linha azul do canto inferior direito para o canto inferior esquerdo da porta
glBegin(GL_LINES);
glBegin(GL_QUADS);
// Janela da casa
glVertex2i(windowLeftX, windowBottomY);
glVertex2i(windowLeftX, windowTopY);
glVertex2i(windowRightX, windowTopY);
glVertex2i(windowRightX, windowBottomY);
glEnd();
glBegin(GL_LINES);
// Cruz na janela
glVertex2i(crossCenterX, windowBottomY);
glVertex2i(crossCenterX, windowTopY);
glVertex2i(windowLeftX, crossCenterY);
glVertex2i(windowRightX, crossCenterY);
glEnd();
void display() {
glClear(GL_COLOR_BUFFER_BIT);
drawHouse();
glFlush();
void init() {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250, 350);
glutInitWindowPosition(100, 100);
glutCreateWindow("House Example");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
10
#include <GL/glut.h>
void drawCube() {
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glLineWidth(2.0);
drawCube();
glutSwapBuffers();
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
}
void idle() {
if (rotationActive) {
glutInit(&argc, argv);
glutCreateWindow("Rotating Cube");
glEnable(GL_DEPTH_TEST);
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMouseFunc(mouse);
glutIdleFunc(idle);
glClearColor(0.0, 0.0, 0.0, 0.0);
glutMainLoop();
return 0;