
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 và 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 và giá tr c aị ủ
chúng n m trong kho ng [0, 1]ằ ả
2

