Why use glm::LookAt in OpenGL?












1















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!










share|improve this question


















  • 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 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


















1















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!










share|improve this question


















  • 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 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
















1












1








1








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!










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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 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 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
















  • 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 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










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














1 Answer
1






active

oldest

votes


















0














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.






share|improve this answer























    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
    });


    }
    });














    draft saved

    draft discarded


















    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









    0














    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.






    share|improve this answer




























      0














      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.






      share|improve this answer


























        0












        0








        0







        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.






        share|improve this answer













        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.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Dec 30 '18 at 10:03









        datenwolfdatenwolf

        132k10132235




        132k10132235






























            draft saved

            draft discarded




















































            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.




            draft saved


            draft discarded














            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





















































            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







            Popular posts from this blog

            Monofisismo

            Angular Downloading a file using contenturl with Basic Authentication

            Olmecas