Maison >développement back-end >C++ >Comment dessiner des lignes 1px dans OpenGL avec mise à l'échelle de résolution interne ?
Problème :
Un jeu avec une résolution interne de 320x240 est mis à l'échelle pour s'afficher à des résolutions plus élevées (par exemple, 960 x 720). Bien que les graphiques pixélisés soient rendus correctement, les lignes tracées avec GL_LINE_LOOP sont mises à l'échelle jusqu'à 3 px, ce qui entraîne un pixel art incorrect.
Question :
Comment dessiner des lignes sur le vue interne 320x240 au lieu de la vue d'affichage 960x720 ?
Réponse :
L'idée fausse est l'existence d'une "toile glOrtho 320x240". OpenGL restitue uniquement à la résolution réelle de la fenêtre (par exemple, 960 x 720). La mise à l'échelle des coordonnées transforme simplement les points finaux primitifs mais n'affecte pas la rastérisation.
Pour dessiner correctement des lignes de 1 px :
En rendant une image hors écran de la résolution réelle, puis en la mettant à l'échelle, une rastérisation appropriée des lignes pixélisées peut être obtenue.
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!