Ở một mức độ nào đó, đây là một chức năng về cách hiển thị 3D. Ví dụ: OpenGL sẽ tự động loại bỏ hình học bên ngoài phạm vi -1.0, +1.0 trong không gian màn hình XY (Z phức tạp hơn nhưng tương tự). Hình học Culled không bao giờ tạo ra các mảnh (xấp xỉ pixel) và do đó không bao giờ được chuyển thành hình ảnh thực tế, mặc dù được gửi đến hệ thống để kết xuất. Trong mọi trường hợp, không thể ghi vào không gian bên ngoài cửa sổ kết xuất (nếu mọi thứ đều hoạt động như bình thường).
Trong một số bối cảnh, nó đủ để dựa vào hành vi này như một sự tối ưu hóa. Tuy nhiên, bạn vẫn phải chuyển tất cả dữ liệu trò chơi của mình qua ít nhất một giai đoạn kết xuất (trình tạo bóng đỉnh) trước khi thẻ video có thể biết nội dung có thể nhìn thấy. Trong một cái gì đó như, nói, Skyrim, điều đó sẽ không thực tế. Bạn không chỉ phải gửi mọi đỉnh trên thế giới thông qua đường truyền kết xuất mà còn phải tải mọi đỉnh vào bộ nhớ hệ thống / video. Đó là không hiệu quả, thậm chí nếu có thể.
Vì vậy, nhiều trò chơi sẽ sử dụng loại bỏ dựa trên CPU. Thông thường, họ sẽ triển khai một số loại hệ thống LOD (mức độ chi tiết), trong đó chất lượng và sự tồn tại của tài sản bị ảnh hưởng bởi mức độ quan trọng của chúng được đánh giá trong bối cảnh nhất định. Một lưới kim tự tháp có thể là một xấp xỉ chấp nhận được cho một ngọn núi nếu bạn 50 dặm từ nó. Nếu bạn hoàn toàn không thể nhìn thấy nó (như bị chặn bởi những ngọn núi khác), thậm chí không cần phải tải nó. Có một số phương pháp phức tạp hơn để làm điều này đó là chủ đề tôi không cảm thấy có liên quan trực tiếp đến độ sâu yêu cầu của câu hỏi này, nhưng nhìn vào tessellation cho một trong những ví dụ phổ biến nhất.
Ý chính của việc này là hình ảnh chỉ là sản phẩm của trò chơi. Dữ liệu thực tế không liên quan gì đến những gì bạn đang thấy hoặc không nhìn thấy hầu hết thời gian và dữ liệu được lọc theo nhiều giai đoạn khác nhau để xóa thông tin không liên quan trước khi nhấn vào điểm mà hình ảnh được ghi lên màn hình. Tùy thuộc vào thiết kế động cơ, hình ảnh có thể được tách rời khỏi logic trò chơi thực tế, cho đến khi một cái gì đó giống như có giao diện 2D và 3D cho cùng một trò chơi là một khả năng. Thậm chí nhiều công cụ trò chơi có thể chạy mà không có đầu ra như vậy; đôi khi điều này được sử dụng để thử nghiệm trò chơi AI.
Đó là nơi mọi thứ có thể trở nên phức tạp, mặc dù. Trong một thứ đơn giản như trò chơi Mario, không quá khó để tính toán chuyển động của tất cả kẻ thù trong cấp độ, ngay cả khi chúng không nhìn thấy được. Trong bối cảnh hiện đại, những gì đang diễn ra ngoài màn hình là một câu hỏi thực sự được xem xét nghiêm túc. Nếu có nhiều thành phố của NPC, làm thế nào để bạn xử lý cách chúng cư xử khi chúng bị loại bỏ hoàn toàn - như khi người chơi ở một thành phố khác? Bạn có thực sự muốn tính toán hàng trăm quyết định của NPC trên toàn bản đồ không? Câu trả lời thường là không, nhưng cách tiếp cận chính xác để thực hiện không làm như vậy có thể khác nhau, và nó có thể có một số tác động đến trò chơi.
Điều quan trọng cần lưu ý rằng đây là cách làm việc hiện nay . Bản thân các trò chơi Mario cũ có thể được lập trình theo những cách rất khác nhau (tôi không thể nói theo những cách chính xác), với những hạn chế về phần cứng cực kỳ vào thời điểm đó. Khái niệm 3D không tồn tại trước đó; nhưng ngày nay hầu như tất cả các trò chơi, ngay cả những game hoàn toàn 2D, đều sử dụng kết xuất 3D ở một số hình thức, ngay cả khi chúng không biết chúng làm. Phần cứng video hiện đại là 3D đầu tiên và kết xuất 2D (ít nhất là khi nó sử dụng phần cứng đúng cách) chỉ bỏ qua chiều thứ 3.