Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Papervision] papervision3d z Сортировка (http://www.flasher.ru/forum/showthread.php?t=142179)

Alisa 14.07.2010 18:34

papervision3d z Сортировка
 
есть модель состоящая из нескольких частей. Некоторые части видны сквозь модель, хотя располагаются дальше. с QuadrantRenderEngine модель начинает тормозить при вращении полигонов >1000. Кроме того, некоторые обьекты пересекаются. В местах пересечений и возникают проблемы.

Код AS3:

mediaAr.podwipniki = new podwipniki(new ColorMaterial(0xFF0F0F));
mediaAr.bolty= new bolty(new ColorMaterial(0x00FF0F));
mediaAr.krepy=  new krepy(new ColorMaterial(0x00FFFF));
mediaAr.podveska= new podveska(new ColorMaterial(0x0FFF00));
mediaAr.wheel_UV=new wheel_UV(new ColorMaterial(0x00FFF0));
mediaAr.mesh = new mesh(new ColorMaterial(0x0F0F0F));
torus.scale =20;
 
for (var mediaitem:String in mediaAr)  {
        torus.addChild(mediaAr[mediaitem]);
        layersToRender[mediaitem]=mediaAr[mediaitem].createViewportLayer(viewport);
        }
 
scene.addChild(torus);

Пробую исправить это с помощью ViewportLayer- раскладывать обьекты по одному в слой. Результат тот же. Что тут можно сделать?

Alex Lexcuk 14.07.2010 23:50

В папервизионе не шарю, однако
>>есть модель состоящая из нескольких частей. Некоторые части видны сквозь модель, хотя располагаются дальше.
Это и есть z сортировка, визуально и правильно если мыслить логически, что эти некоторые части не должны быть видны, однако математически координаты z грани сложенные и поделенные на число вершин будут именно так как папервизион их и рисует. Выход: делать специальную модель, так что-бы такого в принципе не могло случиться, это может быть модель состаящая из полигонов примерно одинаковой площадью. Если в модели будет один большой полигон и куча маленьких, то большой полигон перекроет маленькие когда это не нужно.
Еще есть сортировка BSP деревьями, тормозить будет еще больше, поскольку прожка должна расчитать BSP дерево, но будет четко, BSP сортировка режет полигоны на куски, там где они визуально пересекаются, от этого еще большие тормоза. В папервизионе как наиболее отсталой и заброшенной либе BSP сортировка не реализована, она есть в альтернативе3Д, и еще тоже заброшенный, ныне away3D
http://derschmale.com/demo/wick3d/bsp/Wick3dBSP.html
http://code.google.com/p/wick3d/downloads/list

Alisa 16.07.2010 16:00

Спасибо. Однако самое критичное в моем случае - это тормоза при отображении. поэтому BSP мне не подойдет Поработав с трехмерным исходником модели избавились от пересечений, сделали в проблемных местах полигоны приблизительно одного размера, и артефактов стало меньше. но они остались. Маленькие тонкие грани все равно просвечивают под углом, причем не целиком, а отдельными полигонами. В принципе в моей модели 8 частей, неподвижных относительно друг друга, их взаимное расположение известно. Можно ли как то принудительно задать их индексы?


Часовой пояс GMT +4, время: 22:32.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.