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;
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
add a comment |
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
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; yourglutKeyboardFunc()
certainly isn't callingglutPostRedisplay()
.
– genpfault
Mar 27 at 13:38
add a comment |
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
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
c++ opengl freeglut opengl-compat
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; yourglutKeyboardFunc()
certainly isn't callingglutPostRedisplay()
.
– genpfault
Mar 27 at 13:38
add a comment |
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; yourglutKeyboardFunc()
certainly isn't callingglutPostRedisplay()
.
– 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
add a comment |
1 Answer
1
active
oldest
votes
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.
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%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
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.
add a comment |
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.
add a comment |
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.
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.
answered Mar 27 at 13:44
datenwolfdatenwolf
136k11 gold badges141 silver badges241 bronze badges
136k11 gold badges141 silver badges241 bronze badges
add a comment |
add a comment |
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.
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%2f55376291%2fwhy-is-glortho-not-changing-anything%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
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 callingglutPostRedisplay()
.– genpfault
Mar 27 at 13:38