OpenGL clip plane会受modle-view matrix影响

From the red book: OpenGL implementations often must compute the inverse of the modelview matrix so that normals and clipping planes can be correctly transformed to eye coordinates.

From google: When you call glClipPlane, equation is transformed by the inverse of the modelview matrix and stored in the resulting eye coordinates. Subsequent changes to the modelview matrix have no effect on the stored plane-equation components.

即, 调用glClipPlane时,会使用当前的modle-view矩阵的逆矩阵将plane变换到eye space,因为openGL的model-view矩阵是合并的,所以要保证调用glClipPlane时,modle-view矩阵只包含当前的 view矩阵,而没受到任何modle矩阵的污染。但调用glClipPlane之后的modle-view矩阵不会再影响已经变换好的clip plane。

你可能感兴趣的:(Google)