Maison > Article > développement back-end > Comment restituer des lignes pixélisées dans OpenGL tout en s'adaptant à différentes résolutions ?
OpenGL Scale Single Pixel Line
Dans votre requête, vous exprimez le désir de créer un jeu qui maintient une résolution interne de 320 x 240 tout en mettant à l'échelle son sortie à des multiples de cette résolution à l’écran. Cependant, votre approche actuelle entraîne le rendu de lignes de 1 px dans un monde de 3 px lors d'une mise à l'échelle jusqu'à 960 x 720.
Le problème vient de l'hypothèse que vous pouvez effectuer le rendu sur un « canevas glOrtho de 320 x 240 ». En réalité, il n’existe qu’une seule résolution de fenêtre active : 960x720. Votre code met à l'échelle les coordonnées des primitives que vous restituez.
Pour résoudre ce problème, vous devez abandonner la notion de "canevas glOrtho 320x240" séparé et vous concentrer plutôt sur la résolution réelle de la fenêtre. Cela implique le rendu d'une image réellement de 320 x 240 avant de la dessiner à la résolution réelle de la fenêtre.
Les étapes spécifiques de ce processus impliquent de créer une texture de 320 x 240, de l'attacher à un objet framebuffer et de lier le FBO pour rendu. La fenêtre d'affichage doit être définie sur la taille de l'image. Après avoir dissocié le FBO, vous pouvez dessiner la texture sur la fenêtre avec la fenêtre définie sur la résolution de la fenêtre.
Cette méthode vous permet de conserver le rendu des lignes pixélisées et de s'adapter à différentes résolutions de sortie tout en préservant la résolution interne de 320 x 240 du jeu.
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!