К основному контенту

О разработке графической подсистемы

Наша команда, помимо разработки новых функций программы, непрерывно работает над улучшением производительности всех продуктов Renga. Для этого мы используем современные средства сбора характеристик программы (профилирование), изучаем и внедряем новые технологии и пишем тесты производительности на существующую функциональность. Всё это позволяет сделать программный продукт более отзывчивым и удобным для повседневного использования. О том, как мы разрабатываем графическую подсистему, рассказывает наш специалист по компьютерной графике - Евгений Коростелев.
Каждое приложение, визуализирующее виртуальную сцену (в нашем случае, модели зданий, проекции и чертежи), реализует этап расчета кадра изображения. Как правило, этот этап состоит из нескольких десятков стадий, которые в некоторых ситуациях могут требовать много вычислительных ресурсов, т.е. существенно замедлять приложение. Примером является стадия отправки команд на отрисовку - последовательность команд рисования (draw call) и передача данных на графический конвейер (адресация геометрии, свойства материала, матрица аффинных преобразований). Каждый вызов команды рисования объекта занимает процессорное время, состоящее, по большей части, из времени взаимодействия между приложением и драйвером видеокарты. Поэтому мы уменьшаем их количество. Таким образом, одним из методов увеличения скорости работы Renga является отправка команд только для геометрических объектов, попадающий в пирамиду видимости. Но мы не ограничиваемся этим, поскольку иначе приложению не хватит производительности на больших проектах.
В одном из первых обновлений мы внедрили технику дублирования геометрии, называемую геометрический инстансинг. Эта технология позволяет нам отрисовывать за одну команду рисования все копии объекта, различающиеся лишь пространственным положением и некоторыми свойствами материала. Таким образом мы задействуем соответствующие аппаратные возможности видеокарт и тем самым уменьшаем время расчета кадра. Применение инстансинга на современных видеокартах позволяет рисовать десятки тысяч копий объекта за приемлемое время.
В текущей версии Renga геометрический инстансинг поддерживается на следующих объектах: заполнители окон и дверей, лестницы и армирование объектов. В следующем выпуске это список будет расширен твердотельными (C3D) и триангуляционными объектами. На таких объектах, как стены, балки, перекрытия, кровля инстансинг не применяется, поскольку большинство из них имеет различные геометрические формы, обусловленными сопряжениями и подрезкой. Технология инстансинга полезна на тех объектах, которые имеют свыше десяти геометрических копий.
Работа над улучшением графической подсистемы продолжается, и мы надеемся, что в следующих версиях работа с Renga будет ещё более комфортной и впечатляющей. В последующих публикациях мы познакомим вас с другими аспектами этого непрерывного пути.

Комментарии

Популярные сообщения из этого блога

Под крышей дома моего....

Крыша - это главный атрибут любого дома, а особенно частного загородного дома, коттеджа. Она не только призвана защищать его от дождя, снега и палящего солнца, но и является украшением дома и улицы, притягивает взгляд соседей и прохожих.
В Renga Architecture инструмент Крыша позволяет строить самые разные модели крыши с помощью небольшого набора команд, но с первого взгляда не всегда ясно, как сделать её той или иной формы. Поэтому мы, Арина Соболева (инженер тех.поддержки) и Анастасия Тян (технический писатель), решили рассказать о разных тонкостях и нюансах работы с этим инструментом на примере нескольких загородных домов -  от простого к сложному. Проще всего в Renga Architecture создать четырехскатную вальмовую крышу. Здесь не надо менять никаких параметров, крыша строится по точкам, непрерывно (Рисунок 1). Чтобы её создать, один раз задаем Параметры сегмента (Рисунок 2) и указываем 4 точки по углам здания на 3D Виде. Построение крыши всегда завершается нажатием клавиши ENTER или совм…

Renga в реальных примерах

Сегодня хотим поговорить о примерах проектов, выполненных в Renga. Когда присматриваешься к новой программе, всегда хочется знать, на что она способна, а наши системы довольно молодые, найти в открытом доступе модели и чертежи, выполненные в ней, не просто. Быть может, даже не все текущие пользователи Renga знают, что в поставке систем Renga Architecture и Renga Structure есть примеры таких проектов. Они лежат в папке Samples, которую можно найти в папке установки программы. Если вы уже установили Renga, но еще не видели этих проектов, рекомендуем заглянуть в эту папочку. Помимо этих примеров на сайте Grabcad.com есть пара десятков небольших проектов, выполненных нами в процессе работы над Renga. Там выложены проекты разной степени проработанности и детализации, но тем не менее они наглядно демонстрируют возможности Renga. Найти их можно по запросу renga в поиске grabcad.com. Все модели можно скачать в формате rnp, открыть в Renga и посмотреть, как они сделаны. Тем, кто совсем не зна…

Работа над ошибками

В нашем блоге уже была заметка о чертежах, однако проанализировав проекты, которые пользователи присылают в техническую поддержку и на конкурс “Мастер-Renga”, мы решили, что пришло время еще раз поговорить о чертежах. В первую очередь, хотелось бы обратить ваше внимание на инструмент Вид и его возможности. Если мастерством вставки вида (плана, разреза, фасада) в чертеж овладели все без исключения, то на такие параметры Вида, как Визуальный стиль и Стиль отображения обращают внимание далеко не все пользователи, а ведь именно эти параметры позволят достичь желаемого оформления чертежа без привлечения такого инструмента, как Штриховка.
Чтобы добиться цветной планировки или фасада в большинстве случаев достаточно выбрать Визуальный стиль - Цветной.
Если же вы хотите, чтобы цветными на планировке были только стены выбирайте визуальный стиль Монохромный и Стиль отображения Другой…. Выбрав Другой…, вы увидите большое диалоговое окно. И если поначалу оно кажется сложным и его хочется скорее…