Показать сообщение отдельно
Старый 18.08.2011, 22:19   #258
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 13.06.2011
Сообщений: 1,103
Написано 481 полезных сообщений
(для 1,836 пользователей)
Вопрос Ответ: Имитация зед-буфера.

Handle DepthBuffer = xCreateImage(600,400);
...
if (xKeyDown(42)) xDrawImage (0,0,DepthBuffer);
Чё оно падает?

Самый простой способ займеть буфер глубины для какого-то отдельного меша:
1.Наложить на меш шейдер, как в "первых шагах" только в пиксельном писать цветом расстояние от камеры до текущего пикселя.
2.Поставить xSetBuffer(mydepthbuffer);
3. xRenderEntity(myMesh);
4. xSetBuffer(BackBuffer());
5. Выключить шейдер.
Так?

Самый простой способ получить какой-то буфер. Отрендрить в картинку сцену с включенным xWireframe(true); Потом для спроецированных координат моей вершины читать картинку в соответсвующем месте и если пиксель не черный, значит можно рисовать квадратик?

Последний раз редактировалось dsd, 23.10.2011 в 22:19.
(Offline)
 
Ответить с цитированием