Bài giảng Đồ họa máy tính: Khử mặt khuất - Ngô Quốc Việt

28 13 0
Bài giảng Đồ họa máy tính: Khử mặt khuất - Ngô Quốc Việt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Đồ họa máy tính: Khử mặt khuất cung cấp cho người học những kiến thức như: Hệ tọa độ quan sát; Hiển thị đối tượng trong hệ tọa tọa độ quan sát; Giới thiệu khối nhìn (view volume); Các thuật giải khử mặt khuất;... Mời các bạn cùng tham khảo!

KHỬ MẶT KHUẤT NGÔ QUỐC VIỆT 2009     Hệ tọa độ quan sát Hiển thị đối tượng hệ tọa tọa độ quan sát Giới thiệu khối nhìn (view volume) Các thuật giải khử mặt khuất Mơ hình đối tượng 3D giới thực (mơ tả đối tượng thật cho tiện) cần chuyển hệ tọa độ quan sát  Hệ tọa độ quan sát gồm vị trí mắt nhìn, điểm tham chiếu bất kỳ, vector hướng lên có gốc điểm tham chiếu  Mặt phẳng chiếu chọn có phương vng góc với trục Z hệ tọa độ quan sát   Camera giả lặp gồm  Mặt phẳng quan sát (viewplane) chứa cửa sổ (window)  Hệ tọa độ quan sát (viewing coordinate system)  Mắt nhìn  Chức  Mắt nhìn qua cửa sổ thấy phần giới, phần cần vẽ  Ký hiệu:  Hệ UVN hệ tọa độ quan sát  Quan sát = nhìn  Trong hệ tọa độ giới thực (world coordinates)  Điểm quy chiếu quan sát, VRP (view reference point) ▪ r = (rx , ry , rz )  Vector thẳng góc mặt phẳng quan sát, VPN (viewplane normal) ▪ n = (nx , ny , nz ), vector đơn vị  Vector đơn vị trục V v (vector “hướng lên”)  Trong hệ tọa độ quan sát UVN  Cửa sổ, có tọa độ mặt UV (Wl , Wt , Wr , Wb )  Mắt nhìn, có tọa độ (eu , ev , en) Tọa độ mắt nhìn cịn xem tọa độ camera cửa sổ V z U VPN v (viewplane normal) u n N r VRP (view reference point) x y • Cho điểm P có tọa độ (x, y, z) hệ tọa độ thực Tìm tọa độ P hệ tọa độ quan sát! Đặt  ux  M   vx n  x uy vy ny uz   vz  nz   ux  1 M  uy u  z vx vy vz nx   ny  nz   Nếu P có tọa độ (a, b, c) hệ tọa độ quan sát • (x, y, z) = (a, b, c) M + r  Vì • (a, b, c) = (p - r) M -1  Tìm ma trận dạng tọa độ đồng nhất: Aˆ WV (a, b, c, 1) = (x, y, z, 1) Dùng (a, b, c) = (p - r) M -1 = p M T - r M T đặt r’ = (r  u, r  v, r  n)  Tìm   Aˆ WV  ux   uy  u  z  r 'x  vx vy vz r'y nx ny nz r 'z 0  0 0   Cách xác định ma trận biến đổi từ hệ tọa độ thực sang hệ tọa độ quan sát trình bày tài liệu • Đặc tả phép chiếu phối cảnh (các tọa độ hệ UVN) – Tâm phép chiếu: mắt e = (eu , ev , en ) – Mặt phẳng chiếu: mặt phẳng quan sát UV V x Wt N Wl y Wr maét e Wb z U 10   Để ý mắt vơ cực hình chóp cụt trở thành hình hộp Khi phép chiếu phép chiếu song song theo hướng e Chỉ thành phần cảnh quan nằm thể tích nhìn hiển thị; thành phần khác xén 14 mặt trước mặt sau V Wt Wl N Wr Wb U mặt phẳng nhìn V NDC Wt Wl Wr U Wb 15 Mˆ S Mˆ P • Prewarping phép biến đổi affine có ma trận dạng đồng – Tính chất: prewarping ánh xạ khối nhìn thành thể tích nhìn prewarped thể tích nhìn prewarped thể tích nhìn V V Wt Wt B F Mˆ S Mˆ P N N F  F / en Wb Wb B  B / en : trục U 16    Culling: so sánh vị trí vị trí, hướng polygon so với trường thấy vùng nhìn (view volume’s field of view), polygon khuất cần phải loại bỏ rendering Hoạt động giảm thiểu tính tốn khơng cần thiết mặt khuất Culling nhằm kiểm tra tính visibility đối tượng, dựa kiểm tra để không hiển thị đối tượng cần-hidden surface removal 17    Yêu cầu xác định thứ tự trước sau (theo vị trí mắt nhìn) đối tượng 3D nhằm hiển thị Cách thực dựa phép tính vector, cụ thể tính dot product vector chuẩn polygon vector nguồn sáng (vector từ tâm phép chiếu đến polygon) Nếu dot product có giá trị dương, polygon visible (vector chuẩn thấy với viewer), ngược lại không vẽ mặt xét 18 • Có hai loại thuật giải khử mặt khuất: – Dựa không gian đối tượng – Dựa không gian ảnh 19      Thuật giải khử mặt khuất phổ biến nhất: z-buffer algorithm Dựa không gian ảnh Đề xuất Edwin Catmull 1975 Z-buffering, cịn gọi depth-buffering Trong đó, độ sâu pixel xác định lưu trữ buffer’s depth buffer Dựa giá trị độ sâu, hay z-values, thuật giải xác định pixel cần phải vẽ (ứng với màu pixel đó) Bước khử mặt khuất z-buffer thực sau bước rasterization 20  Tạo vùng nhớ chứa giá trị z-buffer có kích thước độ phân giải color buffer ▪ Vì vị trí pixel có nhiều mặt chứa  cần lưu lại pixel có z-value gần Kiểm tra fragment.z > depth[s][t] If true, the fragment is in front of whatever was there before, so set color[s][t]=frag.color and depth[s][t]=frag.z Else Cull 21 foreach ( pixel in primitive ) if ( depth(x,y).z > pixel.z ) { color(x,y).r = pixel.r; color(x,y).g = pixel.g; color(x,y).b = pixel.b; depth(x,y).z = pixel.z; } else { // Discard pixel } 22  Recall frame buffer configuration is a function of the window system  Cần xác lập chế độ depth buffer cho cửa sổ glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH ); 23  Bật chế độ kiểm tra depth glEnable( GL_DEPTH_TEST );  Xác lập buffer theo giá trị mặc định glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); 24  Ưu điểm:  Always works Đối tượng gần xác định màu pixel  Dễ hiểu / Dễ cài đặt  Nhược điểm:  Tốn nhớ 25    Mơ q trình họa sĩ vẽ Dựa khơng gian mắt nhìn Cách thực hiện:  Sắp xếp đối tượng theo khoảng cách đến mắt  Đối tượng gần vẽ đè lên đối tượng nằm xa 26  Nhược điểm thuật giải  Không xét phần giao đối tượng  Sắp xếp chậm  Phải xếp lại mắt di chuyển  OpenGL không hỗ trợ thuật giải 27    Tương tự thuật giải tô màu Xác định màu đoạn quét cách tính giao điểm với đa giác Mỗi đoạn nối hai điểm cắt có màu trùng với màu đa giác gần 28 ... ngược lại khơng vẽ mặt xét 18 • Có hai loại thuật giải khử mặt khuất: – Dựa không gian đối tượng – Dựa không gian ảnh 19      Thuật giải khử mặt khuất phổ biến nhất: z-buffer algorithm Dựa... Hình chóp xác định mắt nhìn cửa sổ Mặt trước (front plane): mặt phẳng n = F Mặt sau (back plane): mặt phẳng n = B mặt trước: n = F V mặt sau: n = B Wt Wl N Wr U Wb mặt phẳng nhìn 13   Để ý mắt... (a, b, c) M + r  Vì • (a, b, c) = (p - r) M -1  Tìm ma trận dạng tọa độ đồng nhất: Aˆ WV (a, b, c, 1) = (x, y, z, 1) Dùng (a, b, c) = (p - r) M -1 = p M T - r M T đặt r’ = (r  u, r  v, r

Ngày đăng: 26/10/2021, 13:26

Hình ảnh liên quan

Khối quan sát (= khối nhìn, view volume) là hình chĩp cụt giới hạn bởi - Bài giảng Đồ họa máy tính: Khử mặt khuất - Ngô Quốc Việt

h.

ối quan sát (= khối nhìn, view volume) là hình chĩp cụt giới hạn bởi Xem tại trang 13 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan