Nano Hash - криптовалюты, майнинг, программирование

Возможно ли, чтобы glutPostRedisplay() перерисовывал только определенные объекты?

У меня есть фрактальный объект, который создается со случайными значениями его переменных. Я использую C++ и OpenGL. Но теперь, поскольку я намерен использовать glutTimerFunc для анимации других объектов на сцене, мне нужно вызвать glutPostRedisplay(), чтобы перерисовать сцену. Однако это повлияет на фрактальный объект, который полностью основан на случайных значениях, потому что glutPostRedisplay() будет повторно засеваться для новых случайных значений, а затем весь объект изменит внешний вид.

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

31.08.2011

Ответы:


1

OpenGL не знает, что такое «объект». Оно знает только то, что вы ему даете. Если вы генерируете вершины с помощью фракталов, вам нужно либо сохранить достаточно информации, чтобы позже восстановить фракталы, либо вам нужно где-то хранить данные после генерации.

Я предполагаю, что у вас есть какой-то алгоритм генерации случайных чисел для создания ваших фракталов, да? Обычно они работают по начальным числам. Таким образом, вы можете просто получить начальное значение перед созданием фрактала, а затем установить его при последующих рендерах, пока не придет время изменить фрактал.

В качестве альтернативы вы можете визуализировать фрактал в закадровый буфер, который затем переносится на экран. Это потребует использования объектов кадрового буфера.

31.08.2011
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..