Я рендеринг 3D-объектов с использованием OpenGL. Каждый объект в трехмерном мире имеет ограничивающий прямоугольник и связанную матрицу модели для преобразования объекта из системы координат детали (PCS) в мир (WCS). Ограничительная рамка также находится в PCS. Центроид каждого объекта вычисляется в WCS и связан с каждым объектом.
Учитывая положение камеры и положение цели в WCS:
-> Я хотел бы сделать все непрозрачные объекты (с альфа == 1) спереди назад.
-> Я хотел бы визуализировать все полупрозрачные объекты сзади вперед после рендеринга непрозрачных объектов.
Так как это мой первый шаг в реализации графического движка, я не уверен, как граф сцены поможет мне здесь. Я думаю, что мне нужно вручную отсортировать объекты по расстоянию от камеры, а затем визуализировать то же самое по непрозрачным / полупрозрачным объектам. Мне действительно нужен график сцены? Как я должен идти о реализации двигателя. Я могу использовать другие доступные движки, но я предпочитаю не делать этого и хотел бы реализовать себя.
Ну, вам здесь не обязательно нужен граф сцены, но вам нужен список визуализации. То есть каждый цикл рендеринга вы очищаете свой список. Каждый визуализируемый объект добавляет себя в список визуализации. Как только вы закончите, вы сортируете список по расстоянию от камеры.
В вашем случае вы можете использовать два списка рендеринга: один для полупрозрачных объектов и один для непрозрачных.
Как только ваши списки отсортированы, вы просматриваете их и отображаете объекты в порядке.
Возможно, вы запутали необходимость в графах сцены, потому что практически любая реализация графа сцены также будет отображать списки.
Других решений пока нет …