| 175 | } |
| 176 | |
| 177 | void Tr2ReflectionProbe::EndRenderPass( Tr2RenderContext& renderContext ) |
| 178 | { |
| 179 | { |
| 180 | GPU_REGION( renderContext, "Reflection RT Copy" ); |
| 181 | |
| 182 | for( int i = GetStartFace(); i < GetEndFace(); i++ ) |
| 183 | { |
| 184 | CR( m_renderTargetCube->GetRenderTarget().CopySubresourceRegion( Tr2TextureSubresource( i, 0 ), *m_renderTargets[i], Tr2TextureSubresource( 0, 0 ), renderContext ) ); |
| 185 | } |
| 186 | } |
| 187 | |
| 188 | renderContext.m_esm.SetInvertedCullMode( m_prevCullInversion ); |
| 189 | |
| 190 | renderContext.m_esm.PopDepthStencilBuffer(); |
| 191 | renderContext.m_esm.PopRenderTarget(); |
| 192 | Tr2Renderer::PopProjection(); |
| 193 | Tr2Renderer::PopViewTransform(); |
| 194 | renderContext.m_esm.PopViewport(); |
| 195 | |
| 196 | Filter( renderContext ); |
| 197 | m_hasData = true; |
| 198 | m_onePassDone = true; |
| 199 | |
| 200 | if( m_renderFrequency != ALL_SIDES_PER_FRAME ) |
| 201 | { |
| 202 | m_currentFrame = ( m_currentFrame + 1 ) % 6; |
| 203 | } |
| 204 | } |
| 205 | |
| 206 | Tr2RenderTargetPtr Tr2ReflectionProbe::GetReflection() |
| 207 | { |
no test coverage detected