Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- m_materialsLocation = glGetUniformBlockIndex(m_program.id(), "MaterialsBlock");
- GLint blockSize;
- std::vector<const GLchar *> names({
- "u_materials",
- "u_materials.materials",
- "u_materials.materials[0]",
- "u_materials.materials.ambientTexture",
- "u_materials.materials[0].ambientTexture",
- "MaterialsBlock.materials",
- "MaterialsBlock.materials[0]",
- "MaterialsBlock.materials.ambientTexture",
- "MaterialsBlock.materials[0].ambientTexture",
- "materials",
- "materials[0]",
- "materials.ambientTexture",
- "materials[0].ambientTexture",
- });
- std::vector<GLuint> indices(names.size());
- std::vector<GLint> offsets(names.size());
- glGetActiveUniformBlockiv(m_program.id(), m_materialsLocation, GL_UNIFORM_BLOCK_DATA_SIZE, &blockSize);
- glGetUniformIndices(m_program.id(), names.size(), names.data(), indices.data());
- glGetActiveUniformsiv(m_program.id(), indices.size(), indices.data(), GL_UNIFORM_OFFSET, offsets.data());
- for (int i = 0; i < names.size(); ++i) {
- std::cout << names[i] << ": " << indices[i] << " offset " << offsets[i] << std::endl;
- }
- std::cout << "Materials block size " << blockSize << std::endl;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement