×
NOTE!
Click on MENU to Browse between Subjects...
Advertisement
COMPUTER GRAPHICS LABORATORY WITH MINI PROJECT
[As per Choice Based Credit System (CBCS) scheme]
(Effective from the academic year 2017 - 2018)
SEMESTER - VI
Subject Code 17CSL68
IA Marks 40
Number of Lecture Hours/Week 01I + 02P
Exam Marks 60
17CSL68 - COMPUTER GRAPHICS LABORATORY WITH MINI PROJECT
PROGRAM - 6
To draw a simple shaded scene consisting of a tea pot on a table. Define suitably the position and properties of the light source along with the properties of the surfaces of the solid object used in the scene.
Code Credits Prof Shankar R, BMSIT
DESIGN Credits Mr K B Hemanth Raj - Admin
Advertisement
Advertisement
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | #include<GL/glut.h> void teapot(GLfloat x,GLfloat y,GLfloat z) { glPushMatrix(); glTranslatef(x, y, z); glutSolidTeapot(0.1); glPopMatrix(); } void tableTop(GLfloat x, GLfloat y, GLfloat z) { glPushMatrix(); glTranslatef(x, y, z); glScalef(0.6, 0.02, 0.5); glutSolidCube(1); glPopMatrix(); } void tableLeg(GLfloat x, GLfloat y, GLfloat z) { glPushMatrix(); glTranslatef(x, y, z); glScalef(0.02, 0.3, 0.02); glutSolidCube(1); glPopMatrix(); } void wall(GLfloat x, GLfloat y, GLfloat z) { glPushMatrix(); glTranslatef(x, y, z); glScalef(1, 1, 0.02); glutSolidCube(1); glPopMatrix(); } void light() { GLfloat mat_ambient[] = {1, 1, 1, 1}; GLfloat mat_diffuse[] = {0.5, 0.5, 0.5, 1}; GLfloat mat_specular[] = {1, 1, 1, 1}; GLfloat mat_shininess[] = {50.0f}; glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient); glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse); glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular); glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess); GLfloat light_position[] = {2, 6, 3, 1}; GLfloat light_intensity[] = {0.7, 0.7, 0.7, 1}; glLightfv(GL_LIGHT0, GL_POSITION, light_position); glLightfv(GL_LIGHT0, GL_DIFFUSE, light_intensity); } void display() { GLfloat teapotP = -0.07, tabletopP = -0.15, tablelegP = 0.2, wallP = 0.5; glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt(-2, 2, 5, 0, 0, 0, 0, 1, 0); light(); //Adding light source to your project teapot(0, teapotP, 0); //Create teapot tableTop(0, tabletopP, 0); //Create table’s top tableLeg(tablelegP, -0.3, tablelegP); //Create 1st leg tableLeg(-tablelegP, -0.3, tablelegP); //Create 2nd leg tableLeg(-tablelegP, -0.3, -tablelegP); //Create 3rd leg tableLeg(tablelegP, -0.3, -tablelegP); //Create 4th leg wall(0, 0, -wallP); //Create 1st wall glRotatef(90, 1, 0, 0); wall(0, 0, wallP); //Create 2nd wall glRotatef(90, 0, 1, 0); wall(0, 0, wallP); //Create 3rd wall glFlush(); } void myinit() { glClearColor(0, 0, 0, 1); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-1, 1, -1, 1, -1, 10); glMatrixMode(GL_MODELVIEW); } int main(int argc, char **argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH); glutInitWindowSize(500, 500); glutInitWindowPosition(0, 0); glutCreateWindow("Teapot on a table"); myinit(); glutDisplayFunc(display); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glShadeModel(GL_SMOOTH); glEnable(GL_NORMALIZE); glEnable(GL_DEPTH_TEST); glutMainLoop(); } |
Advertisement
Fig 1.1: OUTPUT.
×
Note
Please Share the website link with Your Friends and known Students...
-ADMIN
-ADMIN
×
Note
Page Number is specified to navigate between Pages...
T = Text book
QB = Question Bank
AS = Amswer Script
-ADMIN
T = Text book
QB = Question Bank
AS = Amswer Script
-ADMIN
Advertisement