| 89 | void g3_ForceTransformRefresh(void) { sUseTransformPassthru = -1; } |
| 90 | |
| 91 | void g3_RefreshTransforms(bool usePassthru) { |
| 92 | if (sUseTransformPassthru == 1 && usePassthru) { |
| 93 | // we don't have to do anything because we are already setup for pass-thru |
| 94 | return; |
| 95 | } |
| 96 | |
| 97 | if (usePassthru) { |
| 98 | // setup OpenGL to use pass-thru |
| 99 | rend_TransformSetToPassthru(); |
| 100 | } else { |
| 101 | // extract the viewport data from the renderer |
| 102 | int viewportWidth, viewportHeight, viewportX, viewportY; |
| 103 | rend_GetProjectionScreenParameters(viewportX, viewportY, viewportWidth, viewportHeight); |
| 104 | |
| 105 | // setup OpenGL to use full transform stack |
| 106 | // TODO: in the future we only need to set those that have changed |
| 107 | rend_TransformSetViewport(viewportX, viewportY, viewportWidth, viewportHeight); |
| 108 | rend_TransformSetProjection(gTransformProjection); |
| 109 | rend_TransformSetModelView(gTransformModelView); |
| 110 | } |
| 111 | |
| 112 | // store the pass-thru |
| 113 | sUseTransformPassthru = (usePassthru) ? 1 : 0; |
| 114 | } |
no test coverage detected