Bài th c hành s 1
Th c hành v các đ i t ng hình h c c b n trong OpenGL ượ ơ
1. Ch y ch ng trình hello.c, ta s g i l n l t b n đi m là v0, v1, v2 và v3 ươ ượ
Thay tham s GL_POLYGON b i l n l t các tham s GL_POINTS, GL_LINES, ượ
GL_LINE_STRIP, GL_LINE_LOOP và nh n xét k t qu ế
Thêm 2 đi m v4(0.50, 0.75, 0.0) và v5(0.25, 0.50, 0.0) ta đ c 6 đi m v0, v1,..., v5 ượ
glVertex3f (0.25, 0.25, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glVertex3f (0.75, 0.75, 0.0);
glVertex3f (0.25, 0.75, 0.0);
glVertex3f (0.50, 0.75, 0.0);
glVertex3f (0.25, 0.50, 0.0);
Ti p đó dùng l n l t các tham s GL_TRIANGLES GL_TRIANGLE_STRIP,ế ượ
gi i thích k t qu thu đ c ế ượ
Dùng tham s GL_TRIANGLE_FAN sau đó lo i b đi m v3(0.25, 0.75, 0.0). K t ế
qu là m t hình vuông b c t m t ph n góc trái phía trên, t i sao?
2. V m t vòng hình vuông nh sau b ng cách s d ng tham s GL_TRIANGLE_FAN ư
3. V vòng hình vuông trên nh ng s d ng tham s GL_TRIANGLE_STRIP, các tam giác ư
ph i có h ng đ ng nh t . ướ
Chú ý: N u ta vi t l nh nh sau:ế ế ư
glBegin(GL_TRIANGLE_STRIP);
v0
v1
v2
v3
v4
....
glEnd();
Thì h ng c a các tam giác l n l t là v0v1v2, v2v1v3, v2v3v4,....ướ ượ
4. Th c hi n m t s th t c v hình s n c a GLUT b ng cách ch y ch ng trình cube.c ươ
Lo i b l nh glScale*() và thay th l nh glutWireCube() b i l n l t các l nh sau ế ượ
glutWireSphere(1.0,20,16);
glutWireTorus(0.5,1.2,13,24);
glutWireTeapot(1.5);
glutWireCone(1.8,3,15,20);
(Trong các câu l nh trên n u thay t Wire b i t Solid ta s đ c hình đ c) ế ượ
5. Thay đ i tham s c a l nh glClearColor (0.0, 0.0, 0.0, 0.0); đ thay đ i màu n n c a c a
s hi n th .
Thay đ i tham s c a l nh glColor3f (1.0, 1.0, 1.0); đ thay đ i màu c a đ i t ng ượ
v
1
Chú ý: 3 tham s đ u l n l t đ c tr ng cho 3 màu ượ ư red, green, blue giá tr c a
chúng n m trong kho ng [0, 1]
2