X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=libs%2Frender.h;h=a62be32f0312bcbaca843be2e7e21c7073193506;hb=refs%2Fheads%2FTimePath%2Fdevelop;hp=b53612bf11621d78f6fe28f8d14c1eba244ccdf9;hpb=3c73487420fde8d4a3b5360d8b99e48132517900;p=xonotic%2Fnetradiant.git diff --git a/libs/render.h b/libs/render.h index b53612bf..a62be32f 100644 --- a/libs/render.h +++ b/libs/render.h @@ -171,7 +171,7 @@ RenderIndex m_prev0; RenderIndex m_prev1; RenderIndex m_prev2; -const RenderIndex find_or_insert( const Vertex& vertex ){ +RenderIndex find_or_insert( const Vertex& vertex ){ RenderIndex index = 0; while ( 1 ) @@ -821,7 +821,7 @@ inline ArbitraryMeshVertex arbitrarymeshvertex_quantised( const ArbitraryMeshVer /// \brief Sets up the OpenGL colour and vertex arrays for \p array. -inline void pointvertex_gl_array( const PointVertex* array ){ +inline void pointvertex_gl_array( OpenGLBinding &GL, const PointVertex* array ){ glColorPointer( 4, GL_UNSIGNED_BYTE, sizeof( PointVertex ), &array->colour ); glVertexPointer( 3, GL_FLOAT, sizeof( PointVertex ), &array->vertex ); } @@ -834,14 +834,14 @@ public: RenderablePointArray( const Array& array, GLenum mode ) : m_array( array ), m_mode( mode ){ } -void render( RenderStateFlags state ) const { +void render( OpenGLBinding &GL, RenderStateFlags state ) const { #define NV_DRIVER_BUG 1 #if NV_DRIVER_BUG glColorPointer( 4, GL_UNSIGNED_BYTE, 0, 0 ); glVertexPointer( 3, GL_FLOAT, 0, 0 ); glDrawArrays( GL_TRIANGLE_FAN, 0, 0 ); #endif - pointvertex_gl_array( m_array.data() ); + pointvertex_gl_array( GL, m_array.data() ); glDrawArrays( m_mode, 0, GLsizei( m_array.size() ) ); } }; @@ -855,8 +855,8 @@ RenderablePointVector( GLenum mode ) : m_mode( mode ){ } -void render( RenderStateFlags state ) const { - pointvertex_gl_array( &m_vector.front() ); +void render( OpenGLBinding &GL, RenderStateFlags state ) const { + pointvertex_gl_array( GL, &m_vector.front() ); glDrawArrays( m_mode, 0, GLsizei( m_vector.size() ) ); } @@ -887,8 +887,8 @@ RenderableVertexBuffer( GLenum mode, const VertexBuffer& vertices ) : m_mode( mode ), m_vertices( vertices ){ } -void render( RenderStateFlags state ) const { - pointvertex_gl_array( m_vertices.data() ); +void render( OpenGLBinding &GL, RenderStateFlags state ) const { + pointvertex_gl_array( GL, m_vertices.data() ); glDrawArrays( m_mode, 0, m_vertices.size() ); } }; @@ -903,9 +903,9 @@ RenderableIndexBuffer( GLenum mode, const IndexBuffer& indices, const VertexBuff : m_mode( mode ), m_indices( indices ), m_vertices( vertices ){ } -void render( RenderStateFlags state ) const { +void render( OpenGLBinding &GL, RenderStateFlags state ) const { #if 1 - pointvertex_gl_array( m_vertices.data() ); + pointvertex_gl_array( GL, m_vertices.data() ); glDrawElements( m_mode, GLsizei( m_indices.size() ), RenderIndexTypeID, m_indices.data() ); #else glBegin( m_mode );