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 | } |