| Author |
Message |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2008 18:13:43
|
Kradar
Joined: 16/06/2008 19:30:50
Messages: 7
Offline
|
Суть проблемы:
- Собираем из Plane-ов куб, с повернутыми внутрь гранями (примитив Box дает тотже результат).
- Назначаем каждому Plane-у отдельный TextureMaterial, содержащий квадратную текстуру.
- Ставим камеру в центр куба и наблюдаем посторонние линии по ребрам куба.
Что с этим можно сделать?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/06/2008 23:12:08
|
wolf
![[Avatar]](/images/avatar/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f.jpg)
Joined: 31/05/2008 23:19:38
Messages: 1521
Offline
|
Если всё точно, разрывов быть не должно.
По такому принципу сделан skybox в демо Temple.
Вероятнее всего на краях текстуры срабатывает антиальяз к следующему пикселю.
Попробуйте убрать repeat или немного скорректировать маппинг, чтобы текстура накладывалась на плэйн с небольшим запасом.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/06/2008 22:03:26
|
Kradar
Joined: 16/06/2008 19:30:50
Messages: 7
Offline
|
Anton Volkov wrote:Если всё точно, разрывов быть не должно.
Я оценил.
По такому принципу сделан skybox в демо Temple.
Вот-вот, я как раз что-то вроде skybox-а и делаю. Вы, кстати, не подскажете, как его сделать наиболее производительным? А то в сцене, кроме skybox-а, ничего нет, а когда камерой крутишь, FPS на уровне того же Temple. Причем та же сцена со skybox-ом в Papervision3D v.2.0 (alpha) отрисовывается гораздо быстрее, нужно только понять некоторые особенности этого движка.
Вероятнее всего на краях текстуры срабатывает антиальяз к следующему пикселю.
Попробуйте убрать repeat или немного скорректировать маппинг, чтобы текстура накладывалась на плэйн с небольшим запасом.
Ну уж корректировать маппинг таким образом - было бы форменным извращением. А вот отключение repeat-а помогло, большое вам спасибо. Вспомнил, я уже встречал подобный баг/фичу толи в Sandy, толи в Away3D, и решение было таким же.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2008 00:18:53
|
wolf
![[Avatar]](/images/avatar/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f.jpg)
Joined: 31/05/2008 23:19:38
Messages: 1521
Offline
|
Дмитрий Краснов wrote:Я оценил. 
Хотел добавить "с ноября прошлого года", но удержался
Дмитрий Краснов wrote:Вот-вот, я как раз что-то вроде skybox-а и делаю. Вы, кстати, не подскажете, как его сделать наиболее производительным? А то в сцене, кроме skybox-а, ничего нет, а когда камерой крутишь, FPS на уровне того же Temple. Причем та же сцена со skybox-ом в Papervision3D v.2.0 (alpha) отрисовывается гораздо быстрее, нужно только понять некоторые особенности этого движка.
В PV3D вы заведомо указываете на сколько раздробить плоскости. В Альтернативе используется адаптивная триангуляция. От уровня точности этой триангуляции (см. TextureMaterial.precision) зависит количество треугольников, на которые полигоны разбиваются при отрисовке. Вообще говоря, при больших размерах вьюпорта зачастую уже не так важна математика, т.к. начинает тормозить сам отрисовщик флэша.
Ну и не надо забывать про качество отрисовки. В режиме LOW всё значительно шустрее.
Ну уж корректировать маппинг таким образом - было бы форменным извращением. А вот отключение repeat-а помогло, большое вам спасибо. Вспомнил, я уже встречал подобный баг/фичу толи в Sandy, толи в Away3D, и решение было таким же.
Да, мы ещё те извращенцы Имелось ввиду, что можно сделать текстуру с небольшим запасом (1-2px) и ровно на этот запас растянуть маппинг, в этом случае на рёбрах антиальяз будет адекватным.
Такая техника используется при авто UV-развёртке.
Вобщем, хорошо, что разобрались.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2008 01:07:15
|
Kradar
Joined: 16/06/2008 19:30:50
Messages: 7
Offline
|
Антон, спасибо за ответы.
Если вы не против, у меня еще вопрос: Вот если я, в целях контроля за триангуляцией, задаю сегментацию граням куба, то при сегментации 16x16x16 отрисовка происходит быстро, а вот загрузка - медленно. Нельзя ли сократить время загрузки, ну или послушать какие-то события, типа ProgressEvent.PROGRESS и Event.COMPLETE, чтобы хоть прогрес-бар нарисовать?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2008 01:44:29
|
andrei
![[Avatar]](/images/avatar/d435a6cdd786300dff204ee7c2ef942d3e9034e2.jpg)
Joined: 31/05/2008 23:46:48
Messages: 263
Location: Perm
Offline
|
Нельзя ли сократить время загрузки, ну или послушать какие-то события, типа ProgressEvent.PROGRESS и Event.COMPLETE, чтобы хоть прогрес-бар нарисовать?
Не хочу вмешиваться в разговор и отвечать за Антона, но у нас была идея реализации подобной возможности, даже создан соответствующий запрос в багсах - http://bugs.alternativaplatform.com/browse/TD-1080. Так вот сейчас есть время подумать над этой проблемой. Если ее решение интересно и необходимо проголосуйте пожалуйста за этот запрос.
|
Skype: yaskiy
Twitter : http://www.twitter.com/yaskiy |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2008 09:26:26
|
int
![[Avatar]](/images/avatar/b2734281b95f1e3c58e230cd3ef308a2dd9579cd.jpg)
Joined: 28/10/2008 14:31:34
Messages: 299
Offline
|
Дмитрий Краснов wrote:...в целях контроля за триангуляцией, задаю сегментацию граням куба...
Думаю, для skyBox не имеет смысла задавать сегментацию, достаточно 1х1х1, а для контроля триангуляции лучше использовать TextureMaterial.precision
|
Vladimir Babushkin |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2008 11:59:00
|
Kradar
Joined: 16/06/2008 19:30:50
Messages: 7
Offline
|
Andrey Kopysov wrote:Не хочу вмешиваться в разговор и отвечать за Антона, но у нас была идея реализации подобной возможности, даже создан соответствующий запрос в багсах - http://bugs.alternativaplatform.com/browse/TD-1080. Так вот сейчас есть время подумать над этой проблемой. Если ее решение интересно и необходимо проголосуйте пожалуйста за этот запрос.
Не совсем понял текст запроса и потому воздержался от голосования. Наиболее близким мне показался запрос из соседнего проекта: http://bugs.alternativaplatform.com/browse/PLR-29
Vladimir Babushkin wrote:Думаю, для skyBox не имеет смысла задавать сегментацию, достаточно 1х1х1, а для контроля триангуляции лучше использовать TextureMaterial.precision
Поясню, я использую повышенную сегментацию в следующих целях:
- TextureMaterialPrecision.BEST дает далеко не идеальную картинку, заметны искажения прямых линий на текстурах, и повышенная сегментация позволяет чуть улучшить ситуацию.
- При вращении камеры необходимо снижать TextureMaterial.precision. В этом случае, при сегментации 1х1х1, искажения носят какой-то хаотический характер. Повышенная сегментация позволяет внести некую переодичность в это явление.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2008 18:52:46
|
wolf
![[Avatar]](/images/avatar/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f.jpg)
Joined: 31/05/2008 23:19:38
Messages: 1521
Offline
|
TextureMaterialPrecision.BEST дает далеко не идеальную картинку
Странно. По идее, точность искажений в этом варианте - 1px. Соответственно, на глаз увидеть искажения линий вроде как нельзя.
Можно демку или скриншот посмотреть?
This message was edited 1 time. Last update was at 23/06/2008 18:53:06
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2008 22:43:00
|
Kradar
Joined: 16/06/2008 19:30:50
Messages: 7
Offline
|
Anton Volkov wrote:Странно. По идее, точность искажений в этом варианте - 1px. Соответственно, на глаз увидеть искажения линий вроде как нельзя.
Можно демку или скриншот посмотреть?
Ссылку отпрвил в PM.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2008 23:11:01
|
wolf
![[Avatar]](/images/avatar/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f.jpg)
Joined: 31/05/2008 23:19:38
Messages: 1521
Offline
|
Ситуацию понял.
Понятно, что до 10-ки приходится имитировать перспективную коррекцию и получить результат совсем без искажений нереально.
Искажения не хаотичны. Дело в том, что триангуляция в целях оптимизации происходит только на видимых частях полигонов (клиппинг).
Если "стабильность" искажений важнее, можно сбросить precision в -1 (NONE) и регулировать дробление самостоятельно.
Можно поэкспериментировать с геосферой, в качестве модели окружения.
Стоит попробовать ещё усилить precision, указав в ручную значение меньше единицы.
Мне кажется, в вашем примере не стоит ухудшать precision при поворотах камеры. Думаю, достаточно перехода в low quality.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2008 23:31:40
|
Kradar
Joined: 16/06/2008 19:30:50
Messages: 7
Offline
|
Anton Volkov wrote:Мне кажется, в вашем примере не стоит ухудшать precision при поворотах камеры. Думаю, достаточно перехода в low quality.
Нельзя, если программно уходить в low quality, то почему-то в фул-скрине кадр рвется, как будто вертикальной синхронизации нехватает.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2008 23:47:19
|
wolf
![[Avatar]](/images/avatar/b3f0c7f6bb763af1be91d9e74eabfeb199dc1f1f.jpg)
Joined: 31/05/2008 23:19:38
Messages: 1521
Offline
|
Переход в low quality -- очень важный элемент повышения общей комфортности от работы с продуктом. И мы тут вряд ли что-то можем сделать, так уж работает отрисовка во флэше. Ждём 10-ку.
Восстановил старый тест скайбокса:
http://antonvolkov.com/alternativa3d/skybox.swf
Можно колесом выкрутить триангуляцию выше BEST, но рекомендую не увлекаться
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/06/2008 00:13:02
|
Kradar
Joined: 16/06/2008 19:30:50
Messages: 7
Offline
|
Anton Volkov wrote:Можно колесом выкрутить триангуляцию выше BEST, но рекомендую не увлекаться 
Нормально, для облаков многого и не нужно. А вот для моих целей...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/06/2008 00:31:50
|
makc
![[Avatar]](/images/avatar/bbcbb1e844266f4abdfc29b3d8a64628607fa47e.png)
Joined: 02/06/2008 12:19:17
Messages: 1704
Offline
|
Єто там Пермь внизу? Почему не в красных тонах?
|
|
|
 |
|
|