Why use glm::LookAt in OpenGL?
After reading on the coordinate systems in OpenGL, I figured to move the camera around the world I just need to translate the view coordinates. If I say use view = glm::translate(view, glm::vec3(0, 0, -50));
, I'm translating the camera 50 units back (by translating the world 50 units forward). After thinking I had it figured out, I encounter LookAt function. I can't understand why I would need to use this function, if I just can move around my camera by translating and rotating the view. The whole thing is a bit hard to wrap the head around, so I'm sorry if this doesn't make much sense!
opengl coordinate-transformation glulookat
add a comment |
After reading on the coordinate systems in OpenGL, I figured to move the camera around the world I just need to translate the view coordinates. If I say use view = glm::translate(view, glm::vec3(0, 0, -50));
, I'm translating the camera 50 units back (by translating the world 50 units forward). After thinking I had it figured out, I encounter LookAt function. I can't understand why I would need to use this function, if I just can move around my camera by translating and rotating the view. The whole thing is a bit hard to wrap the head around, so I'm sorry if this doesn't make much sense!
opengl coordinate-transformation glulookat
5
Who says that you need to use it? Your question seems like someone asking why they need to usestd::sort
, since they can implement a quick-sort just fine themselves. And why do you think "I just can move around my camera by translating and rotating the view" is not literally what the function does?
– Nicol Bolas
Dec 30 '18 at 5:15
2
Nico is right you do not need to use it if you do not want to ... I code in OpenGL many years and still never usedLookAt
not the GLU nor the GLM version ... in fact I never used GLM (as I got my own math that predates GLM and suite my needs much better) and the only stuff I use from GLU isgluPerspective
and lately not even that ... TheLookAt
function is usually used by rookies as an shortcut for those they do not understand the matrix math preventing them from simple implementation of advanced camera stuff later on ...
– Spektre
Dec 30 '18 at 9:04
add a comment |
After reading on the coordinate systems in OpenGL, I figured to move the camera around the world I just need to translate the view coordinates. If I say use view = glm::translate(view, glm::vec3(0, 0, -50));
, I'm translating the camera 50 units back (by translating the world 50 units forward). After thinking I had it figured out, I encounter LookAt function. I can't understand why I would need to use this function, if I just can move around my camera by translating and rotating the view. The whole thing is a bit hard to wrap the head around, so I'm sorry if this doesn't make much sense!
opengl coordinate-transformation glulookat
After reading on the coordinate systems in OpenGL, I figured to move the camera around the world I just need to translate the view coordinates. If I say use view = glm::translate(view, glm::vec3(0, 0, -50));
, I'm translating the camera 50 units back (by translating the world 50 units forward). After thinking I had it figured out, I encounter LookAt function. I can't understand why I would need to use this function, if I just can move around my camera by translating and rotating the view. The whole thing is a bit hard to wrap the head around, so I'm sorry if this doesn't make much sense!
opengl coordinate-transformation glulookat
opengl coordinate-transformation glulookat
asked Dec 30 '18 at 4:54
John SmithJohn Smith
135
135
5
Who says that you need to use it? Your question seems like someone asking why they need to usestd::sort
, since they can implement a quick-sort just fine themselves. And why do you think "I just can move around my camera by translating and rotating the view" is not literally what the function does?
– Nicol Bolas
Dec 30 '18 at 5:15
2
Nico is right you do not need to use it if you do not want to ... I code in OpenGL many years and still never usedLookAt
not the GLU nor the GLM version ... in fact I never used GLM (as I got my own math that predates GLM and suite my needs much better) and the only stuff I use from GLU isgluPerspective
and lately not even that ... TheLookAt
function is usually used by rookies as an shortcut for those they do not understand the matrix math preventing them from simple implementation of advanced camera stuff later on ...
– Spektre
Dec 30 '18 at 9:04
add a comment |
5
Who says that you need to use it? Your question seems like someone asking why they need to usestd::sort
, since they can implement a quick-sort just fine themselves. And why do you think "I just can move around my camera by translating and rotating the view" is not literally what the function does?
– Nicol Bolas
Dec 30 '18 at 5:15
2
Nico is right you do not need to use it if you do not want to ... I code in OpenGL many years and still never usedLookAt
not the GLU nor the GLM version ... in fact I never used GLM (as I got my own math that predates GLM and suite my needs much better) and the only stuff I use from GLU isgluPerspective
and lately not even that ... TheLookAt
function is usually used by rookies as an shortcut for those they do not understand the matrix math preventing them from simple implementation of advanced camera stuff later on ...
– Spektre
Dec 30 '18 at 9:04
5
5
Who says that you need to use it? Your question seems like someone asking why they need to use
std::sort
, since they can implement a quick-sort just fine themselves. And why do you think "I just can move around my camera by translating and rotating the view" is not literally what the function does?– Nicol Bolas
Dec 30 '18 at 5:15
Who says that you need to use it? Your question seems like someone asking why they need to use
std::sort
, since they can implement a quick-sort just fine themselves. And why do you think "I just can move around my camera by translating and rotating the view" is not literally what the function does?– Nicol Bolas
Dec 30 '18 at 5:15
2
2
Nico is right you do not need to use it if you do not want to ... I code in OpenGL many years and still never used
LookAt
not the GLU nor the GLM version ... in fact I never used GLM (as I got my own math that predates GLM and suite my needs much better) and the only stuff I use from GLU is gluPerspective
and lately not even that ... The LookAt
function is usually used by rookies as an shortcut for those they do not understand the matrix math preventing them from simple implementation of advanced camera stuff later on ...– Spektre
Dec 30 '18 at 9:04
Nico is right you do not need to use it if you do not want to ... I code in OpenGL many years and still never used
LookAt
not the GLU nor the GLM version ... in fact I never used GLM (as I got my own math that predates GLM and suite my needs much better) and the only stuff I use from GLU is gluPerspective
and lately not even that ... The LookAt
function is usually used by rookies as an shortcut for those they do not understand the matrix math preventing them from simple implementation of advanced camera stuff later on ...– Spektre
Dec 30 '18 at 9:04
add a comment |
1 Answer
1
active
oldest
votes
glm::LookAt
or mat4x4_look_at
of linmath.h or gluLookAt
, and so on, are all just there for your (= the programmer's) convenience. That's all.
If you want to setup the view portion of the modelview transform with a different method, because it suits you better, then by all means you should to that then.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53975362%2fwhy-use-glmlookat-in-opengl%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
glm::LookAt
or mat4x4_look_at
of linmath.h or gluLookAt
, and so on, are all just there for your (= the programmer's) convenience. That's all.
If you want to setup the view portion of the modelview transform with a different method, because it suits you better, then by all means you should to that then.
add a comment |
glm::LookAt
or mat4x4_look_at
of linmath.h or gluLookAt
, and so on, are all just there for your (= the programmer's) convenience. That's all.
If you want to setup the view portion of the modelview transform with a different method, because it suits you better, then by all means you should to that then.
add a comment |
glm::LookAt
or mat4x4_look_at
of linmath.h or gluLookAt
, and so on, are all just there for your (= the programmer's) convenience. That's all.
If you want to setup the view portion of the modelview transform with a different method, because it suits you better, then by all means you should to that then.
glm::LookAt
or mat4x4_look_at
of linmath.h or gluLookAt
, and so on, are all just there for your (= the programmer's) convenience. That's all.
If you want to setup the view portion of the modelview transform with a different method, because it suits you better, then by all means you should to that then.
answered Dec 30 '18 at 10:03
datenwolfdatenwolf
132k10132235
132k10132235
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53975362%2fwhy-use-glmlookat-in-opengl%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
5
Who says that you need to use it? Your question seems like someone asking why they need to use
std::sort
, since they can implement a quick-sort just fine themselves. And why do you think "I just can move around my camera by translating and rotating the view" is not literally what the function does?– Nicol Bolas
Dec 30 '18 at 5:15
2
Nico is right you do not need to use it if you do not want to ... I code in OpenGL many years and still never used
LookAt
not the GLU nor the GLM version ... in fact I never used GLM (as I got my own math that predates GLM and suite my needs much better) and the only stuff I use from GLU isgluPerspective
and lately not even that ... TheLookAt
function is usually used by rookies as an shortcut for those they do not understand the matrix math preventing them from simple implementation of advanced camera stuff later on ...– Spektre
Dec 30 '18 at 9:04