Название: Сдедать QSGNode невидимым Отправлено: kuzulis от Апрель 11, 2019, 19:18 Всем привет.
Вопрос спецам по OpenGL: Имею класс, производный от QQuickItem, который имеет несколько дочерних QSGNode узлов. Каждый из этих узлов отрисовывает в QQuickItem::updatePainNode() некие линии по точкам, которые передаются в вертексный шейдер. Каждый узел QSGNode содержит как вертексный, так и фрагментный шейдер. Мне нужно например скрывать некоторые узлы QSGNode... Вопрос: как это делать? Просто не заполнять, т.е очищать точки у вертексного шейдера когда мне надо скрыть каляку-маляку? :) или как-то с прозрачностью бороться, например, пытаться подменять цвет на прозрачный? Как правильно это делается? Название: Re: Сдедать QSGNode невидимым Отправлено: Igors от Апрель 12, 2019, 05:54 ...скрывать некоторые узлы QSGNode... Без понятия что это. поэтому пардон если не в тему. Но по-любому OpenGL рисует "примитивы" (фейсы, напр точки, линии, тр-ки). Шейдер имеет "вертексы" (точки на которые эти примитивы ссылаются), но сами примитивы ему неизвестны, это задается вызывающим, напр ф-цией glDrawElements. Поэтому "выбрасывать точки" катит только если сами примитивы - точки. С прозрачностью еще хуже по той же причине. Правильным выглядит выкинуть те примитивы которые нужно скрыть. Часто их называют "индексы", доступ к ним в любой системе должен быть, ищите (если уж связались с этой какашкой) |