GLFW obtenir la hauteur de l'écran/largeur?
Jouer avec OpenGL pour un temps, à l'aide de la freeglut bibliothèque, j'ai décidé que je vais utiliser GLFW pour mon prochain projet de formation au lieu de cela, car on m'a dit que GLUT a été conçu uniquement à des fins d'apprentissage et ne doit pas être utilisé à des fins professionnelles. Je n'avais aucun problème avec le lien de la lib de mon projet NetBeans et il compile bien, à l'aide de mingw32 4.6.2.
Cependant, je suis en cours d'exécution à des difficultés en essayant de position de la fenêtre au centre de l'écran.
En vertu de freeglut, j'ai déjà utilisé:
glutInitWindowPosition (
(glutGet(GLUT_SCREEN_WIDTH)-RES_X) / 2,
(glutGet(GLUT_SCREEN_HEIGHT)-RES_Y) / 2
);
Je ne trouve pas de glfw fonction qui retourne la taille de l'écran ou de la largeur. Est une fonction tout simplement pas mis en œuvre?
OriginalL'auteur Byzantian | 2012-07-04
Vous devez vous connecter pour publier un commentaire.
Comment sur
glfwGetDesktopMode
, je pense que c'est ce que vous voulez.Exemple:
typedef struct { int Width, Height; int RedBits, BlueBits, GreenBits; } GLFWvidmode;
Que suis-je censé utiliser comme un argument si je veux obtenir la hauteur, par exemple?Vous ne demandez pas pour la largeur et la hauteur séparément. Vous obtenez dans un appel. Vous passez un vide struct, et il le remplit avec l'ensemble de ces champs. Vous lisez les champs dont vous vous souciez, et ignorer le reste.
Dois-je utiliser le tas? N'est-ce pas un peu cher? Pourquoi même les struct? Est-il un moyen de la passer en un objet anonyme? EDIT:
std::cout << return_struct->Height << " "<< return_struct->Width << std::endl;
imprime juste "0 0"Bolas: Et comment dois-je faire?
Êtes-vous en faveur
glfwInit
avantglfwGetDesktopMode
? Le GLFW Guide de l'Utilisateur dire que: "Avant d'utiliser le GLFW fonctions, il est nécessaire d'appeler glfwInit"OriginalL'auteur Tim
d'abord vous avez besoin de deux variables pour stocker votre largeur et la hauteur.
ensuite comme décrit à la page 14 de la de référence.
et en bonus, vous pouvez ensuite appeler
ce une fonction void et ne retourne aucune valeur, cependant, il mettra à jour les deux précédemment, les variables déclarées.. donc le placer dans le mainloop ou la fenêtre de remodeler la fonction de rappel.
vous pouvez le vérifier dans le manuel officiel ici à la page 15.
glfwSetWindowPos(ScreenWidth / 2 - WindowWidth / 2, ...);
à la place.je n'ai pas dit qu'il le ferait.. lire sa question encore une fois.. il a demandé dans le cadre de sa question pour la fonction qui retourne la taille de la fenêtre..
OriginalL'auteur iKlsR
Cela peut aider quelqu'un...
m_Width
etm_Height
sont des variables qui ont la largeur et la hauteur de la fenêtre.Référence: http://www.glfw.org/docs/latest/monitor.html
OriginalL'auteur Yahia
OriginalL'auteur X Stylish