Quelle est la fonction glFrustum faire?
Selon MSDN, nous sommes en multipliant le cours de la matrice avec le point de vue de la matrice. Ce que la matrice parlons-nous ici? Aussi à partir de MSDN:
"La fonction glFrustum multiplie la matrice courante par cette matrice, avec le résultat du remplacement de la matrice actuelle. C'est, si M est la matrice actuelle et F est le champ de vue de la perspective de la matrice, puis glFrustum remplace M par M • F."
Maintenant, à partir de mes connaissances actuelles de la 12e année de calcul (où je suis actuellement), M est un vecteur et M produit scalaire F retourne un scalaire, alors comment peut-on remplacer un vecteur par un scalaire?
Je suis également pas sûr de ce que "clipping" les avions sont et comment ils peuvent être référencé par une valeur flottante.
Veuillez phrase de votre réponse, en termes de paramètres, et aussi sur le plan conceptuel. J'apprécierais vraiment que.
Je suis en train d'apprendre openGL via ce tutoriel: http://www.youtube.com/watch?v=WdGF7Bw6SUg. Il est en fait pas vraiment du bien, car il n'explique rien, ou autre, il suppose que l'on sait openGL. J'apprécierais vraiment un lien vers un tutoriel sinon, j'apprécie vraiment votre temps et vos réponses! Je suis sûr que je peux lutte et de comprendre les choses.
Merci pour les conseils.
OriginalL'auteur user2316667 | 2013-05-28
Vous devez vous connecter pour publier un commentaire.
Vous ne comprenez pas ce qu'il dit.
M
est une matrice. M•F est donc aussi une matrice. Il construit un point de vue de la matrice. Voir cet article pour une explication de la façon dont elle est construite et lorsque vous souhaitez utiliserglFrustum()
vsgluPerspective()
:Les plans de découpe sont de plans de coupe des coupes du monde de sorte qu'ils n'ont pas à être rendus. Le champ de vue décrit l'endroit où les avions sont dans l'espace. Ses côtés définir l'affichage du volume.
OriginalL'auteur user1118321
glFrustum génère une matrice de projection perspective.
Cette matrice de cartes d'une partie de l'espace (le "fustum") de votre écran. De nombreuses mises en garde s'appliquent (normalisé les coordonnées de périphérique, la perspective de diviser, etc), mais c'est l'idée.
La partie qui vous intrigue est un vestige de l'obsolète OpenGL API. Vous pouvez ignorer en toute sécurité, car en général, vous appliquez gluFrustum() sur une identité, d'une matrice de projection, de sorte que la multiplication mentionné dans la doc n'a pas d'effet.
Un peut-être plus compréhensible de la façon de faire les choses est la suivante :
Ici, j'ai utilisé glm::point de vue (l'équivalent de l'ancienne gluPerspective() ), mais vous pouvez utiliser gluFrustum trop.
Comme pour les arguments de la fonction, ils sont mieux expliquées par cette partie de la doc :
Si vous n'êtes pas familier avec des matrices de transformation, j'ai écrit un tutoriel ici; la "Matrice de Projection" de la section, en particulier, devraient vous aider.
OriginalL'auteur Calvin1602