From 4bc399fe5640603e546543f9b29209b966fe189d Mon Sep 17 00:00:00 2001 From: Garux Date: Wed, 17 Apr 2019 13:57:59 +0300 Subject: [PATCH] optimize RenderableCamWorkzone --- radiant/camwindow.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/radiant/camwindow.cpp b/radiant/camwindow.cpp index f5d4f1aa..64d7fbc1 100644 --- a/radiant/camwindow.cpp +++ b/radiant/camwindow.cpp @@ -886,8 +886,8 @@ class RenderableCamWorkzone : public OpenGLRenderable { mutable Array m_verticesarr[3]; mutable Array m_edgearr[3]; - mutable Array m_colorarr0[3]; - mutable Array m_colorarr1[3]; + mutable Array m_colorarr0[3]; + mutable Array m_colorarr1[3]; public: void render( RenderStateFlags state ) const { glEnableClientState( GL_EDGE_FLAG_ARRAY ); @@ -917,8 +917,8 @@ void render( RenderStateFlags state ) const { Array& verticesarr( m_verticesarr[i] ); Array& edgearr( m_edgearr[i] ); - Array& colorarr0( m_colorarr0[i] ); - Array& colorarr1( m_colorarr1[i] ); + Array& colorarr0( m_colorarr0[i] ); + Array& colorarr1( m_colorarr1[i] ); if( verticesarr.size() < approx_count ){ verticesarr.resize( approx_count ); edgearr.resize( approx_count ); @@ -935,14 +935,14 @@ void render( RenderStateFlags state ) const { verticesarr[count][i] = verticesarr[count + 1][i] = coord; const float alpha = std::min( 1.f, static_cast( ( offset + bounds.extents[i] - fabs( coord - bounds.origin[i] ) ) / offset ) ); - colorarr0[count] = colorarr0[count + 1] = Vector4( 1, 0, 0, alpha ); - colorarr1[count] = colorarr1[count + 1] = Vector4( 1, 1, 1, alpha ); + colorarr0[count] = colorarr0[count + 1] = Colour4b( 255, 0, 0, alpha * 255 ); + colorarr1[count] = colorarr1[count + 1] = Colour4b( 255, 255, 255, alpha * 255 ); coord += grid; verticesarr[count + 2][i] = verticesarr[count + 3][i] = coord; const float alpha2 = std::min( 1.f, static_cast( ( offset + bounds.extents[i] - fabs( coord - bounds.origin[i] ) ) / offset ) ); - colorarr0[count + 2] = colorarr0[count + 3] = Vector4( 1, 0, 0, alpha2 ); - colorarr1[count + 2] = colorarr1[count + 3] = Vector4( 1, 1, 1, alpha2 ); + colorarr0[count + 2] = colorarr0[count + 3] = Colour4b( 255, 0, 0, alpha2 * 255 ); + colorarr1[count + 2] = colorarr1[count + 3] = Colour4b( 255, 255, 255, alpha2 * 255 ); coord += grid; edgearr[count] = edgearr[count + 2] = GL_FALSE; @@ -973,11 +973,11 @@ void render( RenderStateFlags state ) const { } glPolygonOffset( -2, 2 ); - glColorPointer( 4, GL_FLOAT, sizeof( Vector4 ), colorarr0.data()->data() ); + glColorPointer( 4, GL_UNSIGNED_BYTE, sizeof( Colour4b ), colorarr0.data() ); glDrawArrays( GL_QUADS, start0? 0 : 2, GLsizei( count - ( start0? 4 : 2 ) ) ); glPolygonOffset( 1, -1 ); - glColorPointer( 4, GL_FLOAT, sizeof( Vector4 ), colorarr1.data()->data() ); + glColorPointer( 4, GL_UNSIGNED_BYTE, sizeof( Colour4b ), colorarr1.data() ); glDrawArrays( GL_QUADS, start0? 2 : 0, GLsizei( count - ( start0? 2 : 4 ) ) ); } }