gpt4 book ai didi

OpenGL 转换(glScale、glTranslate 等)

转载 作者:行者123 更新时间:2023-12-03 18:16:49 32 4
gpt4 key购买 nike

我正在学习 openGL 以及如何进行转换和缩放等转换。我知道你通常必须翻译到原点,然后做任何你想做的事情(比如缩放),然后再翻译回来。根据我的理解,这是手动完成的,但您可以使用 glScale() 执行相同的操作。

我的问题是,如果我使用 glScale 函数,我还需要转换到原点并返回原点吗?

最佳答案

您可能不需要对原点和原点进行任何转换,只需按所需顺序进行转换即可。请记住,最后一次应用的变换发生在先前变换的空间中。例如:

// draw object centred on (1,2,3) and ten times bigger
glTranslatef(1,2,3);
glScalef(10,10,10);
drawObject();

相对
// draw object centred on (10,20,30) and ten times bigger
glScalef(10,10,10);
glTranslatef(1,2,3);
drawObject();

在第二个示例中,平移和对象都缩放 x10,因为它们是在缩放之后完成的。 (这个方案允许 drawObject() 包含转换并且仍然表现得像一个单元。)

关于OpenGL 转换(glScale、glTranslate 等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5360597/

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