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!