![]() |
|
|
![]()
|
|
| Jeka178RUS |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 3.9.2012 Репутация: нет Всего: нет |
Добрый день! Ни как не могу разобраться c логикой использования QGLShaderProgram и QGLBuffer.
Ситуация класс CModel инкапсулирует QGLBuffer в котором хранит вершины. Для рисования данных используется функция
Возникает противоречие: для mShader.setAttributeBuffer( ... ) необходимо знать параметры буфера, которые логично спрятаны в CModel. glDrawArraysInstanced( .. ) должен знать размер буфера (9), и порядок расположения вершин(GL_TRIANGLE_FAN). Возникает желание спрятать все в метод CModel::draw( ... ), но в таком случае этот метод должен знать имя атрибута( или его location ) в шейдере, что опять не совсем логично. Подскажите как лучше выйти из этого положения? Я придумал такое решение:
Вызов такой:
Насколько такое решение адекватно? |
||||||
|
|||||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |