MCPcopy Create free account
hub / github.com/bulletphysics/bullet3 / b3CreateFrustum

Function b3CreateFrustum

examples/OpenGLWindow/SimpleCamera.cpp:109–137  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107}
108
109static void b3CreateFrustum(
110 float left,
111 float right,
112 float bottom,
113 float top,
114 float nearVal,
115 float farVal,
116 float frustum[16])
117{
118 frustum[0 * 4 + 0] = (float(2) * nearVal) / (right - left);
119 frustum[0 * 4 + 1] = float(0);
120 frustum[0 * 4 + 2] = float(0);
121 frustum[0 * 4 + 3] = float(0);
122
123 frustum[1 * 4 + 0] = float(0);
124 frustum[1 * 4 + 1] = (float(2) * nearVal) / (top - bottom);
125 frustum[1 * 4 + 2] = float(0);
126 frustum[1 * 4 + 3] = float(0);
127
128 frustum[2 * 4 + 0] = (right + left) / (right - left);
129 frustum[2 * 4 + 1] = (top + bottom) / (top - bottom);
130 frustum[2 * 4 + 2] = -(farVal + nearVal) / (farVal - nearVal);
131 frustum[2 * 4 + 3] = float(-1);
132
133 frustum[3 * 4 + 0] = float(0);
134 frustum[3 * 4 + 1] = float(0);
135 frustum[3 * 4 + 2] = -(float(2) * farVal * nearVal) / (farVal - nearVal);
136 frustum[3 * 4 + 3] = float(0);
137}
138
139#if 0
140static void b3CreateDiagonalMatrix(float value, float result[4][4])

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected