Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
alone_mamont
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 2
#1

LibGdx + Box2D. Culling. Отсечение невидимых объектов при рендеринге - Программирование Android

29.04.2014, 10:55. Просмотров 643. Ответов 0
Метки нет (Все метки)

Здравствуйте. Помогите, пожалуйста, советом.
В создаваемом платформере использую box2d + libgdx. Игровые объекты имеют ссылку на тело box2d, а тело box2d в userData ссылку на игровой объект. Когда надо рендерить экран, спрайты и текстуры для отрисовки получают position, border, rotation из тел. Как мне определить тела в box2d world'е которые попадают в viewport моей камеры, чтобы рендерить только их?Сначала использовал box2dRender и такой вопрос меня не волновал, передавал туда матрицу камеры и не задумывался о том как здесь возможно организовать culling.

Кроме варианта, как перебирать все world.getBodies() и смотреть какие из них попадают в область видимости через
Java
1
boolean com.badlogic.gdx.graphics.Camera.Frustum.boundsInFrustum(BoundingBox bounds)
Class Camera, ничего в голову не приходит. Но как быть если уровни твоего платформера длинной в несколько экранов и каждый раз перебирать все тела звучит как не очень хорошая практика. Наверняка существуют какие-то общепринятые методы. Например, когда раньше я делал платформер без box2d, "жизнь была легка и безоблачна", двумерный массив как модель мира, координаты viewporta камеры переводятся в индексы массива и выбираем все то, что в этом диапазоне для рендеринга. Но захотелось вот физики добавить и collide detection на кого-нибудь спихнуть).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.04.2014, 10:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос LibGdx + Box2D. Culling. Отсечение невидимых объектов при рендеринге (Программирование Android):

OpenGL отсечение невидимых линий - OpenGL
На первом рисунке то что есть. На втором - как хотелось бы. Т.е. вроде бы и каркасный режим(грани отрисованы), но в то же время...

Box2d лаги при создании более трех динамик объектов - C++
С чем столкнулся когда делал пример что бы понять как управлятся с box2d все решил, но была проблема с тем что при создании динамических...

Пропуск отрисовки невидимых объектов - OpenGL
Как можно пропустить отрисовку элементов, которые полностью не видны камере?

Шум при рендеринге видео - Компьютерное железо
Как только начинаю рендерить видео то сразу повышается шумность из системного блока сродни потрескиваниям....подозриваю что это жесткий...

Процессор греется и выключается при рендеринге видео - Процессоры
Начинаю рендорить видео HD 1080P прошло 5 мин комп написал Внимание температура 66 и через 2 мин комп выключается Модель процессора: AMD...

Перенос строки при рендеринге html страницы - PHP
Здравствуйте. помогите решить проблему. есть код: <?php if(!defined('DS')){define('DS',DIRECTORY_SEPARATOR);} $vtOutout = '';...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2014, 10:55
Привет! Вот еще темы с ответами:

Delphi XE2: ошибки при многократном рендеринге в Bitmap - OpenGL
Давно и довольно успешно (начиная с Delphi7) работал фрагмент кода для вывода OpenGL графики на BitMap (этот фрагмент вызывается в ходе...

Box2d. Не запускается файл box2d.lib - Visual C++
Скачал с официального сайта исходники box2d. Открыл решение из c:\Users\Ytsukene\Documents\Visual Studio...

Сортировка при удалении невидимых частей - C#
Есть прога, которая генерирует несколько треугольников в пространстве и удаляет невидимые части методом построчного сканирования с...

Отсечение текста при копировании. Как? - VBA
Здравствуйте. Есть такой макрос, помогите пожалуйста дополнить его функционал. Sub TestMacros() Dim shAct As...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru