Bagaimana cara komputer merender objek ke layar?

18

Apakah semua grafik komputer dirender menggunakan poligon? Yang saya maksud adalah, beberapa geometri komputer secara matematis direpresentasikan dalam bentuk persamaan (misalnya, perangkat lunak CAD).

Apakah komputer pertama-tama harus melakukan geometri geometri sebelum dapat membuat visualisasi ke layar dengan benar atau apakah ada metode lain untuk mendapatkan gambar ke layar tanpa harus menjual sebuah objek?

Sunting: Saya kira lebih khusus fokus pada GPU. Bagaimana dosis GPU melakukannya? input dosis apa yang dibutuhkannya, yaitu, format model apa yang bekerja dengan GPU? dapatkah ia menggunakan representasi matematis yang sempurna secara langsung atau memakainya untuk membuat model itu sendiri sebelum benar-benar menampilkan atau menyaring GPU memerlukan model yang sudah dikosongkan untuk memulainya.

Juga, apa yang saya maksud dengan tessellation adalah cara komputer memecah representasi matematis dari suatu objek menjadi perkiraan permukaan poligon (hampir selalu segitiga). Semakin banyak poligon yang digunakan, semakin dekat permukaan dengan objek yang sebenarnya.

Faken
sumber
4
Pertanyaan yang menarik!
r0ca

Jawaban:

2

Ini menindaklanjuti komentar Anda pada jawaban @ nik:

Sebagian besar sistem CAD menggunakan poligon (well triangles) untuk membuat model mereka.

Mereka akan menyimpan model dalam berbagai cara berdasarkan pada model CSG (Constructive Solid Geometry) atau B-rep (Boundary Representation) misalnya, tetapi ketika datang untuk menampilkan ini akan faceted dan segitiga dikirim ke GPU untuk menggambar .

Setiap sistem akan memiliki solusi sendiri untuk memecah model menjadi segitiga.

ChrisF
sumber
7

Saya tidak yakin pada tingkat keingintahuan apa Anda mengajukan pertanyaan ini,
Tapi, secara umum saya akan mengarahkan Anda ke halaman Grafik Komputer Wikipedia .

Ada juga Sejarah Kritis Grafik Komputer dan Animasi di sana.
Anda dapat melompat ke bagian yang menarik dari halaman konten mereka.


Pembaruan: Saya ingin tahu apakah pertanyaan Anda didasarkan pada konsep yang terkait dengan situs UnlimitedDetail ini .

Sebagian besar grafik 3D saat ini didasarkan pada apa yang disebut sistem poligon; itu adalah sistem yang membangun benda-benda dari bentuk datar kecil yang disebut poligon.

...

Tiga sistem saat ini yang digunakan dalam grafik 3D adalah Ray tracing, poligon, dan point cloud / voxel, semuanya memiliki kekuatan dan kelemahan. Poligon berjalan cepat tetapi memiliki geometri yang buruk, Ray-trace dan voxel memiliki geometri yang sempurna tetapi berjalan sangat lambat.

dll ...

nik
sumber
+1 untuk menyebutkan Sejarah kritis Grafik Komputer dan Animasi. banyak yang bisa dibaca tetapi sangat menarik ;-)
Diskilla
Tingkat keingintahuan saya biasanya turun sangat dalam, sampai ke matematika di belakang ide (meskipun saya tidak mengharapkan jawaban yang begitu detail, saya hanya ingin tahu secara umum apa yang digunakan GPU). Adapun pertanyaan saya terkait dengan, itu secara khusus terkait dengan perangkat lunak CAD dan bagaimana mereka mengkonversi antara model matematika mereka dan apa yang Anda lihat di layar (melalui rendering GPU). Mengapa? Saya hanya penasaran.
Faken
2

Jika Anda benar-benar ingin mempelajari mekanika GPU dan teknik render secara mendalam, buku berikut sekarang dapat ditemukan online:

GPU Permata 3, Addison-Wesley Professional (12 Agustus 2007)

GPU Permata 3 diedit oleh Hubert Nguyen, Manajer Pendidikan Pengembang di NVIDIA. Hubert adalah seorang insinyur grafis yang bekerja di Tim Demo NVIDIA sebelum pindah ke posisinya saat ini. Karyanya ditampilkan di sampul Permata GPU (Addison-Wesley, 2004) dan GPU Permata 2.

GPU Permata 3 adalah kumpulan contoh pemrograman GPU yang canggih. Ini adalah tentang menempatkan pemrosesan paralel data untuk bekerja. Empat bagian pertama fokus pada aplikasi grafis khusus GPU di bidang geometri, pencahayaan dan bayangan, rendering, dan efek gambar. Topik di bagian kelima dan keenam memperluas ruang lingkup dengan memberikan contoh nyata aplikasi nongrafis yang sekarang dapat diatasi dengan teknologi GPU data-paralel. Aplikasi-aplikasi ini beragam, mulai dari simulasi benda tegar hingga simulasi aliran fluida, dari pencocokan tanda tangan virus hingga enkripsi dan dekripsi, dan dari pembuatan angka acak hingga perhitungan Gaussian.

Edisi sebelumnya juga online dan masih sangat layak dibaca:

Permata GPU: Teknik, Tip, dan Trik Pemrograman untuk Grafik Real-Time, diedit oleh Randima Fernando, Maret 2004

GPU Permata 2: Teknik untuk Grafik dan Pemrograman Intensif Komputasi, diedit oleh Matt Pharr, Maret 2005

Pemrograman Vertex, Geometri, dan Pixel Shaders, Edisi Kedua, oleh Wolfgang Engel, Jack Hoxley, Ralf Kornmann, Niko Suni, dan Jason Zink, Desember 2008

Yang terakhir adalah konsep buku yang tidak rata, tetapi sangat berharga di beberapa tempat. Bab pencahayaan oleh Jack Hoxley memberikan penjelasan rinci tentang berbagai model pencahayaan bersama dengan kode shader yang berfungsi.

harrymc
sumber
1

Merender sesuatu selalu berarti Anda menggunakan poligon. Bahkan digunakan oleh seniman. Poligon berarti angka bidang. Untuk membuat sesuatu tiga dimensi, Anda selalu mengambil beberapa poligon dan menyatukannya. Semakin banyak angka bidang yang Anda gunakan, semakin banyak detail yang dapat Anda tambahkan ke angka tiga dimensi Anda. Persamaan digunakan untuk menghitung hal-hal seperti misalnya cahaya objek.

Untuk sepenuhnya memahami prosedur ini, Anda harus membaca artikel wikipedia nik yang telah disebutkan .

edit .: Saya tidak yakin lagi tentang interpretasi saya tentang apa yang Anda maksud dengan "tesselate an object". Jika memungkinkan, dapatkah Anda menjelaskannya secara terperinci?

Diskilla
sumber
Yang saya maksud dengan tessellation adalah benda padat dipecah menjadi serangkaian poligon datar (hampir selalu segitiga) yang mendekati permukaan objek. Semakin besar jumlah segitiga, semakin dekat representasi ke permukaan objek yang sebenarnya.
Faken
1

Sepanjang sejarah komputasi, GPU yang berbeda telah mengimplementasikan berbagai hal dengan cara yang berbeda, dengan mempertimbangkan resolusi, akurasi, kecepatan refresh, dan fitur monitor, serta mengimplementasikan API baru dan lebih menarik dari waktu ke waktu.

Sebagai contoh, beberapa GPU menyediakan antarmuka representasi pandangan dunia 3D penuh, sementara yang lain kurang mampu.

ASIC (dan seterusnya) adalah inti dari bagaimana GPU melakukan keajaiban mereka hari ini. Kemampuan untuk memasukkan ke dalam kerumitan silikon seperti menjalankan mesin virtual dalam subrutin yang berjalan penuh adalah yang membuat semua keajaiban terjadi. Selain tesselation, ada pemetaan permukaan, bayangan, dan banyak lagi yang semuanya ditangani dalam logika GPU.

Semoga ini membantu!
-pbr

pbr
sumber