CÁC KỸ THUẬT SỬ DỤNG CHO CHƯƠNG TRÌNH

Một phần của tài liệu LẬP TRÌNH ĐỒ HỌA ỨNG DỤNG THƯ VIỆN OPENGL TRÊN LINUX (Trang 27 - 28)

Chương trình Demo sử dụng các kỹ thuật vẽ cơ bản :

 Vẽ đa giac

 Vẽ đối tượng 3D

 Các phép dịch chuyển và quay

Ngoài ra còn sử dụng kỹ thuật tạo hình ảnh bề mặt cho đối tượng được vẽ ra (texture). Với kỹ thuật này thì thay những màu sắc đơn giản bằng các hình ảnh sinh động hơn, nó sẽ phủ lên bề mặt của khối hình học mà chúng ta cần vẽ.

Muốn sử dụng texture thì cần phải có 1 bưc ảnh nguồn, ở các định dạng ảnh đều sử dụng được, nhưng với định dạng ảnh là BMP ( là bitmap ) thì việc sử dụng sẽ dễ dàng hơn rất nhiều. Sử dụng các hàm cần thiết để đưa bức ảnh về thành một mãng như sau ( R1,G1,B1,R2,G2,B2….) các giá trị lần lượt tương ứng là red, green, blue ; đó là các giá trị của 1 màu sắc cho 1 pixel trên ảnh.

Nó khá đơn giản. Chúng tôi tải các hình ảnh, sau đó tải các texture của OpenGL, sau đó xóa các đối tượng hình ảnh, kể từ khi chúng tôi không cần nó nữa.

Bắt đầu sử dụng, bằng cách gọi glEnable (GL_TEXTURE_2D) để cho phép áp dụng kết cấu và glBindTexture (GL_TEXTURE_2D, _textureId) để nói với OpenGL mà chúng

tôi muốn sử dụng kết cấu với id _textureId.

Chương trình sẽ khởi tạo OpenGL qua thư viện GLUT và tạo cửa sỗ, sét các chế độ và mở các trạng thái ( vẽ 3D, texture, các chế độ màu, các bộ đệm …..). Sau đó tải file ảnh *.bmp và chuyển nó về dưới dạng một mãng kiểu int để chưa các giá trị màu của các pixel, tiếp theo là chuyển mãng giá trị đó thành texture của OpenGL.

Hàm vẽ sẽ gọi hàm glBindTexture (GL_TEXTURE_2D, _textureId) ( trong đó

GL_TEXTURE là texture dạng 2D và _textureId là texture chúng ta vừa tạo ra) để sử dụng texture và texture sẽ hiển thị lên bề mặt của các đối tượng mà OpenGL vẽ ra.

Một phần của tài liệu LẬP TRÌNH ĐỒ HỌA ỨNG DỤNG THƯ VIỆN OPENGL TRÊN LINUX (Trang 27 - 28)