Пустой рендеринг с openGL

характеристики: Radeon 3870HD с openGL 3.3 и GLSL 1.5

Я визуализирую данные с помощью вычислительного шейдера. Из-за зависимостей мне пришлось поместить все свои данные в единые текстуры и ничего не осталось для атрибутов. Единственным значением, которое изменяется для каждого примитива, является индекс, и я могу получить его из gl_VertexID. Но у меня проблема с настройкой правильного вызова рендеринга, похоже, если нет установленных указателей атрибутов, рендеринг даже не запускается, установка указателя, но не хранения приводит к ошибке (ofc..). Настройка хранилища — это не пустой рендеринг ;). Есть ли способ отрендерить эту настройку?

Да, и я забыл некоторые важные вещи. Я визуализирую с помощью:

glDrawArrays(GL_POINTS, 0, elements);

и причина, по которой я думаю, что он не запускает шейдер, заключается в том, что запрос к обработанным примитивам приводит к 0. Установка некоторого фиктивного указателя атрибута с данными приводит к правильному количеству примитивов...


person Raven    schedule 27.02.2011    source источник
comment
ты пробовал рендеринг простого треугольника?   -  person fazo    schedule 27.02.2011
comment
эм, как ты себе это представляешь? Если вы имели в виду, что установка вызовов рендеринга на GL_TRIANGLES, я попробовал это прямо сейчас, но это тоже не работает.   -  person Raven    schedule 27.02.2011


Ответы (1)


У меня была такая же проблема с ATI. Чтобы обойти это, я использую любой доступный буфер для фиктивного 1-байтового входного массива вершин (не используется шейдером).

person kvark    schedule 27.02.2011
comment
Ааа, отлично... мне начинают нравиться эти карты ATI :D Недавно я пытался настроить массив индексов, но у меня возникли трудности с указателем определяемого пользователем атрибута.. Попробую то, что вы советуете, когда закончу, но я думаю, что это скорее всего как вы говорите и тот пустышка одним байтом все разберёт.. - person Raven; 28.02.2011