Xem mẫu

  1. LẬP TRÌNH 3D VỚI OPENGL Ngô Quốc Việt - 2010
  2. 1. Giới thiệu OpenGL 2. Drawing 3. Hiển thị v{ biến đổi 4. Ánh s|ng Ngô Quốc Việt-2010 2
  3. 1. Dave Shreiner, Jackie Neider, Mason Woo, Tom Davis - OpenGL Programming Guide- Addison Wesley – 1994 up to now). 2. http://glprogramming.com/red/ Ngô Quốc Việt-2010 3
  4.  Giúp sinh viên tiếp cận với lập trình đồ hoạ 3D.  C|c bước cơ bản nhất để tạo ứng dụng 3D trên Windows.  Hướng dẫn c|c kh|i niệm chính của lập trình 3D với OpenGL/GLUT. Ngô Quốc Việt-2010 4
  5.  OpenGL = Open Graphics Library  Do Silicon Graphics (SGI) ph|t triển v{o 1992.  Ph|t triển th{nh chuẩn từ IrisGL (1990-cũng do SGI).  Độc lập HĐH.  L{ dạng State Machine (mọi biến l{ trạng th|i).  Chỉ xử lý 3D Graphics. Không đòi hỏi platform (Windowing, Fonts, Input, GUI) Ngô Quốc Việt-2010 5
  6.  Giao diện phần mềm cho phần cứng đồ hoạ (~150 commands).  L{ API đồ hoạ 3 chiều  High-quality color images composed of geometric and image primitives  Với OpenGL, developer phải tự tạo model thông qua c|c đối tượng hình học cơ bản.  Quản lý bởi Khronos Group. Ngô Quốc Việt-2010 6
  7.  OpenGL. Phiên bản mới OpenGL 4.0.  Scene Graphs, BSP: Open SceneGraph, Java3D, VRML, PLIB  DirectX (Direct3D)  Có thể kết hợp một v{i phần của DirectX với OpenGL (vd: OpenGL v{ DirectInput trong Quake III)  C|c thư viện hỗ trợ: GL(graphics library), GLU (graphics library utilities).  GLUT: dễ, đơn giản khi l{m việc với OpenGL. Ngô Quốc Việt-2010 7
  8.  Sử dụng vector 4 th{nh phần để biểu diễn điểm.  Được xem l{ hệ toạ độ thuần nhất.  Gi| trị w thường bằng 1. Ngô Quốc Việt-2010 8
  9.  Miền gi| trị m{u (R, G, B, A) trong khoảng [0,1].  Toạ độ (X,Y, Z) theo right-hand rule.  Đơn vị hệ toạ độ: do x|c lập tuỳ theo dữ liệu v{ ứng dụng  Thường sử dụng World Coordinate System (miền gi| trị -1 đến 1) để mô hình đối tượng.  World Coordinate System có được do chuyển biến đổi từ toạ độ đối tượng qua ma trận ModelView.  Toạ độ mắt được x}y dựng từ phép biến đổi qua ma trận ModelView Ngô Quốc Việt-2010 9
  10.  Ma trận ModelView chứa cả hai phép biến đổi cho mô hình v{ mắt nhìn. Mắt nhìn tại gốc, với hướng nhìn dọc theo trục Z }m.  Toạ độ xén do biến đổi toạ độ mắt nhìn qua ma trận Projection. Miền gi| trị toạ độ của 3 trục từ -Wc đến Wc.  Phối cảnh thực hiện trên Clip Coordinates tạo ra Normalized Device Coordinates, với miền gi| trị -1 to 1 cho cả 3 trục Ngô Quốc Việt-2010 10
  11. 11
  12. Ngô Quốc Việt-2010 12
  13.  Dùng cho biến đổi vị trí camera (biến đổi vị trí quan s|t)  Dùng cho biến đổi v{ hướng của mô hình (vật thể cần vẽ). Ngô Quốc Việt-2010 13
  14.  X|c định lens cho camera.  X|c định vùng nhìn (field of view) v{ c|c tham số kh|c  Có thể thực hiện d~y c|c biến đổi qua kh|i niệm matrix stack với c|c h{m. Ngô Quốc Việt-2010 14
  15. Ngô Quốc Việt-2010 15
  16. Fovy = góc (theo độ) của vùng nhìn (field of view) theo hướng y . Aspect = tỉ lệ của vùng nhìn theo hướng x Ngô Quốc Việt-2010 16
  17. Ngô Quốc Việt-2010 17
  18.  Vị trí camera, điểm camera hướng đến, v{ vector hướng của camera 18
  19.  Functions in OpenGL start with gl  Hầu hết h{m bắt đầu gl (e.g., glColor())  Một số h{m bắt đầu với glu l{ h{m tiện tích (e.g., gluLookAt())  H{m bắt đầu với glx l{ giao diện với X Windows system (e.g., in gfx.c) Ngô Quốc Việt-2010 19
  20. Ngô Quốc Việt-2010 20
nguon tai.lieu . vn