我在调整窗口大小时遇到问题。
目前,我总是在更改窗口大小时更改GLU.gluPerspective(70F, this.windowWidth/this.WindowHeight, 0.05F, 1000.0F)
中的值。
在这两个示例中,我已将这些值用于Perspective set hive.execution.engine=tez;
,并且仅更改了窗口大小。
正如您所看到的,当窗口大小为1080x1080像素时它看起来不错。 但是,每当我想要一个其他窗口大小时,我都不想改变这些值。
我希望你能理解我,知道我想要什么。
答案 0 :(得分:1)
解决方案非常简单。 1
变为1
,因为您正在进行整数除法。这就是1080 x 1080看起来不错的原因,因为该宽高比实际上是GLU.gluPerspective(70F, 1920F/1080F, 0.05F, 1000.0F)
。
你想要的是:
GLU.gluPerspective(70F, (float)width / (float)height, 0.05F, 1000.0F)
通常不对硬盘长宽比进行硬编码,而是从窗口中拉取值:
foreach ($tableArray as $locationTab) {
$loc = array_search($locationTab, $tableArray);
unset($tableArray[$loc]);
echo '<p>' . $loc . '</p>';
}
无论窗口大小如何,宽高比都是正确的。