Why is glOrtho not changing anything?Why can templates only be implemented in the header file?Why doesn't glCopyTexSubImage2D copy my square correctly?OpenGL Picking with PygletWhy is “using namespace std;” considered bad practice?Why are elementwise additions much faster in separate loops than in a combined loop?Why does changing 0.1f to 0 slow down performance by 10x?Why is reading lines from stdin much slower in C++ than Python?Why is processing a sorted array faster than processing an unsorted array?My display() function only displays when it enters it the first time. Then it shows a blank windowWhy should I use a pointer rather than the object itself?

If a person claims to know anything could it be disproven by saying 'prove that we are not in a simulation'?

What should I do if actually I found a serious flaw in someone's PhD thesis and an article derived from that PhD thesis?

When was "Fredo" an insult to Italian-Americans?

Installing Windows to flash UEFI/ BIOS, then reinstalling Ubuntu

Is Thieves' Cant a language?

How much can I judge a company based on a phone screening?

How to measure if Scrum Master is making a difference and when to give up

How to prevent criminal gangs from making/buying guns?

Units of measurement, especially length, when body parts vary in size among races

Can the average speed of a moving body be 0?

What unique challenges/limitations will I face if I start a career as a pilot at 45 years old?

Is the Microsoft recommendation to use C# properties applicable to game development?

How can I communicate my issues with a potential date's pushy behavior?

Output the list of musical notes

Running code generated in realtime in JavaScript with eval()

What is the prop for Thor's hammer (Mjölnir) made of?

Match 4 columns and replace 1 in 2 files

"Mouth-breathing" as slang for stupidity

Will using a resistor in series with a LED to control its voltage increase the total energy expenditure?

Are there any cons in using rounded corners for bar graphs?

What can I do to increase the amount of LEDs I can power with a pro micro?

Why did IBM make the PC BIOS source code public?

Why does this Jet Provost strikemaster have a textured leading edge?

What modifiers are added to the attack and damage rolls of this unique longbow from Waterdeep: Dragon Heist?



Why is glOrtho not changing anything?


Why can templates only be implemented in the header file?Why doesn't glCopyTexSubImage2D copy my square correctly?OpenGL Picking with PygletWhy is “using namespace std;” considered bad practice?Why are elementwise additions much faster in separate loops than in a combined loop?Why does changing 0.1f to 0 slow down performance by 10x?Why is reading lines from stdin much slower in C++ than Python?Why is processing a sorted array faster than processing an unsorted array?My display() function only displays when it enters it the first time. Then it shows a blank windowWhy should I use a pointer rather than the object itself?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








-1















This function does not change anything even though I already called glOrtho(). What's wrong with the code? Did I miss something?



void glKeyCallback(unsigned char key, int x, int y)
if (key == 'z')
width -= 10; height -= 10;
cout << "Z" << endl;
cout << width << " " << height << endl;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 800, 600, 0, 0, 1);
glMatrixMode(GL_MODELVIEW);
else if (key == 'x')
width += 10; height += 10;
cout << "X" << endl;
cout << width << " " << height << endl;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 100, 100, 0, 0, 1);
glMatrixMode(GL_MODELVIEW);




I expected for the scene to zoom in / out when I pressed z or x. But it does not change anything. For the record, I have already registered this on glutKeyboardFunc










share|improve this question


























  • Calling GL functions in callbacks is iffy, because the callback may be running in the wrong thread. Better call them only where you do your actual rendering.

    – Stefan Dragnev
    Mar 27 at 12:16






  • 1





    Edit in a minimal reproducible example. For all we know you aren't redrawing on a regular basis; your glutKeyboardFunc() certainly isn't calling glutPostRedisplay().

    – genpfault
    Mar 27 at 13:38


















-1















This function does not change anything even though I already called glOrtho(). What's wrong with the code? Did I miss something?



void glKeyCallback(unsigned char key, int x, int y)
if (key == 'z')
width -= 10; height -= 10;
cout << "Z" << endl;
cout << width << " " << height << endl;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 800, 600, 0, 0, 1);
glMatrixMode(GL_MODELVIEW);
else if (key == 'x')
width += 10; height += 10;
cout << "X" << endl;
cout << width << " " << height << endl;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 100, 100, 0, 0, 1);
glMatrixMode(GL_MODELVIEW);




I expected for the scene to zoom in / out when I pressed z or x. But it does not change anything. For the record, I have already registered this on glutKeyboardFunc










share|improve this question


























  • Calling GL functions in callbacks is iffy, because the callback may be running in the wrong thread. Better call them only where you do your actual rendering.

    – Stefan Dragnev
    Mar 27 at 12:16






  • 1





    Edit in a minimal reproducible example. For all we know you aren't redrawing on a regular basis; your glutKeyboardFunc() certainly isn't calling glutPostRedisplay().

    – genpfault
    Mar 27 at 13:38














-1












-1








-1








This function does not change anything even though I already called glOrtho(). What's wrong with the code? Did I miss something?



void glKeyCallback(unsigned char key, int x, int y)
if (key == 'z')
width -= 10; height -= 10;
cout << "Z" << endl;
cout << width << " " << height << endl;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 800, 600, 0, 0, 1);
glMatrixMode(GL_MODELVIEW);
else if (key == 'x')
width += 10; height += 10;
cout << "X" << endl;
cout << width << " " << height << endl;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 100, 100, 0, 0, 1);
glMatrixMode(GL_MODELVIEW);




I expected for the scene to zoom in / out when I pressed z or x. But it does not change anything. For the record, I have already registered this on glutKeyboardFunc










share|improve this question
















This function does not change anything even though I already called glOrtho(). What's wrong with the code? Did I miss something?



void glKeyCallback(unsigned char key, int x, int y)
if (key == 'z')
width -= 10; height -= 10;
cout << "Z" << endl;
cout << width << " " << height << endl;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 800, 600, 0, 0, 1);
glMatrixMode(GL_MODELVIEW);
else if (key == 'x')
width += 10; height += 10;
cout << "X" << endl;
cout << width << " " << height << endl;
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, 100, 100, 0, 0, 1);
glMatrixMode(GL_MODELVIEW);




I expected for the scene to zoom in / out when I pressed z or x. But it does not change anything. For the record, I have already registered this on glutKeyboardFunc







c++ opengl freeglut opengl-compat






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 28 at 13:39









Nicol Bolas

305k37 gold badges511 silver badges690 bronze badges




305k37 gold badges511 silver badges690 bronze badges










asked Mar 27 at 11:38









Aidil RiskiAidil Riski

82 bronze badges




82 bronze badges















  • Calling GL functions in callbacks is iffy, because the callback may be running in the wrong thread. Better call them only where you do your actual rendering.

    – Stefan Dragnev
    Mar 27 at 12:16






  • 1





    Edit in a minimal reproducible example. For all we know you aren't redrawing on a regular basis; your glutKeyboardFunc() certainly isn't calling glutPostRedisplay().

    – genpfault
    Mar 27 at 13:38


















  • Calling GL functions in callbacks is iffy, because the callback may be running in the wrong thread. Better call them only where you do your actual rendering.

    – Stefan Dragnev
    Mar 27 at 12:16






  • 1





    Edit in a minimal reproducible example. For all we know you aren't redrawing on a regular basis; your glutKeyboardFunc() certainly isn't calling glutPostRedisplay().

    – genpfault
    Mar 27 at 13:38

















Calling GL functions in callbacks is iffy, because the callback may be running in the wrong thread. Better call them only where you do your actual rendering.

– Stefan Dragnev
Mar 27 at 12:16





Calling GL functions in callbacks is iffy, because the callback may be running in the wrong thread. Better call them only where you do your actual rendering.

– Stefan Dragnev
Mar 27 at 12:16




1




1





Edit in a minimal reproducible example. For all we know you aren't redrawing on a regular basis; your glutKeyboardFunc() certainly isn't calling glutPostRedisplay().

– genpfault
Mar 27 at 13:38






Edit in a minimal reproducible example. For all we know you aren't redrawing on a regular basis; your glutKeyboardFunc() certainly isn't calling glutPostRedisplay().

– genpfault
Mar 27 at 13:38













1 Answer
1






active

oldest

votes


















1














OpenGL is not a scene graph, it's a drawing API. Just changing the projection matrix will do nothing. You also have to redraw things.






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%2f55376291%2fwhy-is-glortho-not-changing-anything%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









    1














    OpenGL is not a scene graph, it's a drawing API. Just changing the projection matrix will do nothing. You also have to redraw things.






    share|improve this answer





























      1














      OpenGL is not a scene graph, it's a drawing API. Just changing the projection matrix will do nothing. You also have to redraw things.






      share|improve this answer



























        1












        1








        1







        OpenGL is not a scene graph, it's a drawing API. Just changing the projection matrix will do nothing. You also have to redraw things.






        share|improve this answer













        OpenGL is not a scene graph, it's a drawing API. Just changing the projection matrix will do nothing. You also have to redraw things.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 27 at 13:44









        datenwolfdatenwolf

        136k11 gold badges141 silver badges241 bronze badges




        136k11 gold badges141 silver badges241 bronze badges





















            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.



















            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%2f55376291%2fwhy-is-glortho-not-changing-anything%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

            Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

            Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

            Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript