Another workaround, now with "stealing" CViewSetup.
That's not a proper fix, but at least it works for now.
So if somebody have some fresh ideas - share them please :p
Note: don't use this workaround with previous one.

----------

1. Add CViewSetup g_View; before "void CViewRender::SetUpView()".

2. Add g_View = m_View; at the end of CViewRender::SetUpView().

3. Before "C_VGuiScreen::DrawModel" add
#include "view_shared.h"
#include "iviewrender.h"
extern CViewSetup g_View;

4. Replace code between "ComputePanelToWorld();" and "return 1;" with this:

        CMatRenderContextPtr pRenderContext( materials );
        pRenderContext->MatrixMode( MATERIAL_PROJECTION );
        pRenderContext->PushMatrix();
        CViewSetup viewModelSetup( g_View );
        viewModelSetup.zNear = g_View.zNearViewmodel;
        viewModelSetup.zFar = g_View.zFarViewmodel;
        viewModelSetup.fov = g_View.fovViewmodel;
        render->Push3DView( viewModelSetup, 0, NULL, view->GetFrustum() );
        pRenderContext->DepthRange( 0.0f, 0.1f );

        g_pMatSystemSurface->DrawPanelIn3DSpace( pPanel->GetVPanel(), 
m_PanelToWorld, 
                m_nPixelWidth, m_nPixelHeight, m_flWidth, m_flHeight );

        // Finally, a pass to set the z buffer...
        DrawScreenOverlay();

        pRenderContext->DepthRange( 0.0, 1.0 );
        render->PopView( view->GetFrustum() );
        pRenderContext->MatrixMode( MATERIAL_PROJECTION );
        pRenderContext->PopMatrix();

----------


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to