Вопросы с тегом «opengl»

По вопросам, связанным с использованием графической библиотеки OpenGL.

9
Должны ли новые графические программисты изучать Vulkan вместо OpenGL?
Из вики : «Vulkan API изначально упоминался как« инициатива OpenGL следующего поколения »от Khrono», и что это « основополагающая попытка редизайна объединить OpenGL и OpenGL ES в один общий API, который не будет обратным» совместим с существующими версиями OpenGL ". Так стоит ли лучше изучать Vulkan вместо OpenGL тем, кто …
53 opengl  api  vulkan 

6
Как я могу отлаживать шейдеры GLSL?
При написании нетривиальных шейдеров (как и при написании любого другого нетривиального кода) люди делают ошибки. [цитата нужна] Однако я не могу просто отладить его, как любой другой код - вы не можете просто присоединить GDB или отладчик Visual Studio в конце концов. Вы даже не можете выполнять отладку printf, потому …
45 opengl  glsl  debugging 

1
Что означает «st» в контексте OpenGL?
Я видел этот термин stнесколько раз, когда смотрел на другие фрагментные шейдеры OpenGL. Тем не менее, я не знаю, что это означает или для чего он используется. Вот пример: uniform vec2 u_resolution; vec2 st = gl_FragCoord.xy/u_resolution; Я могу понять, что это преобразование координат пикселей в нормализованные координаты 0,0 - 1,0 …
19 opengl 

2
Что такое fwidth и как он работает?
В документации OpenGL говорится, что fwidth returns the sum of the absolute value of derivatives in x and y. Что это означает в менее математических терминах, и есть ли способ визуализировать это? Основываясь на моем понимании функции, fwidth(p)имеет доступ к значению pв соседних пикселях. Как это работает на графическом процессоре …
18 opengl 

3
Как я могу отладить то, что отображается в объекте буфера кадра в OpenGL?
У меня есть облако точек, которое отображается на экране. Каждая точка имеет свою позицию и цвет, а также идентификатор. Меня попросили отобразить идентификаторы для каждой точки в текстуре, поэтому я создал FBO и прикрепил две текстуры, одну для цвета и одну для глубины. Я создал необходимые VAO и VBO для …
17 opengl  debugging 

1
Есть ли способ генерировать примитивы в геометрическом шейдере без входной геометрии?
Несколько лет назад я пытался внедрить этот Gem GeForce в OpenGL для генерации трехмерного процедурного ландшафта с использованием Marching Cubes . В статье предлагается реализовать Marching Cubes в геометрическом шейдере с максимальной эффективностью. Это означает, что мне нужно запустить шейдер один раз для каждого вокселя в домене, и он сгенерирует …

2
Как реализовать трекбол в OpenGL?
После стольких чтений о преобразованиях пришло время реализовать трекбол для моего приложения. Я понимаю, что должен создать вектор из источника, в который была нажата мышь, а затем другой из источника, из которого отпущена мышь. Мой вопрос заключается в том, нужно ли преобразовывать (x, y) пиксельные координаты в мировые координаты или …
15 opengl  trackball 

1
Совместимость с OpenGL, соглашения об именах и ARB против EXT
Я думал, что сформировал общее понимание того, как работают соглашения об именах OpenGL и расширения, пока не наткнулся на случай, который смутил меня. Вот мое понимание до сих пор: Нет суффикса - например glGenBuffers(). Эта функция является частью основного профиля. На вики-странице сказано, что это было добавлено в основной профиль, …
14 opengl 

3
Каковы некоторые методы визуализации прозрачности в OpenGL?
Альфа-смешивание можно включить, чтобы сделать поверхности прозрачными, например: glDisable(GL_DEPTH_TEST); //or glDepthMask(GL_FALSE)? depth tests break blending glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); Но это работает, только если объекты отображаются в обратном порядке. В противном случае вещи на заднем плане появляются перед более близкими объектами, такими как пол на изображении ниже. Для частиц и элементов …

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

1
Синхронизация последовательных вызовов OpenGL Compute Shader
У меня есть пара вычислительных шейдеров, которые должны быть выполнены в определенном порядке и чьи выходные данные зависят от предыдущих входных данных. В идеале мне никогда не понадобится копировать буфер на стороне клиента и выполнять всю мою работу на GPU. Рассмотрим У меня есть два вычислительных шейдеров скомпилированы и связаны …

2
OpenGL - обнаружение краев
Я хотел бы загружать произвольные сетки и рисовать толстые черные линии по краям, чтобы они выглядели как тени. Мне удалось нарисовать черный силуэт вокруг объектов с помощью буфера трафарета. Вы можете увидеть результат здесь: Но чего не хватает, так это черных линий в самом объекте. Я думал о проверке нормальных …

1
Что именно делает makeContextCurrent?
Я довольно смущен этой функцией. Контекстная ссылка GLFW гласит следующее: Эта функция делает контекст OpenGL или OpenGL ES указанного окна текущим в вызывающем потоке. Контекст может быть актуальным только для одного потока за раз, и каждый поток может иметь только один текущий контекст за один раз. Но это мне мало …
12 opengl  c++ 

2
GL_STATIC_DRAW против GL_DYNAMIC_DRAW против GL_STREAM_DRAW: имеет ли это значение?
В OpenGL функция объекта буфера ( glBufferData, glBufferSubDataи , возможно , некоторые другие) имеет параметр usage, описанный в документации как намек предполагаемого использования, вероятно , имел в вид , чтобы помочь доходности реализации более высокой производительности. использование Определяет ожидаемую схему использования хранилища данных. Символьная константа должна быть GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, …

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.