Bagaimana untuk Membuat Garis Piksel dalam OpenGL Semasa Menskalakan kepada Resolusi Berbeza?

DDD
Lepaskan: 2024-11-04 01:17:30
asal
756 orang telah melayarinya

How to Render Pixelated Lines in OpenGL While Scaling to Different Resolutions?

OpenGL Scale Single Pixel Line

Dalam pertanyaan anda, anda menyatakan keinginan untuk mencipta permainan yang mengekalkan resolusi dalaman 320x240 sambil menskalakan output kepada gandaan resolusi ini pada skrin. Pendekatan semasa anda, walau bagaimanapun, menghasilkan garisan 1px yang dipaparkan dalam dunia 3px apabila menskalakan sehingga 960x720.

Isu ini berpunca daripada andaian bahawa anda boleh membuat "kanvas glOrtho 320x240." Pada hakikatnya, hanya terdapat satu resolusi tetingkap aktif: 960x720. Kod lediglich anda menskalakan koordinat primitif yang anda berikan.

Untuk menyelesaikan masalah ini, anda perlu meninggalkan tanggapan "kanvas glOrtho 320x240" yang berasingan dan sebaliknya memfokus pada peleraian sebenar tetingkap. Ini memerlukan pemaparan kepada imej yang benar-benar 320x240 sebelum melukisnya ke peleraian sebenar tetingkap.

Langkah khusus untuk proses ini melibatkan mencipta tekstur 320x240, melampirkannya pada objek framebuffer dan mengikat FBO untuk rendering. Port pandangan hendaklah ditetapkan kepada saiz imej. Selepas menyahikat FBO, anda boleh melukis tekstur pada tetingkap dengan port pandangan ditetapkan kepada resolusi tetingkap.

Kaedah ini membolehkan anda mengekalkan pemaparan garis berpiksel dan menampung pelbagai resolusi output sambil mengekalkan resolusi 320x240 dalaman permainan.

Atas ialah kandungan terperinci Bagaimana untuk Membuat Garis Piksel dalam OpenGL Semasa Menskalakan kepada Resolusi Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!