Почему запуск программы шейдера запускает множественную ошибку OpenGL?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему запуск программы шейдера запускает множественную ошибку OpenGL?

Сообщение Anonymous »

Когда я проверяю ошибки, я получаю ошибки низкого уровня, такие как gl_invalid_operation, gl_stack_overflow, gl_stack_underflow, gl_out_of_memory и gl_invalid_framebuffer_operation. Это когда -либо происходило только тогда, когда я называю Gluseprogram (PRG); . Я использую библиотеку GLM для обработки математики, включая матрицы, поэтому нет никаких понятных причин для меня, почему я получаю эти странные ошибки. Мои шейдеры используют класс шейдеров (см. Bellow.) < /P>

Код: Выделить всё

#pragma once
#include 
#include 
#include 
#include 
#include 
#include 

using namespace std;

class Shader {
public:
unsigned int prg;
GLenum error = glGetError();

Shader(const char* verti, const char* frag) {
string vertiSrc, fragSrc;
ifstream vertiFile;
ifstream fragFile;

//check to see if we can throw exceptions
vertiFile.exceptions(ifstream::failbit | ifstream::badbit);
fragFile.exceptions(ifstream::failbit | ifstream::badbit);

try {
vertiFile.open(verti);
fragFile.open(frag);

stringstream vertiStream, fragStream;

//have file contents go into streams
vertiStream 

Подробнее здесь: [url]https://stackoverflow.com/questions/79777083/why-does-running-a-shader-program-trigger-multiple-opengl-error[/url]
Ответить

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

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

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

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

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