所以我开始制作自己的引擎,让我的Z轴指向远离我的相机。我不知道为什么会这样,我几乎跟着you can see from the code it has a getData()
public method。
我会发布我的相机的 persprojection 和查看计算,请评论我应该发布的其他代码,我会更新我的帖子。
PersProjection
Matrix4x4f Camera::getViewProjection() {
Matrix4x4f cameraRotationTrans(MatrixType::IDENTITY);
Vector3f N = target;
N.normalize();
Vector3f U = up;
U.normalize();
U = U.cross(target);
Vector3f V = N.cross(U);
cameraRotationTrans.setRow(0, Vector4f(U, 0));
cameraRotationTrans.setRow(1, Vector4f(V, 0));
cameraRotationTrans.setRow(2, Vector4f(N, 1));
Matrix4x4f cameraTranslationTrans(MatrixType::IDENTITY);
cameraTranslationTrans.setCol(3, Vector4f(-position, 1));
return perspectiveTrans * cameraRotationTrans * cameraTranslationTrans;
}
查看和投影计算
scrapy crawl <spider_name> -o filename.csv
答案 0 :(得分:0)
您在此表达式中错过了减号:
perspectiveTrans(2, 3) = (2.0f * nearZ * farZ) / -(nearZ - farZ);
如果在glFrustum
的文档中查找相应的矩阵元素,则此矩阵元素为:
- (2 * far * near / (far - near)
在你的表示法中,即:
perspectiveTrans(2, 3) = (-2.0f * nearZ * farZ) / -(nearZ - farZ);