Bước tiếp theo từ một mô hình máy ảnh pinhole là một mô hình ống kính mỏng , trong đó chúng tôi mô hình ống kính là một đĩa mỏng vô hạn. Đây vẫn là một sự lý tưởng hóa khá xa so với việc mô hình hóa một máy ảnh thực sự, nhưng nó sẽ cung cấp cho bạn các hiệu ứng trường độ sâu cơ bản.
Hình ảnh trên, từ panohelp.com , cho thấy ý tưởng cơ bản. Đối với mỗi điểm trên ảnh, có nhiều tia tới điểm ảnh đó, qua mọi điểm trên bề mặt ống kính 2D. Do đó, việc tạo một hình ảnh như thế này bằng Monte Carlo sẽ yêu cầu chọn, đối với mỗi tia, cả điểm mẫu 2D trên mặt phẳng hình ảnh và điểm mẫu 2D độc lập trên bề mặt ống kính.
Các tham số hướng tới người dùng sẽ đặt sẽ là bán kính ống kính (như bán kính vật lý tính theo đơn vị cảnh), điều khiển mức độ tập trung nông (ống kính lớn hơn = phạm vi lấy nét nông hơn) và khoảng cách mà bạn muốn các đối tượng ở trong đó tiêu điểm.
Để tạo ra các tia mắt vào cảnh, bạn có thể tính toán vị trí và hướng của các tia rời khỏi bề mặt ống kính; trong mô hình này, không cần mô phỏng rõ ràng mặt phẳng hình ảnh và khúc xạ qua thấu kính. Về cơ bản, hãy nghĩ về ống kính làm trung tâm ở vị trí camera và được định hướng để đối mặt với hướng camera.
Dựa trên vị trí hình ảnh, tạo một tia từ vị trí máy ảnh (trung tâm ống kính) vào cảnh, giống như bạn làm trong mô hình lỗ kim; sau đó tìm giao điểm của nó với mặt phẳng tiêu cự. Đó là nơi hội tụ tất cả các tia từ vị trí hình ảnh đó. Bây giờ bạn có thể bù điểm bắt đầu của tia tới một điểm được chọn ngẫu nhiên trên ống kính và đặt hướng của nó là hướng về điểm hội tụ.
Bạn có thể khái quát điều này một chút bằng cách cho phép mặt phẳng tiêu cự là một thứ gì đó không phải là mặt phẳng hoặc ống kính là một thứ gì đó không phải là một đĩa tròn và tuân theo quy trình tương tự. Điều đó có thể tạo ra một số hiệu ứng thú vị nếu không khá vật lý. Cũng có thể vượt xa mô hình đơn giản này bằng một mô phỏng chân thực hơn về các thành phần ống kính của máy ảnh nhưng điều đó vượt quá chuyên môn của tôi.