tailieunhanh - Lập trình Opengl với thư viện AUX – Phần 8

Vẽ nhiều vật-Dùng Ma trân. Trong phần này tôi sẽ giới thiều với các bạn cách vẽ có vẻ chuyên nghiệp hơn một chút, có thể từ đây bạn sẽ tạo được những điều mà mình mong muốn. | Lập trình Opengl với thư viện AUX - Phần 8 Vẽ nhiều vật-Dùng Ma trân. Trong phần này tôi sẽ giới thiều với các bạn cách vẽ có vẻ chuyên nghiệp hơn một chút có thể từ đây bạn sẽ tạo được những điều mà mình mong muốn. Trước hết hãy tạo một hàm vẽ hình lập phương void cube int ij glBegin GL_QUADS for i 0 i 6 i glNormal3dv normal i for j 0 j 4 j glV ertex3dv vertex face i j glEnd Vì điểm nhìn không thay đôi nên khi cỡ của window thay đổi ta cũng phải thay đổi theo. Dưới đây là mã nguồn để thay đổi khung nhìn của chúng ta GLvoid CALLBACK resize GLsizei w GLsizei h glMatrixMode GL_PROJECTION glLoadIdentity glViewport 0 0 w h gluPerspective glMatrixMode GL_MODELVIEW glLoadIdentity gluLookAt Chú ý là hai hàm cuối trong hàm trên đã được chuyển từ hàm draw thiết đặt ma trân như trên thì khi hàm glRotated làm thay đổi vị trí của vật sẽ làm cho window của chúng ta trở nên không bình vậy trước khi dùng hàm glRotated thì chúng ta phải lưu ma trận vào đã rồi khì thực hiện xong hàm này ta lại trả lại ma trận thì sẽ bình thương. Để làm việc này chúng ta sử dụng 2 hàm glPushMatrix và glPopMatrix .Mã nguồn được trình bày dưới đây. filename ifdef unix include GL include define .