Maison > développement back-end > C++ > Comment dessiner des lignes à un seul pixel avec OpenGL ?

Comment dessiner des lignes à un seul pixel avec OpenGL ?

Mary-Kate Olsen
Libérer: 2024-11-04 05:25:30
original
851 Les gens l'ont consulté

How to Draw Scaled Single-Pixel Lines with OpenGL?

Dessiner des lignes à un seul pixel mises à l'échelle avec OpenGL

Problème :

Lors du rendu d'une scène OpenGL 320 x 240 mise à l'échelle à un niveau supérieur résolution (par exemple, 960 x 720), les lignes semblent plus fines que prévu car elles sont dessinées sur le canevas de sortie mis à l'échelle au lieu du canevas interne de 320 x 240.

Réponse :

Le malentendu réside dans l'hypothèse qu'il existe un canevas OpenGL 320x240 distinct. La fenêtre entière correspond à la résolution physique de la fenêtre (960x720 dans ce cas).

Solution :

Pour dessiner des lignes pixellisées à la bonne épaisseur, le rendu doit être effectué pour un tampon d'image 320 x 240 séparé, puis l'image doit être dessinée à l'écran sous la forme d'une texture mise à l'échelle.

Étapes :

  1. Créez une texture 320 x 240.
  2. Créez un objet framebuffer (FBO) et attachez-y la texture.
  3. Liez le FBO pour le rendu.
  4. Réglez la fenêtre d'affichage à la taille de l'image (320x240).
  5. Rendu la scène au FBO.
  6. Dissocier le FBO.
  7. Réglez la fenêtre d'affichage à la taille de la fenêtre (960 x 720).
  8. Dessinez la texture dans la fenêtre comme une image à l'échelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal