1. Trang chủ
  2. » Giáo án - Bài giảng

HIdenSurfaceRemoval

15 114 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 627 KB

Nội dung

ĐỒ HỌA MÁY TÍNH KHỬÛÛ MẶËËT KHUẤÁÁT HIDDEN SURFACE REMOVAL Các dạng khác nhau của vấn đề khử mặt khuất Các thuật toán khử mặt khuất (HSR) • Back-face detection • Painter’s algorithm • Ray casting • Z-buffer • Scan-line • Area subdivision Dương Anh Đức, Lê Đình Duy Khử mặt khuất 1/15 Dẫn nhập ĐỒ HỌA MÁY TÍNH • Khi chiếu cảnh của ta từ không gian 3 chiều xuống không gian 2 chiều (screen space) dọc theo trục z, các điểm nằm trên cùng một tia chiếu sẽ có chung một ảnh. • Vấn đề là khi hiển thò, ta phải chọn màu thích hợp cho điểm này. Màu đó phải là màu của đối tượng mà ta thật sự thấy được (gần ta nhất) chứ không phải đối tượng bò che khuất (bởi đối tượng khác). • Khi muốn có hình ảnh thật ta không thể không khử mặt khuất (xem ví dụ bên dưới) Dương Anh Đức, Lê Đình Duy Khử mặt khuất 2/15 ĐỒ HỌA MÁY TÍNH Các dạng khác nhau của vấn đề khử mặt khuất • Các mặt có thể quay lưng lại với người quan sát (Back- face) • Các mặt có thể bò che bởi các mặt khác • Các mặt có thể chồng lên nhau Dương Anh Đức, Lê Đình Duy Khử mặt khuất 3/15 ĐỒ HỌA MÁY TÍNH • Các mặt có thể cắt nhau Back-face detection • Không hiển thò các mặt hướng ra từ vò trí quan sát • Một polygon quay lưng lại viewer nếu Dương Anh Đức, Lê Đình Duy V • N > 0 . Khử mặt khuất 4/15 ĐỒ HỌA MÁY TÍNH • Ta có thể áp dụng phép “NORMAL TEST” trên để kiểm tra với các phép chiếu khác nhau ? • Khi nào ta phải áp dụng phép back-face culling ? • Chi phí cho công việc này trên n polygon là bao nhiêu ? • Giải quyết xong bài toán back-face culling ta đã giải quyết xong bài toán HSR chưa ? • Dó nhiên là chưa. Trong rất nhiều cảnh các mặt chồng lên nhau. Ta phải giải quyết bằng cách khác. Dương Anh Đức, Lê Đình Duy Khử mặt khuất 5/15 Depth sorting ĐỒ HỌA MÁY TÍNH • Còn gọi là Painter’s algorithm • Sắp xếp các mặt theo thứ tự từ xa đến gần (giảm dần theo độ sâu) theo vò trí sâu nhất của mỗi mặt. • Scan convert từng mặt theo thứ tự này. • Tuy nhiên, không phải bao giờ ta cũng có thể sắp xếp theo độ sâu (xem hình dưới) • Giải quyết vấn đề này như thế nào ? Dương Anh Đức, Lê Đình Duy Khử mặt khuất 6/15 ĐỒ HỌA MÁY TÍNH Xử lý các vướng mắc khi tính độ sâu • Khi sắp xếp các mặt theo độ sâu, có nhiều tình huống xác đònh rất khó. • Thuật toán sắp xếp theo độ sâu có thể cài đặt như sau: 1. Khởi động việc sắp xếp theo vò trí z nhỏ nhất (xa) 2. Giải quyết các mơ hồ: (a) So sánh theo toạ độ X (b) So sánh theo toạ độ Y (c) Kiểm tra P có hoàn toàn nằm về 1 phía của Q ? (d) Kiểm tra Q có hoàn toàn nằm về 1 phía của P ? (e) So sánh hình chiếu lên X-Y (Polygon Intersection) (f) Hoán vò hoặc tách các polygon 3. Scan convert từ xa đến gần. • Một số lưu ý về Painter’s Algorithm ♦ Có độ phức tạp O(nlogn) ♦ Các polygon cắt nhau phải được chia thành các polygon con. ♦ Phải tính toán trên mỗi pixel của mọi polygon. ♦ Việc xác đònh độ sâu của các mặt không đơn giản Dương Anh Đức, Lê Đình Duy Khử mặt khuất 7/15 Ray casting ĐỒ HỌA MÁY TÍNH • Từ view point phóng các tia đến mọi điểm trên view plane. • Xác đònh mặt gần nhất cắt các tia này. • Một số lưu ý về Ray casting ♦ Có độ phức tạp O(plogn) với p là số pixel trên VP ♦ Đơn giản về mặt khái niệm nhưng không phổ dụng Dương Anh Đức, Lê Đình Duy Khử mặt khuất 8/15 Z-Buffer • Xây dựng 2 buffer: ĐỒ HỌA MÁY TÍNH ♦ Intensity Buffer: lưu màu các pixel (init bằng màu nền) ♦ Depth (“Z”) Buffer: lưu độ sâu (init bằng độ sâu max). • “Vẽ” từng polygon: ♦ Nếu độ sâu của điểm trên polygon nhỏ hơn độ sâu tương ứng đang lưu trong Z-Buffer thì cập nhật lại Z-Buffer và Intensity Buffer. • Các ưu điểm của Z-Buffer ♦ Thích hợp cài đặt trên phần cứng. ♦ Ta có thể scan-convert các polygon theo thứ tự bất kỳ. ♦ Mỗi lần ta chỉ phải xét một polygon ♦ Cho phép tổng hợp nhiều cảnh với nhau hoặc bổ sung các đối tượng mới vào một cảnh phức tạp. ♦ Có thể áp dụng với các mặt cong, các mặt không có dạng đa giác. Dương Anh Đức, Lê Đình Duy Khử mặt khuất 9/15 ĐỒ HỌA MÁY TÍNH • Các nhược điểm của Z-Buffer ♦ Đòi hỏi bộ nhớ rất lớn ♦ Có thể mất chính xác khi chuẩn hoá trong qua trình tính độ sâu. ♦ Không thực hiện được phép xử lý anti-alias ♦ Phải scan-convert tất cả các đối tượng. Làm thế nào để tính toán Z-Buffer hiệu quả • Lấy ý tưởng của phép tô màu polygon (theo thuật toán scanline) khi tính giao điểm của scanline với các cạnh của polygon. • Ta có thể thực hiện tương tự để tính độ sâu cho từng điểm trên polygon: • Khi đã có z a và z b với mỗi cạnh, ta có thể tính z p tuần tự Dương Anh Đức, Lê Đình Duy Khử mặt khuất 10/15

Ngày đăng: 09/07/2013, 01:25

HÌNH ẢNH LIÊN QUAN

• Khi muốn có hình ảnh thật ta không thể không khử mặt khuất (xem ví dụ bên dưới) - HIdenSurfaceRemoval
hi muốn có hình ảnh thật ta không thể không khử mặt khuất (xem ví dụ bên dưới) (Trang 2)

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w