- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 OpenGL ES 2.0 教程作为基础在 Android 平台上使用 OpenGL。有问题的代码是:
public void onSurfaceChanged( GL10 unused, int width, int height )
{ GLES20.glViewport( 0, 0, width, height );
float ratio = (float) width / height;
Matrix.frustumM( mProjMatrix, 0, -ratio, ratio, -1, 1, 1, 9.9999f );
Matrix.setLookAtM( mVMatrix, 0, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f );
muMVPMatrixHandle = GLES20.glGetUniformLocation( mProgram, "uMVPMatrix" );
}
特别是 frustumM 的“far”参数。每当该参数为 10 时,图像(三角形)就不会出现。任何其他值都可以。为什么?
我读了很多书——但都无济于事。甚至我的 friend (又名 Google)也无法帮助我。
提前致谢。
最佳答案
当您计算投影矩阵时,您将远平面指定为 9.9999f,这就是为什么在 View 矩阵计算中 eyeZ 值为 10 或更大将导致空图像的原因。你正在看你的截锥体之外。
请看这篇文章:http://www.lighthouse3d.com/tutorials/view-frustum-culling/
关于android - Android 上 OpenGL ES 2.0 中的 frustumM/setLookAtM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9490075/
我正在做一些 3D 建模,这需要一些稍微不寻常的变换(本质上我需要进行倾斜/倾斜变换而不是旋转)。由于我之前没有进行过任何 opengl 编程,因此我使用了 2D canvas 绘图库并创建了自己的
我正在使用 OpenGL ES 2.0 教程作为基础在 Android 平台上使用 OpenGL。有问题的代码是: public void onSurfaceChanged( GL10 unused,
参数如何为它工作以及 mProjMatrix 从该方法中得到什么? 另外,为什么“float mProjMatrix = new float[16];”用 16 声明,我可以用另一个数字代替吗?
我是一名优秀的程序员,十分优秀!