opengl- все статьи тега


X ошибка неудачного запроса: GLXBadFBConfig (opengl 4.3-ubuntu)

Я читаю последнюю версию руководства по программированию OpenGL, и она обновлена для OpenGL 4.3. Первый код, который они проходят, - это действительно простой код для создания 2 треугольников, и, конечно, это код, который я использую для тестирования OpenGL на моем latop (работает kubuntu). Код выполняется, но вот что происходит: X ошибка неудачного запроса: GLXBadFBConfig Основной код ошибки запроса: 153 (GLX) Незначительные операции невыполненных запросов: 34 () Серийный номер неуда ...

FBO: Отрисовка в текстуру, неверное отображение текстуры при рисовании отрисованной текстуры

Я использую OpengGL в приложении Mac OS X для рисования текстуры на NSOpenGLView. Приложение-это проигрыватель фильмов. Он декодирует кадры фильма в CVOpenGLTextureRef (которые являются текстурой OpenGL), и я рисую их непосредственно к виду, используя GL_QUAD. Все работает правильно. Ниже приводится соответствующая часть кодекса. // "image" is the CVOpenGLTextureRef containing the movie frame as texture GLenum textureTarget = CVOpenGLTextureGetTarget(image); GLuint textureName = CVOpenGLTextu ...

Обработка изменения размера окна с помощью OpenGL и SDL

Из кода программы, которая рисует и перемещает квадрат вокруг окна приложения, у меня возникли проблемы при изменении размера окна приложения. Когда я обрабатываю изменение размера и соответственно изменяю состояния, все на экране, что должно быть нарисовано и было до изменения размера, исчезает. Я понятия не имею, почему, потому что ни один из внутренних координат объектов не изменяется во время изменения размера окна. Мой вопрос заключается в том, может ли кто-нибудь указать мне правильное на ...

Как я могу создать свой собственный контекст openGL и привязать его к GLCanvas?

Поэтому, когда я взялся за java paint(Graphics g){} Метод я перешел к созданию собственных методов рендеринга, но мне пришлось узнать о буферных стратегиях и о том, как "получить" графику Итак, теперь я изучаю openGL, я должен справиться с методом: @Override public void display(GLAutoDrawable arg0){} И теперь я хотел бы создать свои собственные методы визуализации, до сих пор я постоянно сталкивался с одним исключением: Исключение в потоке" main " javax.средства массовой информаци ...

VBO медленнее, чем устаревший метод рисования примитивов - почему?

Я работаю над плиточным приложением OpenGL, C++. Я добавляю пример экрана из приложения, чтобы было более понятно: У меня есть класс Tile, который содержит массив Objects. каждая плитка может хранить до 15 объектов-пример этого Tile с зеленым и желтым квадратом на нем (два объекта), поэтому это 10x10x15 = 1500 Objects для рисования (в худшем случае, потому что я не обрабатываю "пустые"). Обычно это меньше, в моих тестированиях я использую около 600 из них. их. Object имеет свою собственную ...

OpenGL массив точек анимации

Я пытаюсь анимировать случайные точки, которые я создал, чтобы они перемещались по экрану и снова появлялись.код не является завершенной версией того, что у меня есть я опубликовал только то, что я думал, будет достаточно для этого вопроса может ли кто-нибудь помочь мне анимировать пункты void TimerFunc(int value) { xpos[0]=xpos[0]+0.25; glutPostRedisplay(); glutTimerFunc(25, TimerFunc, 1); } struct Point { float rship; }; std::vector< Point > points; void display(void) { glCle ...

Размер 3D текстуры, влияющий на вывод программы без возникновения ошибки

Во-первых, я использую glDebugMessage() вместо glGetError() для определения ошибок. Во-вторых, я выделяю хранилище 3D-текстур следующим образом: glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA32F, 512, 512, 303, 0, GL_RGBA, GL_FLOAT, NULL); Когда сопонент глубины равен 303 или меньше, моя программа работает точно так, как ожидалось (я выделяю цвет в текстуре и вижу этот цвет в качестве выходного), когда этот параметр равен 304 или выше, программа не работает (экран черный). Я тестировал одну и ту ж ...

OpenGL альтернативы GLEW, который имеет определенные аргументы или решение для него

Поэтому я опубликовал вопрос, аналогичный этому в stackoverflow, но решение казалось, что его можно решить более простым решением. В основном, я использую GLEW для загрузки моих заголовочных файлов OpenGL и т. д., без проблем, но поскольку я использую VIM и Clang_Complete для завершения аргумента, я застрял с тем, чтобы иметь только имя завершено и не иметь никаких аргументов на самом деле показано. Поскольку, по-видимому, функции определяются как #define FOO somefunction И не определен ка ...

зачем нам нужна 3D или даже 4d текстура?

Обычно мы используем изображение, чтобы текстурировать карту на поверхность? недавно я услышал, что есть 3d-текстура или даже 4D текстура, мне интересно, почему есть 3D-4d текстура? Как вывести их на поверхность. Поскольку поверхность-это 2d-концепция, как отобразить 3d или 4d объект в 2d? Есть какая-то причина? Есть ли какие-либо изображения 3d-текстур, которые можно попробовать? ...

Оптимизация рендеринга OpenGL quad

Я рисую квадроциклы в openGL. Мой вопрос заключается в том, есть ли какой-либо дополнительный прирост производительности от этого: // Method #1 glBegin(GL_QUADS); // Define vertices for 10 quads glEnd(); ... над выполнением этого для каждого из 10 квадроциклов: // Method #2 glBegin(GL_QUADS); // Define vertices for first quad glEnd(); glBegin(GL_QUADS); // Define vertices for second quad glEnd(); //etc... В этом случае все квадроциклы используют одну и ту же текстуру. ...

Opengl pixel perfect 2D рисунок

Я работаю над 2d-движком. Это уже работает довольно хорошо, но я продолжаю получать пиксельные ошибки. Например, мое окно имеет размер 960x540 пикселей, я провожу линию от (0, 0) до (959, 0). Я ожидал бы, что каждый пиксель на scan-line 0 будет установлен в цвет, но нет: самый правый пиксель не рисуется. Та же проблема, когда я рисую вертикально до пикселя 539. Мне действительно нужно нарисовать (960, 0) или (0, 540), чтобы он был нарисован. Поскольку я родился в пиксель-эру, я убежден, что эт ...

Не удается переместить камеру с помощью команд клавиатуры в qt opengl

Я пытаюсь реализовать игру с использованием opengl в qt4. До сих пор я создал футбольное поле, и теперь я пытаюсь реализовать камеру, с помощью которой пользователь может свободно перемещаться по миру, используя клавиши со стрелками. Мой друг использовал фрагмент кода, который он нашел в учебниках Нехе, и просто скопировал его в свой код, и камера работала на него. Когда я попробовал то же самое, работает только кнопка escape, и она просто закрывает виджет opengl. клавиша f1 должна переключаться ...

Почему rubygame и gosu медленнее, чем чистый opengl?

Я ищу хороший графический фреймворк, чтобы сделать хорошую 2D-игру в Ruby. Я сделал 3 очень простых теста, чтобы увидеть, какой графический фреймворк Ruby быстрее между Gosu и Rubygame. Тест создает 1000 экземпляров класса "Квадрат", которые перемещаются и рисуют Красный квадрат самым простым способом, используя метод фреймворка. 3-й тест - то же самое, но в чистой реализации OpenGL (без каких-либо рамок). Вот результаты : Чистый OPENGL (с использованием ruby-opengl) 80 кадров в секунду : alt ...

Хранение и загрузка матриц в OpenGL

Можно ли сказать OpenGL хранить текущую матрицу преобразования в определенном месте (вместо того, чтобы помещать ее в стек) и загружать матрицу из определенного места? Я предпочитаю решение, которое не предполагает дополнительной передачи данных между видеоустройством и основной памятью (т. е. лучше хранить матрицу где-то в видеопамяти). ...

Обновление данных вершин в VBO (glBufferSubData vs glMapBuffer)

Я хочу обновить список вершин объекта после создания VBO. Я видел и glBufferSubData, и glMapBuffer, и они оба, похоже, делают похожие вещи, что означает, что я теперь не уверен, какой из них использовать. Мой псевдо рабочий процесс: Создать объект Begin vertex update (вызывает glBufferData с data = nullptr) Обновить вершины объекта End vertex update (принимает обновленные вершины и либо вызывает glBufferSubData, либо glMapBuffer) ...

непредсказуемые ошибки с плавающей запятой при разложении матрицы

Я пытаюсь разложить матрицу перспектив на ближние и дальние расстояния, используя следующую формулу: near = m32 / (m22 - 1); far = m32 / (m22 + 1); Здесь параметры теста перспективной матрицы: aspect = 0.782f; fovy = glm_rad(49.984f); nearDist = 0.1550385f; farDist = 6000.340975f; glm_perspective(fovy, aspect, nearDist, farDist, proj); Вот что я делаю, чтобы получить ближние и дальние значения (proj-это матрица с большим столбцом): far = proj[3][2] / (proj[2][2] + 1 ...

OpenGL-как получить доступ к значениям буфера глубины? - Или: гленкорд.Z и оказание глубина текстуры

Я хочу получить доступ к значению буфера глубины в текущем обрабатываемом пикселе в шейдере пикселей. Как мы можем достичь этой цели? В принципе, есть два варианта: рендеринг глубины в текстуру. Как мы можем это сделать и в чем заключается компромисс? Используйте значение, предоставленное gl_FragCoord.з-но: это правильное значение? ...

Вычисление нормалей для карты высот

У меня есть небольшая проблема с вычислением нормалей для моей карты высоты. У него странное поведение. В верхней и нижней точках нормали хороши, но в середине они кажутся неправильными. Они освещаются точечным светом. НЕЗАФИКСИРОВАННЫЙ ИСТОЧНИК УДАЛЕН Править: Попробовал 2 новых подхода: Это в лицо-нормально. Это выглядит прекрасно, но вы видите одинокие лица. Position normal = crossP(vectorize(pOL, pUR), vectorize(pOR, pUL)); Я также пытался сделать это для каждой вершины таким образо ...

Преобразование системы координат для модели FBX в OpenGL

Я загружаю модели FBX с помощью Autodesk FBX SDK2013.Модели по умолчанию поворачиваются на 90 градусов по оси X. SDK предоставляет этот метод: FbxAxisSystem::OpenGL.ConvertScene(scene); Для выполнения преобразования оси.Но это не работает.Вызов его ничего не меняет.Более того, похоже, что экспортер FBX по умолчанию использует OpenGL right hand sytem,по крайней мере, так он говорит при импорте: FbxAxisSystem fbxAxis = scene->GetGlobalSettings().GetAxisSystem(); if (fbx ...

Тройная буферизация SDL

Можно ли настроить SDL для тройной буферизации ? Если да,то как это сделать, так как SDL имеют только константу SDL_DOUBLEBUF. ...