gpt4 book ai didi

opengl - 如何恢复 glScalef()?

转载 作者:行者123 更新时间:2023-12-04 16:28:20 26 4
gpt4 key购买 nike

我使用 glScalef() 来放大我的程序,现在当我用代码将它恢复到原始大小时:

glScalef(1.0f/ZOOM, 1.0f/ZOOM, 1);

它在高变焦下效果不佳......(可能是因为丢失了小数点?)

我如何在不进行上述计算的情况下将其完美地恢复到原始大小?

最佳答案

你可以这样做:

ZOOMSQRT = sqrt(ZOOM);
glScalef(1.0f/ZOOMSQRT, 1.0f/ZOOMSQRT, 1);
glScalef(1.0f/ZOOMSQRT, 1.0f/ZOOMSQRT, 1);

或使用 glPushMatrix/glPopMatrix 恢复缩放前的原始矩阵:
glPushMatrix();
glScalef(ZOOM, ZOOM, 1);
[do whatever you like here...]
glPopMatrix(); // now it's at normal scale again
[do other things here...]

关于opengl - 如何恢复 glScalef()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/635708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com