Sampai batas tertentu, ini adalah fungsi bagaimana 3D dirender. Sebagai contoh, OpenGL akan secara otomatis memilih geometri di luar rentang -1.0, +1.0 dalam ruang layar XY (Z lebih kompleks tetapi serupa). Geometri yang dimusnahkan tidak pernah menghasilkan fragmen (sekitar piksel) dan karenanya tidak pernah berubah menjadi citra aktual, meskipun dikirim ke sistem untuk dirender. Bagaimanapun, tidak mungkin untuk menulis ke ruang di luar jendela render (jika semuanya berfungsi sebagaimana mestinya).
Dalam beberapa konteks, cukup mengandalkan perilaku ini sebagai pengoptimalan. Namun, Anda masih harus melewatkan semua data game Anda melalui setidaknya satu tahap rendering (vertex shaders) sebelum kartu video dapat mengetahui apa yang terlihat. Dalam sesuatu seperti, katakanlah, Skyrim, itu tidak praktis. Anda tidak hanya harus mengirim setiap simpul di dunia melalui jalur render, tetapi Anda harus memuat setiap simpul ke memori sistem / video. Itu tidak efisien, jika mungkin.
Jadi, banyak game akan menggunakan culling berbasis CPU. Mereka biasanya akan menerapkan semacam sistem LOD (level of detail), di mana kualitas dan keberadaan aset dipengaruhi oleh seberapa penting mereka dinilai berada dalam konteks tertentu. Jaring piramidal mungkin merupakan perkiraan yang dapat diterima untuk gunung jika Anda berada 50 mil jauhnya. Jika Anda tidak dapat melihatnya sama sekali (seperti diblokir oleh pegunungan lain), bahkan tidak perlu memuatnya. Ada sejumlah metode yang lebih kompleks untuk melakukan hal ini yang merupakan topik yang saya rasa tidak relevan secara langsung dengan kedalaman yang diminta oleh pertanyaan ini, tetapi lihat tessellation untuk salah satu contoh paling umum.
Inti sesungguhnya dari hal ini adalah bahwa visual hanyalah produk dari permainan. Data aktual tidak ada hubungannya langsung dengan apa yang Anda lihat atau tidak lihat sebagian besar waktu, dan data disaring oleh berbagai tahap untuk menghapus informasi asing sebelum mengenai titik di mana gambar ditulis ke layar. Bergantung pada desain mesin, visual bisa sangat dipisahkan dari logika permainan yang sebenarnya, sejauh sesuatu seperti memiliki antarmuka 2D dan 3D ke permainan yang sama adalah suatu kemungkinan. Bahkan mungkin bagi banyak mesin game untuk berjalan tanpa hasil apa-apa; terkadang ini digunakan untuk menguji game AI.
Di situlah segalanya menjadi rumit. Dalam sesuatu yang sederhana seperti game Mario, tidak terlalu mahal untuk menghitung pergerakan semua musuh di level, bahkan jika mereka tidak terlihat. Dalam konteks modern, apa yang terjadi di luar layar adalah pertanyaan aktual yang menjadi pertimbangan serius. Jika ada beberapa kota seluruh NPC, bagaimana Anda menangani bagaimana mereka berperilaku ketika mereka sepenuhnya dimusnahkan - seperti ketika pemain berada di kota yang berbeda? Apakah Anda benar-benar ingin menghitung ratusan keputusan NPC di seluruh peta? Jawabannya biasanya tidak, tetapi pendekatan yang tepat untuk mencapai tidak melakukannya dapat bervariasi, dan dapat berdampak pada permainan.
Penting untuk dicatat bahwa ini adalah cara kerja sekarang . Gim-gim Mario lama itu sendiri kemungkinan diprogram dengan cara yang sangat berbeda (saya tidak dapat berbicara dengan cara yang tepat), mengingat keterbatasan perangkat keras yang ekstrem pada saat itu. Konsep 3D tidak ada saat itu; namun saat ini hampir semua gim, bahkan yang sepenuhnya 2D, menggunakan rendering 3D dalam beberapa bentuk, bahkan jika mereka tidak tahu mereka melakukannya. Perangkat keras video modern adalah yang pertama 3D, dan rendering 2D (setidaknya ketika menggunakan perangkat keras dengan benar) hanya mengabaikan dimensi ke-3.