| 119 | } |
| 120 | |
| 121 | vec2 Camera::worldToScreen( const vec3 &worldCoord, float screenWidth, float screenHeight ) const |
| 122 | { |
| 123 | vec4 eyeCoord = getViewMatrix() * vec4( worldCoord, 1 ); |
| 124 | vec4 ndc = getProjectionMatrix() * eyeCoord; |
| 125 | ndc.x /= ndc.w; |
| 126 | ndc.y /= ndc.w; |
| 127 | ndc.z /= ndc.w; |
| 128 | |
| 129 | return vec2( ( ndc.x + 1.0f ) / 2.0f * screenWidth, ( 1.0f - ( ndc.y + 1.0f ) / 2.0f ) * screenHeight ); |
| 130 | } |
| 131 | |
| 132 | vec2 Camera::eyeToScreen( const vec3 &eyeCoord, const vec2 &screenSizePixels ) const |
| 133 | { |
no test coverage detected