Сущности не имеют цвета [закрыто]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Сущности не имеют цвета [закрыто]

Сообщение Anonymous »


Я создаю класс Entity и класс Triangle, которые наследуются от класса Entity. Треугольники генерируются, но у них нет цвета.

Ссылка на MRE — https://github.com/pr0s3q/OpenGL_MRE

Это код: Entity.h

#pragma один раз #include класс Сущность { публика: Entity (беззнаковый счетчик, беззнаковый режим); статическая сила CheckShaderCompilation (беззнаковый шейдер); статическая пустота CheckProgramLinking (неподписанная программа); static void CheckOpenGLError(const char* контрольная точка); виртуальная пустота Цвет() = 0; недействительный цикл(); защищено: ~Сущность(); беззнаковый интервал m_count; беззнаковый интервал m_mode; беззнаковый интервал m_VAO; беззнаковый интервал m_VBO; std::vector m_colors; статический const char* m_vertexShaderSource; статический const char* m_fragmentShaderSource; статический беззнаковый int m_fragmentShader; статический беззнаковый int m_vertexShader; статический беззнаковый int m_shaderProgram; }; Entity.cpp

#include #include #include беззнаковый int Entity::m_shaderProgram = 0; const char* Entity::m_vertexShaderSource = nullptr; const char* Entity::m_fragmentShaderSource = nullptr; беззнаковый int Entity::m_fragmentShader = 0; беззнаковое целое Entity::m_vertexShader = 0; Entity::Entity(const unsigned int count, режим const unsigned int) : m_count(счет), m_mode(режим), m_VAO(0), m_VBO(0) { } Сущность::~Entity() { glDeleteVertexArrays (1, &m_VAO); glDeleteBuffers (1, &m_VBO); glDeleteProgram (m_shaderProgram); } пустота Entity::Loop() { glUseProgram (m_shaderProgram); CheckProgramLinking (m_shaderProgram); Цвет(); glBindVertexArray (m_VAO); CheckOpenGLError("Перед розыгрышем"); glDrawArrays(m_mode, 0, m_count); } // Функция проверки статуса компиляции шейдера void Entity::CheckShaderCompilation(const беззнаковый int шейдер) { международный успех; glGetShaderiv (шейдер, GL_COMPILE_STATUS, & успех); если (!успех) { символ infoLog[512]; glGetShaderInfoLog (шейдер, 512, nullptr, infoLog); std::cerr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»