Популярные вопросы по тегу OPENGL

VAO и объекты буфера элементов

... ader shader("..path_to_shader\\shaders\\vertexshader.vert", "..path_to_shader\\shaders\\fragmentshader.frag"); while (!glfwWindowShouldClose(window)) { glUseProgram(shader.Program()); glBindVertexArray(VAO); //Bind the VAO to draw. glClearBufferfv(GL_COLOR, 0, &color[0]); glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, nullptr); gl ...

PyQt OpenGL: рисование простых сцен

... тв, я смог выполнить только this. Вот 6 код: x import sys import math from PyQt4 import QtCore, QtGui, QtOpenGL try: from OpenGL import GL except ImportError: app = QtGui.QApplication(sys.argv) QtGui.QMessageBox.critical(None, "OpenGL hellogl", ...

Зачем использовать библиотеку glad для инициализации opengl?

... ot;). У 9 меня следующий вопрос: Действительно ли компилятор 8 не может получить адреса функций Opengl 7 из файлов .obj, связанных с GL, которые 6 я указываю в настройках компоновщика Visual 5 Studio? Мне действительно нужно использовать 4 подпрограмму wglGetProcAddress для обращения к функциям OpenGL? Можно 3 ли использовать функции OpenGL, как любые 2 другие функци ...

Шейдер GLSL: интерполяция между более чем двумя текстурами

... аю интерполяцию 7 между белой «ледяной» и более темной «каменной» текстурой. Делается 6 это так: color = mix(texture2D(ice_layer_tex, texcoord), texture2D(stone_layer_tex, texcoord), (vertex.y + amplitude) / (amplitude * 2)) Результат: Он работает ...

GLFW получить высоту / ширину экрана?

... пилируется с использованием mingw32 6 4.6.2. Однако у меня возникают трудности 5 при попытке разместить окно по центру экрана. Под 4 freeglut я ранее использовал: glutInitWindowPosition ( (glutGet(GLUT_SCREEN_WIDTH)-RES_X) / 2, (glutGet(GLUT_SCREEN_HEIGHT)-RES_Y) / 2 ); Я не могу н ...

Как включить вертикальную синхронизацию в opengl?

... о 4 что-то простое, например glEnable(GL_VSYNC)? (хотя в опциях, которые 3 принимает glEnable, нет такой вещи, как 2 GL_VSYNC и ...

Преобразовать вращение кватерниона в матрицу вращения?

... я кватерион (qx, qy, qz, qw) ... Как 5 я могу преобразовать это в матрицу вращения 4 OpenGL? Меня также интересует, какая строка 3 матр ...

Как начать писать музыкальный визуализатор на C++?

... дсказать 2 мне, какие элементы мне понадобятся и как 1 я должен эт ...

Сколько MIP-карт в текстуре в OpenGL

... E_2D, GL_TEXTURE_MAX_LEVEL, &max_level ); int max_mipmap = -1; for ( int i = 0; i < max_level; ++i ) { int width; glGetTexLevelParameter( GL_TEXTURE_2D, i, GL_TEXTURE_WIDTH, &width ); if ( 0 == width ) { max_mipmap = i-1; break; } ) В любом 5 случае, glGetTexLevelParamet ...

Разница между форматом и внутренним форматом

... , но не мог этого 7 понять. В чем разница между внутренним форматом текстуры и форматом в вызове типа glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 32, 32, 0, GL_RGBA, GL_UNSIGNED_BYTE, data); ? Предположим, что data - это массив значений 6 размером 32 x 32 пикселя, где на каж ...

Как пересчитать выровненную по оси ограничительную рамку после перевода / поворота?

... ounds[1].y, box.bounds[1].z); glVertex3f(box.bounds[2].x, box.bounds[2].y, box.bounds[2].z); glVertex3f(box.bounds[3].x, box.bounds[3].y, box.bounds[3].z); glEnd(); glBegin(GL_LINE_LOOP); glVertex3f(box.bounds[4]. ...

Как нарисовать линию в OpenGl?

... очу нарисовать линию в opengl. glBegin(GL_LINES); glVertex2f(.25,0.25); glVertex2f(.75,.75); glEnd(); этот код ...

Плоский квалификатор в glsl?

... GL» и в разделе, где они преподавали 8 материальное освещение, они внезапно использовали 7 квалификатор «плоский» для входной переменной 6 во фрагментном шейдере. Я погуглил, и все, что 5 я придумал, это «плоское затенение» и «плавное 4 затенение» и разли ...

Что означает «немедленный режим» в OpenGL?

... не нужно использовать 2 немедленный режим вместо сохраненного режима? Каковы 1 плюсы и минусы к ...

Установите SDL2 в Mac

... е могу включить там разрешение на запись. Это мой личный макинтош. Я не уверен, что происходит. Я попытался скопировать его с помощью «sudo ~ / Downloads / SDL * / System / Library / Framework», но это не сработало. Я использую следующую команду 3 для компиляции простого кода opengl: g++ test.cpp glad/glad.c -I/Library/Frameworks/SDL2.framework/Headers -F/Library/Frameworks -framework SDL2 Кто-нибудь 2 может мне помочь? Не уверен, что мне ...

Что такое текстура с плавающей запятой?

... … И как данные с плавающей запятой связаны 3 с обычными 8-битными данными RGBA или RGB 2 на канал из изображения, кот ...

Предупреждение: поврежден .drectve в конце файла def

... 7 работает нормально, но мне не нравится предупреждение 6 в консоли вывода eclipse: Предупреждение: поврежден 5 .drectve в конце файла def Как исправить 4 и скрыть это предупреждени ...

Как мне всегда держать объект перед всем остальным в OpenGL?

... ка). Если я смотрю вверх, он 7 работает нормально, если я смотрю вниз, он 6 обрезается наземной плоскостью. Поиск: http://i.stack.imgur.com/Q0i6g.png Глядя 5 вниз: http://i.stack.imgur.com/D5LIx.png Функция, которую я вызы ...

C++ OpenGL, GLFW Рисование простого куба

... reate its OpenGL context window = glfwCreateWindow(resX, resY, gameTitle, NULL, NULL); if(window == NULL) { fprintf(stderr, "Failed to open GLFW window.\n"); glfwTerminate(); return false; } glfwMakeContextCurrent(window); glfwSetKeyCallback(window ...

Как нарисовать плавную линию в OpenGL со сглаживанием?

... 1 вот что я сделал: glEnable( GL_LINE_SMOOTH ); glEnable( GL_POLYGON_SMOOTH ); glHint( GL_LINE_SMOOTH_HINT, GL_NICEST ); glHint( GL_POLYGON_SMOOTH_HINT, GL_NICEST ); glBegin( GL_LIN ...

Какова роль glBindVertexArrays против glBindBuffer и каковы их отношения?

... в коде, которую я не 25 совсем понимаю, и я хотел бы разобраться 24 в этих строках, прежде чем я двигаться дальше. GLuint abuffer; glGenVertexArrays(1, &abuffer); glBindVertexArray(abuffer); GLuint buffer; glGenBuffers(1, &buffer); glBindBuffer(GL_ARRAY_BUFFER, buffer); glBufferData(GL_ARRAY_BUFFER, sizeof(points), points, GL_STATIC_DRAW); В 23 книге объясняется, что первые три строки 22 создают объект массива ...

Заставляют машину использовать выделенную видеокарту?

... тывающей 8 приложение на C++ с SDL и OpenGL. На ноутбуках, когда 7 приложение запущено, выделенная видеокарта 6 не используется, и контекст GL не создается, потому 5 что встроенная видеокарта не поддерживает 4 нужную нам версию GL. Мне кажет ...

Поле зрения + Соотношение сторон + Матрица обзора из матрицы проекции (калибровка HMD OST)

... , которую 15 я использую, принимает только параметры 14 оптической калибровки в формате Поле обзора какой-то параметр + Соотношение сторон какой-то параметр + 4x4 Просмотр матрица. Вот что 13 у меня есть: Правильный результат калибро ...

Использование объектов массива вершин и объектов буфера вершин

... для куба - массив, содержащий 4 данные текстуры. У меня вопрос: как использовать VAO и VBO для создания и визуализации этих двух? Придется ли мне создавать VAO и VBO для каждого объекта? или следует создать VAO для каждого VBO объекта (вершины, данные текстуры и т. д.)? Есть много 3 учебных пособий и книг, но я ...

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

... нию буфера 3 глубины для текущего обрабатываемого пикселя 2 в пиксельном шейдере. Как достичь этой цели? В 1 принципе, есть два варианта: Придайте текстуре глубину. Как мы можем это сделать ...

Не удается запустить OpenGL на WSL2

... ow* window = glfwCreateWindow(1280, 720, "InitGL", nullptr, nullptr); if (!window) { fprintf(stderr, "Unable to create GLFW window\n"); glfwTerminate(); return nullptr; } glfwMakeContextCurrent(window); .... return window; } .... GLFWwindow* window = initialize(); Я использую VcxSrv в качестве 2 своего X-сервера. Ниже приведены результаты 1 для glxinfo dir ...

Зачем нам СПИР-В?

... й и графики в исходном формате. Из 10 this image я вижу, что все языки высокого уровня, такие 9 как GLSL, HLSL, OpenCL C и т. д., компилируются 8 в SPIR-V и таким образом передаются на правильное 7 физическое устройство для выполнения. Мой вопрос: почему 6 нам нужно компилировать наш шейдерный код 5 / ​​код ядра в SPIR-V, а не ...

glm :: vec3 и сравнение epsilon

... ... Но потом я узнал об epsilon, поэтому 3 мой вопрос в том, есть ли более быстрый 2 (более читаемый) способ выполнить эту проверку, чем 1 явное сравнение ...

Индексирование GLSL в единый массив переменной длины

... фиксированным 8 числом (числовая константа) ИЛИ я могу определить 7 массив и индекс фиксированной длины, используя 6 переменную. Однако я не могу индексировать 5 массив переменной длины с помощью переменной. Ниже 4 приведен псевдокод для геометрического шейдера 3 с работающими и неработающими случаями Это 2 работает: ...

Отключение предупреждений OpenGL в macOS Mojave

... acOS 10.14 - OpenGL API устарел. (Определите 5 GL_SILENCE_DEPRECATION, чтобы заглушить 4 эти предупреждения) Я сд ...

OpenGL перевернуть или отразить рисованный объект

... уть, а не отразить вверх 3 / влево ОБЪЕКТ изображения, а не экран в 2 методе onDraw? Я пробовал масштабировать 1 (1, -1, 1), но это не сработало мой код: opengl.selectVertex(vertexname) .translate(x-1, y, -9); if (opengl.getPathModifier(vertexname).getAngle()>-180 && opengl.getPathModifier(vertexname).getAngle()<0 ) { ...

Компиляция OpenGL программы GL / glew.h отсутствует

... orial. Я пытаюсь скомпилировать программу, использующую 5 OpenGL, но получаю ошибку компиляции: fatal error: GL/glew.h: No such file or directory. Я 4 проверяю папку / usr / include / GL, и действительно, glew.h 3 отсутствует. Я не знаю, почему он отсутствует, потому 2 что я выполнил команду sudo apt-get install libglew1.5, и она дает результат: Reading package lists... Done Building de ...

glPolygonMode (GL_FRONT_AND_BACK, GL_LINES) не работает

... ; glVertex3i(1, -1, 0); glVertex3i(1, -1, -25); glVertex3i(-1, -1, -25); glEnd(); glEndList(); Макрос 19 glColor3c: #define glColor3c(r, g, b) glColor3f(r / 255, g / 255, b / 255) Я ожидаю получить плоскость голубого 18 цвета с черной рамкой вокруг нее, но все, что 17 происходит, - это то, что во второй раз, когда ...

Действительно ли glm :: ortho() ошибочна?

... я подумал, что было бы неплохо отказаться 25 от старых (устаревших) функций, которые 24 предоставляет OpenGL, таких как матричные 23 операции и фиксированный конвейер функций. Я 22 использую GLM в качестве библиотеки матриц, чтобы 21 немного упростить задачу. Проблема в том, что 20 это могло вызвать больше проблем, чем упростить 19 ... Перспективные проекции отлично работали 18 с моими шейдерами и настройками, но когда 17 я попытался ...

Зачем нужно перспективное деление?

... аты устройства. Но 3 я не могу понять, для чего это нужно. Кроме 2 того, имеет ли это какое-то отношение ...

opengl glLineWidth() не меняет размер строк

... тся вообще. Как 1 я могу правильно использовать glLineWidth? void drawRect(Rectangle &rect) { double x1 = rect.min.x; double y1 = rect.min.y; double x2 = rect.max.x; double y2 = rect.max ...

Как glDrawArrays знает, что рисовать?

... ume we're talking about GL_ARRAY_BUFFER? glDrawArrays(GL_POINTS, 0, 1); //Draw the vertices, once again how does this know which vertices to draw? (Does it always use the ones in GL_ARRAY_BUFFER) glDisableVertexAttribArray(0); //? glBindBuffer(GL_ARRAY_BUFFER, 0); //Unbind Я не понимаю, как glDrawArrays знает, какие 2 вершины рисовать и что нужно делать с glEnableVertexAttribArray. Может 1 кто-нибудь пролить свет ...

OpenGL ES против OpenGL

... а между OpenGL ES и Open ...

Рисование сферы в OpenGL без использования gluSphere()?

... д для рисования 8 сферы по адресу this site, но он не объясняет математику 7 рисования сферы. У меня также есть другие 6 версии того, как рисовать сферу в многоугольнике 5 вместо четырехугольника в этой ссылке. Но 4 опять же, я не понимаю, как с помощью кода 3 рисуются сферы. Я хочу иметь возможность 2 визуализировать, чт ...

C++ bad_alloc в исключении области памяти

... SGP.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x0019ec84.. First-chance exception at 0x758cd36f in OSGP.exe: Microsoft C++ exception: [rethrow] at memory location 0x00000000.. The thread 'Win32 Thread' (0x16dc) has exited with code 0 (0x0). The program '[448] OSGP.exe: Native' has exited with code 0 (0x0).** Вот код: #include <osgDB/ReadFile> #include <osgViewer/Viewer> #include <new& ...

Как исправить неопределенную ссылку на символ 'dlclose @@ GLIBC_2.2.5' из glad.c

... keFiles / gltuto.dir / src 9 / glad.c.o -o gltuto /usr/lib/libglfw.so.3.3 8 &&: / usr / bin / ld: CMakeFiles 7 / gltuto.dir / src / glad.c.o: неопределенная 6 ссылка на символ 'dlclose @@ GLIBC_2.2.5' / usr 5 / bin / ld: /usr/lib/libdl.so.2: ошибка 4 добавления символов: DSO отсутствует в командной 3 строке collect2: error: ld вернул 1 статус 2 выхода ninja: сборка остановл ...

Использование glm rotate в Opengl

... ,4.0f, -25.0f)); //MODEL glm::mat4 Model = glm::mat4(1.0); //Scale by factor 0.5 Model = glm::scale(glm::mat4(1.0f),glm::vec3(0.5f)); glm::mat4 MVP = Projection * View * Model; glUniformMatrix4fv(glGetUniformLocation(shaderprogram_spaceship, "MVP_matrix"), 1, GL_FALSE, glm::value_ptr(MVP)); glClearColor(0.0, 0.0, 0.0, 1.0); glDrawArrays(GL_LINE_STRIP, start_cone, end_cone ); Показан 3 не ...

Будет ли SDL Renderer бесполезен, если я использую opengl для рисования?

... ttom right sprite gSpriteSheetTexture.render( SCREEN_WIDTH - gSpriteClips[ 3 ].w, SCREEN_HEIGHT - gSpriteClips[ 3 ].h, &gSpriteClips[ 3 ] ); //Update screen SDL_RenderPresent( gRenderer ); Я понимаю, что происходит, но теперь, когда 11 я не могу использовать средство визуализации 10 sdl, как мне сделать то же самое? Могу ли 9 я сейчас не использовать какие-либо функции 8 ...

Как проверить, находится ли точка в тетраэдре или нет?

... т, как 5 это сделать? Я попытался определить принадлежность 4 точки к каждому треугольнику тетраэ ...

Как рисовать при изменении размера окна GLFW?

... GLFWwindow* window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "learning opengl", NULL, NULL); if (window == NULL) { std::cout << "Failed to create GLFW window" << std::endl; glfwTerminate(); exit(1); } glfwMakeContextCurrent(window); glfwSetFramebufferSizeCallback(window, framebuff ...

glm объединяет вращение и перевод

... инга я делаю это. pvm = projectionMatrix*viewMatrix*modelmatrix; glUniformMatrix4fv(pvmMatrixUniformLocation, 1, GL_FALSE, glm::value_ptr(pvm)); ..и 10 визуализировать ... К сожалению, объект просто 9 вращается вокруг исходной точки, когда я 8 применяю поворот (чем дальше «позиция» от 7 исходной точки, тем больше орбита). Когда 6 я подаю заявку только на должность, переводится 5 нормально. Когда я применяю только вращение, он 4 остается ...

Получение истинного значения z из буфера глубины

... значения от 0 до 4 1. Учитывая ближнюю и дальнюю плоскости 3 отсечения камеры, как мне рассчитать истинное 2 зна ...

OpenGL без видеокарты

... компьютере без видеокарты? (например, м ...

Как я могу изменить размер существующих текстурных вложений в моем фреймбуфере?

... ТЬ3 Here, у кого-то была такая же проблема. Я 17 обнаружил, что текстура правильно отображается 16 в FBO, но отображается в неправильном размере. Это 15 выглядело так, как если бы в первый раз 14 текстура была отправлена ​​в кадровый буфер 13 по умолчанию, размер тек ...

Установка окна GLFW без изменения размера

... пробовал: glfwWindowHint(GLFW_RESIZABLE, GL_FALSE) Возможно 6 ли это? Один из способов сделать это, о 5 котором я подумал, заключался в использовании 4 функции onResize, которая изменяет размер 3 окна обратно на текущий размер после того, как 2 он был установлен без изменения размера. Это 1 кажется очень ха ...