View difference between Paste ID: jTafh7ia and
SHOW: | | - or go back to the newest paste.
1-
1+
bool Batch::loadNormalData( GLfloat* normals, unsigned num_elements )
2
{
3
    // See commenting in loadPositionData
4
5
    if( m_NormalBuffer != 0 )
6
        glDeleteBuffers( 1, &m_NormalBuffer );
7
8
    if( m_VAO == 0 )
9
    {
10
        if( !genVAO( ) )
11
            return false;
12
    }
13
14
    if( m_NormalBuffer == 0 )
15
    {
16
        std::stringstream stream;
17
        stream << "Failed to generate m_NormalBuffer in batch '"  
18
				<< ( m_IDString.empty( ) ? "ID_NOT_SET" : m_IDString ) << "'";
19
        m_ErrorString = stream.str( );
20
21
        return false;
22
	}
23
24
	glBindVertexArray( m_VAO );
25
	glEnableVertexAttribArray( ToolBox::Math::GLSL_ATTR::NORMAL );
26
	glBindBuffer( GL_ARRAY_BUFFER, m_NormalBuffer );
27
	glBufferData( GL_ARRAY_BUFFER, sizeof( GLfloat ) * num_elements, normals, GL_STATIC_DRAW );
28
	glVertexAttribPointer( ToolBox::Math::GLSL_ATTR::NORMAL, 3, GL_FLOAT, GL_FALSE, 0, ( const GLvoid* )0 );
29
	glBindVertexArray( 0 );
30
	glBindBuffer( GL_ARRAY_BUFFER, 0 );
31
32
	return true;
33
}