2012-04-30 2 views
2

Я пытаюсь достичь простой задачи (или так я думал) в XNA 4.0. У меня есть объекты, которые должны светиться (рендеринг и гауссово размытие их, а затем добавление их в основную сцену). Эти объекты могут быть на разных глубинах, поэтому мне нужно будет убедиться, что они затенены объектами перед ними на главной сцене. Это 3D.XNA 4.0 Светящиеся объекты

Поскольку буферы глубины не могут быть повторно использованы в XNA 4.0, мне трудно понять, как я могу это достичь?

Я не могу найти примеров или руководств или объяснений этого процесса. Примером XNA также является не то, что мне нужно, так как он обрабатывает всю сцену.

Я знаю, что я могу сохранить информацию RenderTarget с помощью PreserveContents, но это звучало так, будто оно было медленным. Есть ли способ достичь этого без использования PreserveContents?

Любая помощь будет оценена по достоинству. Спасибо, Riaan.

+0

Визуальный пример того, что вы хотите сделать, будет чрезвычайно полезным. Можете ли вы что-то издеваться? –

+0

Ммм. Я не могу загрузить изображение, поскольку я новичок. Вот ссылка на него: http://postimage.org/image/cwmw2cglh/a6790034/ –

+0

Что именно вы подразумеваете под буферами глубины, нельзя использовать повторно? XNA позволяет делать практически все с буферами глубины. –

ответ

1

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

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

+0

Благодарим вас за ответ. Вопрос для меня (я, вероятно, отсутствует, что-то фундаментальное) заключается в том, как повторно использовать информацию о глубине во втором RT. Разве эта информация не отбрасывается, как только я переключаюсь на другой RT? –

+0

у вас будет это как текстура – Blau

+0

Я знаю, но будет ли текстура не содержать все светящиеся объекты всей сцены, даже те, которые на самом деле должны быть скрыты обычными объектами сцены перед ними? Вот сценарий: Сцена рендеринга RT1, рендеринг светящихся объектов в RT2. RT1 содержит всю сцену, RT2 содержит все светящиеся объекты. Как объединить светящиеся объекты в полную сцену без информации глубины? –