порядок рендеринга объекта, граф сцены?

Я рендеринг 3D-объектов с использованием OpenGL. Каждый объект в трехмерном мире имеет ограничивающий прямоугольник и связанную матрицу модели для преобразования объекта из системы координат детали (PCS) в мир (WCS). Ограничительная рамка также находится в PCS. Центроид каждого объекта вычисляется в WCS и связан с каждым объектом.

Учитывая положение камеры и положение цели в WCS:
-> Я хотел бы сделать все непрозрачные объекты (с альфа == 1) спереди назад.
-> Я хотел бы визуализировать все полупрозрачные объекты сзади вперед после рендеринга непрозрачных объектов.

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

2

Решение

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

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

Как только ваши списки отсортированы, вы просматриваете их и отображаете объекты в порядке.

Возможно, вы запутали необходимость в графах сцены, потому что практически любая реализация графа сцены также будет отображать списки.

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]