gpt4 book ai didi

OpenGL 旋转太敏感

转载 作者:行者123 更新时间:2023-12-04 02:46:05 26 4
gpt4 key购买 nike

我最近从使用已弃用的 gl_*Matrix 切换到自己处理矩阵。一切似乎都工作正常,只是旋转大约是应有的 80 倍。我可以切换到使用 opengl 的矩阵而不更改任何其他代码,并且旋转很好。完整的源代码在 Github 上.最相关的函数在这里:

calculateMatricesFromPlayer :: GameObject a -> WorldMatrices
calculateMatricesFromPlayer p@(Player{}) =
let Vec3 px py pz = playerPosition p
Vec3 rx ry _ = playerRotation p

-- Create projection matrix
projMat = gperspectiveMatrix 45 (800/600) 0.1 100

-- Create view matrix
rotatedMatX = grotationMatrix rx [-1, 0, 0]
rotatedMatXY = rotatedMatX * grotationMatrix ry [0, -1, 0]
translatedMat = gtranslationMatrix [-px, -py, -pz]
viewMat = rotatedMatXY * translatedMat

-- Model matrix is identity by default
modelMat = gidentityMatrix
in WorldMatrices modelMat viewMat projMat

有什么明显的地方我做错了吗?

最佳答案

因为一个圆有 360 度和 2*pi 弧度,pi 大约为 3,看起来很可能是大约 80 的系数是您使用度数作为 sincostan 函数的输入,这些函数将输入作为弧度,因为 360/(2*pi) 大约是 80。

关于OpenGL 旋转太敏感,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21654214/

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