Bagaimana untuk Melukis Garisan Piksel Tunggal Berskala dengan OpenGL?

Mary-Kate Olsen
Lepaskan: 2024-11-04 05:25:30
asal
755 orang telah melayarinya

How to Draw Scaled Single-Pixel Lines with OpenGL?

Lukis Garisan Piksel Tunggal Berskala dengan OpenGL

Masalah:

Apabila memaparkan pemandangan OpenGL 320x240 diskalakan kepada lebih tinggi peleraian (cth., 960x720), garisan kelihatan lebih nipis daripada yang dimaksudkan kerana dilukis pada kanvas output berskala dan bukannya kanvas 320x240 dalaman.

Jawapan:

Salah faham terletak pada andaian bahawa terdapat kanvas OpenGL 320x240 yang berasingan. Keseluruhan port pandangan ialah peleraian tetingkap fizikal (960x720 dalam kes ini).

Penyelesaian:

Untuk melukis garisan piksel pada ketebalan yang betul, pemaparan harus dilakukan untuk penimbal imej 320x240 yang berasingan, dan kemudian imej itu hendaklah dilukis ke skrin sebagai tekstur berskala.

Langkah:

  1. Buat tekstur 320x240.
  2. Buat objek framebuffer (FBO) dan pasangkan tekstur padanya.
  3. Ikat FBO untuk pemaparan.
  4. Tetapkan port pandangan kepada saiz imej (320x240).
  5. Memberikan pemandangan kepada FBO.
  6. Lepaskan FBO.
  7. Tetapkan port pandangan kepada saiz tetingkap (960x720).
  8. Lukis tekstur ke tingkap sebagai imej berskala.

Atas ialah kandungan terperinci Bagaimana untuk Melukis Garisan Piksel Tunggal Berskala dengan OpenGL?. 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
Artikel terbaru oleh pengarang
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!