Skip to content

Instantly share code, notes, and snippets.

@itssalman
Last active August 29, 2015 14:20
Show Gist options
  • Save itssalman/12a83cdb7294415a72b5 to your computer and use it in GitHub Desktop.
Save itssalman/12a83cdb7294415a72b5 to your computer and use it in GitHub Desktop.
OPENGL: house.cpp
#include <windows.h>
#include <GL\glew.h>
#include <GL\freeglut.h>
// Salman Aslam
void SalmanAslamDisplay(void); // define function to display output
void SalmanAslamDrawDot(); // define function to draw dots
void SalmanAslamDrawDot(){
glClear(GL_COLOR_BUFFER_BIT); //Clear the screen
//drawing walls of house
glBegin(LC_POLYMARKER);
// points to draw face
glVertex2f(32, 435);
glVertex2f(10, 439);
glVertex2f(4, 438);
glVertex2f(2, 433);
glVertex2f(4, 428);
glVertex2f(6, 425);
glVertex2f(10, 420);
glVertex2f(15, 416);
glVertex2f(21, 413);
glVertex2f(30, 408);
glVertex2f(42, 406);
glVertex2f(47, 403);
glVertex2f(56, 398);
glVertex2f(63, 391);
glVertex2f(71, 383);
glVertex2f(79, 369);
glVertex2f(84, 356);
glVertex2f(87, 337);
glVertex2f(89, 316);
glVertex2f(88, 302);
glVertex2f(86, 294);
glVertex2f(83, 278);
glVertex2f(79, 256);
glVertex2f(78, 235);
glVertex2f(79, 220);
glVertex2f(85, 204);
glVertex2f(94, 190);
glVertex2f(98, 183);
glVertex2f(98, 182);
glVertex2f(116, 189);
glVertex2f(105, 184);
glVertex2f(98, 172);
glVertex2f(98, 156);
glVertex2f(93, 141);
glVertex2f(93, 132);
glVertex2f(99, 122);
glVertex2f(104, 115);
glVertex2f(104, 114);
// points to draw uper neck
glVertex2f(153, 116);
glVertex2f(152, 112);
glVertex2f(153, 107);
glVertex2f(154, 93);
glVertex2f(154, 81);
glVertex2f(152, 67);
glVertex2f(146, 56);
glVertex2f(140, 47);
glVertex2f(136, 39);
glVertex2f(133, 30);
glVertex2f(130, 17);
glVertex2f(128, 7);
glVertex2f(127, 3);
glVertex2f(93, 2);
glVertex2f(93, 10);
glVertex2f(96, 16);
glVertex2f(96, 20);
glVertex2f(97, 21);
glVertex2f(101, 24);
glVertex2f(104, 27);
glVertex2f(105, 31);
glVertex2f(107, 36);
glVertex2f(108, 40);
glVertex2f(109, 47);
glVertex2f(111, 51);
glVertex2f(114, 58);
glVertex2f(118, 66);
glVertex2f(120, 71);
glVertex2f(118, 79);
glVertex2f(117, 88);
glVertex2f(116, 97);
glVertex2f(112, 105);
glVertex2f(107, 113);
glVertex2f(107, 118);
glVertex2f(108, 126);
glVertex2f(112, 138);
glVertex2f(116, 146);
glVertex2f(118, 148);
// points to draw tail
glVertex2f(153, 95);
glVertex2f(158, 9);
glVertex2f(159, 103);
glVertex2f(161, 108);
glVertex2f(161, 115);
glVertex2f(160, 121);
glVertex2f(160, 122);
glVertex2f(156, 80);
glVertex2f(167, 79);
glVertex2f(182, 76);
glVertex2f(203, 73);
glVertex2f(220, 78);
glVertex2f(235, 79);
glVertex2f(239, 80);
glVertex2f(262, 154);
glVertex2f(259, 141);
glVertex2f(259, 123);
glVertex2f(257, 110);
glVertex2f(255, 93);
glVertex2f(259, 86);
glVertex2f(272, 74);
glVertex2f(287, 46);
glVertex2f(290, 41);
glVertex2f(299, 30);
glVertex2f(305, 21);
glVertex2f(307, 15);
glVertex2f(307, 12);
glVertex2f(300, 11);
glVertex2f(299, 9);
glVertex2f(301, 2);
glVertex2f(303, 1);
glVertex2f(313, 5);
glVertex2f(320, 7);
glVertex2f(307, 1);
glVertex2f(336, 2);
glVertex2f(336, 8);
glVertex2f(334, 18);
glVertex2f(335, 24);
glVertex2f(331, 29);
glVertex2f(327, 39);
glVertex2f(323, 45);
glVertex2f(317, 54);
glVertex2f(312, 63);
glVertex2f(308, 70);
glVertex2f(301, 79);
glVertex2f(297, 86);
glVertex2f(296, 97);
glVertex2f(300, 109);
glVertex2f(303, 120);
glVertex2f(304, 126);
glVertex2f(307, 138);
glVertex2f(306, 148);
glVertex2f(305, 152);
glVertex2f(298, 86);
glVertex2f(304, 92);
glVertex2f(310, 104);
glVertex2f(314, 114);
glVertex2f(314, 119);
glVertex2f(255, 98);
glVertex2f(251, 100);
glVertex2f(246, 105);
glVertex2f(242, 112);
glVertex2f(236, 122);
glVertex2f(231, 131);
glVertex2f(233, 126);
glVertex2f(271, 73);
glVertex2f(264, 74);
glVertex2f(257, 76);
glVertex2f(244, 76);
glVertex2f(236, 80);
glVertex2f(231, 84);
glVertex2f(230, 86);
glVertex2f(242, 77);
glVertex2f(242, 70);
glVertex2f(245, 61);
glVertex2f(246, 49);
glVertex2f(248, 39);
glVertex2f(249, 30);
glVertex2f(248, 19);
glVertex2f(245, 12);
glVertex2f(242, 9);
glVertex2f(241, 6);
glVertex2f(243, 1);
glVertex2f(256, 3);
glVertex2f(259, 2);
glVertex2f(266, 3);
glVertex2f(271, 4);
glVertex2f(274, 9);
glVertex2f(277, 16);
glVertex2f(277, 24);
glVertex2f(277, 31);
glVertex2f(277, 41);
glVertex2f(277, 48);
glVertex2f(278, 57);
glVertex2f(278, 62);
glVertex2f(278, 66);
glVertex2f(190, 73);
glVertex2f(191, 64);
glVertex2f(191, 64);
glVertex2f(191, 64);
glVertex2f(191, 64);
glVertex2f(193, 51);
glVertex2f(194, 39);
glVertex2f(191, 25);
glVertex2f(189, 17);
glVertex2f(185, 7);
glVertex2f(184, 5);
glVertex2f(177, 4);
glVertex2f(169, 4);
glVertex2f(166, 4);
glVertex2f(159, 5);
glVertex2f(159, 6);
glVertex2f(162, 19);
glVertex2f(163, 25);
glVertex2f(165, 32);
glVertex2f(165, 39);
glVertex2f(165, 47);
glVertex2f(165, 57);
glVertex2f(162, 65);
glVertex2f(161, 70);
glVertex2f(159, 75);
glVertex2f(158, 78);
glVertex2f(157, 80);
//poimts to draw legs
glVertex2f(96, 157);
glVertex2f(93, 163);
glVertex2f(88, 176);
glVertex2f(82, 184);
glVertex2f(78, 193);
glVertex2f(75, 201);
glVertex2f(72, 212);
glVertex2f(72, 224);
glVertex2f(72, 238);
glVertex2f(73, 254);
glVertex2f(75, 267);
glVertex2f(78, 277);
glVertex2f(82, 286);
glVertex2f(89, 298);
glVertex2f(89, 300);
glVertex2f(33, 428);
glVertex2f(33, 428);
glVertex2f(33, 427);
glVertex2f(35, 426);
glVertex2f(36, 425);
glVertex2f(30, 427);
glVertex2f(27, 428);
glVertex2f(27, 428);
glVertex2f(28, 428);
glVertex2f(2, 435);
glVertex2f(5, 434);
glVertex2f(10, 432);
glVertex2f(13, 431);
glVertex2f(16, 429);
glVertex2f(19, 427);
glVertex2f(21, 426);
glVertex2f(22, 425);
glVertex2f(24, 424);
glVertex2f(26, 423);
glVertex2f(27, 423);
glVertex2f(30, 422);
glVertex2f(33, 422);
glVertex2f(34, 421);
glVertex2f(36, 420);
glVertex2f(36, 419);
glVertex2f(32, 436);
glVertex2f(55, 423);
glVertex2f(67, 415);
glVertex2f(75, 409);
glVertex2f(86, 401);
glVertex2f(92, 395);
glVertex2f(98, 389);
glVertex2f(105, 378);
glVertex2f(107, 372);
glVertex2f(111, 362);
glVertex2f(112, 355);
glVertex2f(116, 345);
glVertex2f(119, 338);
glVertex2f(121, 328);
glVertex2f(124, 317);
glVertex2f(125, 312);
glVertex2f(125, 304);
glVertex2f(126, 294);
glVertex2f(125, 288);
glVertex2f(124, 280);
glVertex2f(125, 277);
glVertex2f(125, 258);
glVertex2f(124, 255);
glVertex2f(125, 241);
glVertex2f(128, 235);
glVertex2f(135, 225);
glVertex2f(141, 218);
glVertex2f(147, 211);
glVertex2f(155, 208);
glVertex2f(166, 205);
glVertex2f(178, 203);
glVertex2f(194, 202);
glVertex2f(209, 203);
glVertex2f(219, 204);
glVertex2f(232, 205);
glVertex2f(249, 206);
glVertex2f(259, 207);
glVertex2f(284, 205);
glVertex2f(300, 198);
glVertex2f(317, 189);
glVertex2f(333, 182);
glVertex2f(345, 170);
glVertex2f(362, 153);
glVertex2f(392, 135);
glVertex2f(430, 118);
glVertex2f(450, 104);
glVertex2f(477, 91);
glVertex2f(509, 75);
glVertex2f(539, 65);
glVertex2f(567, 61);
glVertex2f(599, 60);
glVertex2f(625, 59);
glVertex2f(635, 58);
glVertex2f(632, 54);
glVertex2f(616, 51);
glVertex2f(602, 46);
glVertex2f(593, 46);
glVertex2f(580, 45);
glVertex2f(565, 41);
glVertex2f(546, 38);
glVertex2f(526, 36);
glVertex2f(502, 42);
glVertex2f(487, 48);
glVertex2f(468, 53);
glVertex2f(452, 57);
glVertex2f(434, 63);
glVertex2f(414, 71);
glVertex2f(397, 77);
glVertex2f(378, 82);
glVertex2f(366, 86);
glVertex2f(352, 90);
glVertex2f(338, 92);
glVertex2f(328, 91);
glVertex2f(319, 88);
glVertex2f(307, 86);
glVertex2f(306, 85);
glVertex2f(301, 85);
glVertex2f(318, 106);
glVertex2f(333, 107);
glVertex2f(346, 109);
glVertex2f(359, 111);
glVertex2f(369, 104);
glVertex2f(391, 100);
glVertex2f(411, 95);
glVertex2f(431, 87);
glVertex2f(445, 81);
glVertex2f(458, 71);
glVertex2f(473, 63);
glVertex2f(491, 59);
glVertex2f(497, 57);
glVertex2f(499, 56);
// points lower neck
glVertex2f(244, 109);
glVertex2f(235, 104);
glVertex2f(221, 100);
glVertex2f(208, 96);
glVertex2f(199, 97);
glVertex2f(190, 98);
glVertex2f(190, 98);
glVertex2f(160, 116);
glVertex2f(165, 119);
glVertex2f(171, 122);
glVertex2f(172, 127);
glVertex2f(170, 135);
glVertex2f(168, 144);
glVertex2f(170, 149);
glVertex2f(174, 149);
glVertex2f(169, 118);
glVertex2f(174, 120);
glVertex2f(179, 124);
glVertex2f(178, 126);
glVertex2f(293, 132);
glVertex2f(294, 125);
glVertex2f(297, 115);
glVertex2f(291, 94);
glVertex2f(287, 90);
glVertex2f(290, 84);
glVertex2f(297, 79);
glVertex2f(297, 79);
glVertex2f(144, 97);
glVertex2f(143, 83);
glVertex2f(144, 72);
glVertex2f(141, 58);
glVertex2f(136, 52);
glVertex2f(134, 49);
glEnd();
glFlush();
}
void Init() {
glClearColor(1.0, 1.0, 1.0, 0.0);
glColor3f(0.0f, 0.0f, 0.0f);
glPointSize(2.0);
glMatrixMode(GL_PROJECTION);
glOrtho(0, 500, 0, 500, -1, 1);
glMatrixMode(GL_MODELVIEW);
}
void SalmanAslamDisplay(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// Code to draw
glBegin(GL_LINES);
SalmanAslamDrawDot(); // function to draw dots
glEnd();
glutSwapBuffers();
}
int main(int argc, char **argv) {
glutInitWindowSize(500, 500);
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE);
glutCreateWindow("Salman Aslam Assignment No#2");
Init();
glutDisplayFunc(SalmanAslamDisplay); // call function to display output
glutMainLoop();
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment