Здравствуйте, McSeem2, Вы писали:
MS>Забыл упомянуть, что версия 2.4 как была выпущена, так и остается под BSD, так что пользуйтесь на здоровье. Посто более новые версии будут под GPL.
Идея понятна. Спасибо за развернутый ответ.
Здравствуйте, McSeem2, Вы писали:
C>>Кстати, было бы идеальным местом для Максимовского AntiGrain. MS>У нас был с ним по этому поводу разговор, но как-то завял на время. Не все так просто. Вопрос лицензирования очень важен. Мне пришлось сменить лицензию на GPL (потому что достали — ходют и ходют). Я, конечно же готов предоставить самые либеральные условия для задействования AGG в Mono, но не знаю, можно ли так сделать — что в составе Mono лицензия более либеральна, чем GPL, хотя сами исходники AGG остаются под GPL (Моновцы не могут использовать GPL).
Ты можешь дать "специальное разрешение", лицензия в принципе это позволяет.
А почему ты решил не LGPL заюзать? А то я уже хотел использовать в своем проекте
MS>Здесь так же много и технических проблем, в основном то, что сам формат графических данных страшно устарел по сравнению с Flash. Формат SL — это по сути SVG. Он простой и очевидный, но страшно неэффективный.
Сам по себе формат, ИМХО, не так важен — все равно в какой-то промежуточный код придется переводить.
Здравствуйте, VladD2, Вы писали:
AVK>>Это факт. Информация общедоступна, можешь поизучать.
VD>Если у тебя есть другая информация, приводи ссылки.
Какая другая? Та самая? Ссылок не могу привести, видел сии цифры на презентации, на Платформе.
AVK>>МС хостингом не занимается и заниматься не будет.
VD>МС играет на рынке серверов.
Играет.
VD> Хостинг — это ниша на этом рынке. Эту нишу МС благополучно слил. Так что любой ход на этом рынке на руку МС.
Вот теперь объясни — как кроссплатформенная клиентская технология может повлиять на рынок серверных ОС?
VD>Ну, лично я вижу.
Убедительно.
... << RSDN@Home 1.2.0 alpha rev. 675 on Windows Vista 6.0.6000.0>>
Здравствуйте, Cyberax, Вы писали:
C>Ты можешь дать "специальное разрешение", лицензия в принципе это позволяет.
Хорошо, осталось только сочинить.
C>А почему ты решил не LGPL заюзать? А то я уже хотел использовать в своем проекте
Задействуй AGG 2.4, он ничем не отличается от 2.5 кроме лицензии. А когда я выпущу более новую версию и возникнет реальная необходимось перехода на нее, мы придумает другое решение.
MS>>Здесь так же много и технических проблем, в основном то, что сам формат графических данных страшно устарел по сравнению с Flash. Формат SL — это по сути SVG. Он простой и очевидный, но страшно неэффективный. C>Сам по себе формат, ИМХО, не так важен — все равно в какой-то промежуточный код придется переводить.
Я несколько не о том. Не о формате данных, а о принципах организации данных. SVG и SL предполагают рисование сцены слой за слоем, многократно перезакрашивая по одному и тому же месту. В случае сложной анимации это становится очень медленно. Flash "уплощает" геометрию и использует спепциальную модель данных для этого. Это уплощение выполняется при создании файла, поскольку является довольно дорогой операцией. В run-time этого лучше не делать. http://antigrain.com/stuff/compound_paths.png
Теоретически, модель данных SVG/SL позволяет представлять плоскую многоцветную сцену, но при этом сразу же возникает проблема "сшивания ребер" (edge stitching). С моделью данных Flash у меня есть хотя бы принципиальная возможность рисования без швов, а с SVG/SL такой возможности нет, поскольку нет информации о смежности. В данных Flash нет полигонов как таковых. Там просто набор ребер, каждому из которых присвоено два стиля закраски — слева и справа от ребра. Все ребра в совокупности образуют замкнутый и непротиворечивый граф. Поэтому я знаю, какое ребро с какими областями контачит и могу нарисовать сцену без швов. На SVG/FL у меня такой информации нет. Правильно можно нарисовать только с использованием FSAA, ну или использовать традиционным layered способом с многогратной перезакраской. Кстати, layered scene не всегда возможно обеспечить. Например, при векторизации фотографий, см, например Vector Eye — модель данных Flash для этого гораздо лучше подходит.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>Я несколько не о том. Не о формате данных, а о принципах организации данных. SVG и SL предполагают рисование сцены слой за слоем, многократно перезакрашивая по одному и тому же месту. В случае сложной анимации это становится очень медленно.
В случае SL этим перезакрашиванием (с использованием Z-буфера и альфаблендинга) должен заниматься видеоакселератор.
... << RSDN@Home 1.2.0 alpha rev. 675 on Windows Vista 6.0.6000.0>>
Здравствуйте, McSeem2, Вы писали:
C>>Ты можешь дать "специальное разрешение", лицензия в принципе это позволяет. MS>Хорошо, осталось только сочинить.
Посмотри на libstdc++ — оно под тоже GPL, но со специальным разрешением.
C>>А почему ты решил не LGPL заюзать? А то я уже хотел использовать в своем проекте MS>Задействуй AGG 2.4, он ничем не отличается от 2.5 кроме лицензии. А когда я выпущу более новую версию и возникнет реальная необходимось перехода на нее, мы придумает другое решение.
Надеюсь, что будет что-нибудь менее ограничивающее, чем GPL. Просто с ним уж совсем ничего не получается сделать
MS>Я несколько не о том. Не о формате данных, а о принципах организации данных. SVG и SL предполагают рисование сцены слой за слоем, многократно перезакрашивая по одному и тому же месту. В случае сложной анимации это становится очень медленно. Flash "уплощает" геометрию и использует спепциальную модель данных для этого. Это уплощение выполняется при создании файла, поскольку является довольно дорогой операцией. В run-time этого лучше не делать. MS>http://antigrain.com/stuff/compound_paths.png
Ну как AVK сказал, акселератор у нас замечательно рисует многослойные картинки. Кстати, с такой архитектурой и 3D можно нормально держать.
MS>Теоретически, модель данных SVG/SL позволяет представлять плоскую многоцветную сцену, но при этом сразу же возникает проблема "сшивания ребер" (edge stitching).
Ок, спасибо. Теперь понятно.
Попробуй выдвинуть в MS идею добавить такую модель в SL. Было бы круто.
Здравствуйте, AndrewVK, Вы писали:
AVK>В случае SL этим перезакрашиванием (с использованием Z-буфера и альфаблендинга) должен заниматься видеоакселератор.
Ну, во-первых, даже с HW acceleration это может быть слишком дорого (и есть слишком дорого, иначе наша компания не получала бы существенного дохода), во-вторых, эти байки про видеоакселераторы я слушаю со времен GDI+, в то время как на практике все рендерится чисто софтварно.
Можно тебя попросить проверить одну простую фишку SL на самой распоследней Висте с самыми наикрутейшими драйверами?
Берется http://www.simplegeek.com/mharsh/wpfepad/
После чего в нижнее окно надо сделать copy-paste следующего кода:
<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="1056" Height="816">
<Path Data="M 20,100 C 40,120 180,120 200,100z"
Fill="#FFFFFF"/>
<Path Data="M 20,100 C 40,120 180,120 200,100 L 200,120 L 20,120z"
Fill="#FFFFFF"/>
<Path Data="M 300,20 C 320,40 320,180 300,200z"
Fill="#FFFFFF"/>
<Path Data="M 300,20 C 320,40 320,180 300,200 L 320,200 L 320,20z"
Fill="#FFFFFF"/>
</Canvas>
И нажать Load внизу. Если кривых внутри прямоугольников не видно, значит, возможно используется HW acceleration. Если видно, то все делается чисто софтварно. При этом белые прямоугольники должны быть на темном фоне. Если же фон белый, но надо поменять все "Fill" на черный. Другими словами, должно быть контрастно.
У меня на XP получается вот так:
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, Cyberax, Вы писали:
C>Посмотри на libstdc++ — оно под тоже GPL, но со специальным разрешением.
Спасибо!
C>>>А почему ты решил не LGPL заюзать? А то я уже хотел использовать в своем проекте MS>>Задействуй AGG 2.4, он ничем не отличается от 2.5 кроме лицензии. А когда я выпущу более новую версию и возникнет реальная необходимось перехода на нее, мы придумает другое решение. C>Надеюсь, что будет что-нибудь менее ограничивающее, чем GPL. Просто с ним уж совсем ничего не получается сделать
Ну я же сказал, GPL — это чисто зонтик от дождя, не более того. Другие лицензии завсегда возможы, но просто решается это индивидуально.
C>Попробуй выдвинуть в MS идею добавить такую модель в SL. Было бы круто.
Не прокатит. Во-первых, там у них в MS Research есть люди и покруче — тот же Jim Blinn. И даже при наличии продвинутых инсайдеров ситуация с графикой даже в супер-пупер современной Висте остается на уровне каменного века. Складывается впечатление, что MS Research это что-то типа почетного доктората, чисто чтоб было — там платят пожизненную пенсию, и не спрашивают результатов. Патентные заявки от них поступают — вот и хорошо, большего и не требуется.
Ну а во-вторых, мне это пока что не очень-то выгодно в силу неких секретных стратегических сорображений.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>Здравствуйте, Cyberax, Вы писали:
C>>Попробуй выдвинуть в MS идею добавить такую модель в SL. Было бы круто.
MS>Не прокатит. Во-первых, там у них в MS Research есть люди и покруче — тот же Jim Blinn. И даже при наличии продвинутых инсайдеров ситуация с графикой даже в супер-пупер современной Висте остается на уровне каменного века. Складывается впечатление, что MS Research это что-то типа почетного доктората, чисто чтоб было — там платят пожизненную пенсию, и не спрашивают результатов. Патентные заявки от них поступают — вот и хорошо, большего и не требуется.
Так и есть. Задача Research состоит в проделывании этого самого research'а. А улучшение продуктов — это уже задача product teams. Именно они должны пойти, взять у research'а идеи и реализовать их в своих продуктах. Jim Blinn не может пойти в Windows и сказать, что у них там все отстой, и что им нужно делать. Его просто пошлют. Наоборот, люди из Windows должны прийти к Blinn'у и попросить его поделиться с ними своими идеями.
Здравствуйте, alexeiz, Вы писали:
A>Так и есть. Задача Research состоит в проделывании этого самого research'а. А улучшение продуктов — это уже задача product teams. Именно они должны пойти, взять у research'а идеи и реализовать их в своих продуктах. Jim Blinn не может пойти в Windows и сказать, что у них там все отстой, и что им нужно делать. Его просто пошлют. Наоборот, люди из Windows должны прийти к Blinn'у и попросить его поделиться с ними своими идеями.
Ну так не ходят же! Если бы ходили, прогресс был бы куда значительнее.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, AndrewVK, Вы писали:
AVK>Вот только продукты МС это прежде всего Офис и, в меньшей степени, Windows. Девелоперское подразделение дохода не приносит и служит исключительно для проталкивания Windows.
Ну так уволить их всех на фиг, оставить только сэйлз. А скрипач не нужен, родной, — он только лишнее топливо жрет...
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, c-smile, Вы писали:
AVK>>Рынка нет никакого — SL не стоит ничего. А средства разработки, как я уже сказал, дохода не приносят.
CS>Тебя обманули.
Никто меня не обманывал. Скачиваешь МСный annual report и убеждаешься, что кроме Client, Server Tools и Information Worker, другие подразделения заметного дохода не приносят.
... << RSDN@Home 1.2.0 alpha rev. 675 on Windows Vista 6.0.6000.0>>
Здравствуйте, McSeem2, Вы писали:
MS>Ну, во-первых, даже с HW acceleration это может быть слишком дорого
Для современных акселераторов вряд ли. Для них миллионы плоскостей с отсечением и блендингом десятки раз в секунду выводить не является проблемой.
MS>(и есть слишком дорого, иначе наша компания не получала бы существенного дохода)
Понятия не имею что там за ваша компания и почему она получает доход.
MS>, во-вторых, эти байки про видеоакселераторы я слушаю со времен GDI+, в то время как на практике все рендерится чисто софтварно.
Во взрослом WPF таки не софтварно. А насчет SL не знаю пока ничего, он еще в очень сырой стадии.
MS>Можно тебя попросить проверить одну простую фишку SL на самой распоследней Висте с самыми наикрутейшими драйверами?
Виста тут никак не влияет. И на SL проверять в текущем состоянии производительность бессмысленно. А в чем суть сего эксперимента? Я так понимаю вылазят артефакты антиалиасинга. При чем тут аппаратное ускорение?
... << RSDN@Home 1.2.0 alpha rev. 675 on Windows Vista 6.0.6000.0>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Для современных акселераторов вряд ли. Для них миллионы плоскостей с отсечением и блендингом десятки раз в секунду выводить не является проблемой.
Ты ошибаешься. Оптимизировать рисование плоских многоцветных сцен не просто необходимо, а жизненно необходимо. Вне зависимости от того, сколько треугольников в секунду они могут перемалывать.
AVK>Виста тут никак не влияет. И на SL проверять в текущем состоянии производительность бессмысленно. А в чем суть сего эксперимента? Я так понимаю вылазят артефакты антиалиасинга. При чем тут аппаратное ускорение?
При том, что эти вещи сильно взаимосвязаны. Впрочем, это долго объяснять, можешь просто поверить на слово, что до тех пор, пока в приведенном примере присутствует явно видимые швы, никакого аппаратного ускорения не используется, а используется банальный софтварный растеризатор. А для него перекрашивать много раз сцену это не просто дорого, а очень дорого. В общем, имеются сильные сомнения, что в обозримом будущем будет задействовано аппаратное ускорение для векторной графики. А для SL мой прогноз — вообще никогда, так же как это произошло с GDI+.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, AndrewVK, Вы писали:
MS>>Ну, во-первых, даже с HW acceleration это может быть слишком дорого AVK>Для современных акселераторов вряд ли. Для них миллионы плоскостей с отсечением и блендингом десятки раз в секунду выводить не является проблемой.
Мне вот интересно как у современных акселераторов с точностью. В них везде используются float'ы, так что иногда артефакты получаются. В играх это не так важно, но вот для изображений полиграфической точности уже может быть проблема.
MS>>, во-вторых, эти байки про видеоакселераторы я слушаю со времен GDI+, в то время как на практике все рендерится чисто софтварно. AVK>Во взрослом WPF таки не софтварно. А насчет SL не знаю пока ничего, он еще в очень сырой стадии.
Кстати, в WPF можно интегрировать трехмерные сцены?
Здравствуйте, McSeem2, Вы писали:
C>>Посмотри на libstdc++ — оно под тоже GPL, но со специальным разрешением. MS>Спасибо!
Вот даже текст этого исключения:
// As a special exception, you may use this file as part of a free software
// library without restriction. Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License. This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.
C>>Надеюсь, что будет что-нибудь менее ограничивающее, чем GPL. Просто с ним уж совсем ничего не получается сделать MS>Ну я же сказал, GPL — это чисто зонтик от дождя, не более того. Другие лицензии завсегда возможы, но просто решается это индивидуально.
Индивидуально — это уже не так удобно, да и оперсорсники могут возражать. А вообще, пока просто подожду.
Желаю удачи в борьбе с мегакорпорациями!
C>>Попробуй выдвинуть в MS идею добавить такую модель в SL. Было бы круто. MS>Не прокатит. Во-первых, там у них в MS Research есть люди и покруче — тот же Jim Blinn. И даже при наличии продвинутых инсайдеров ситуация с графикой даже в супер-пупер современной Висте остается на уровне каменного века. Складывается впечатление, что MS Research это что-то типа почетного доктората, чисто чтоб было — там платят пожизненную пенсию, и не спрашивают результатов. Патентные заявки от них поступают — вот и хорошо, большего и не требуется.
Ага, складывается такое же впечатление. MS Research пишет кучу интересных статей, даже делает какие-то интересные продукты (типа Phoenix'а о котором тут пару лет назад говорили) — а потом на них забивает.
MS>Ну а во-вторых, мне это пока что не очень-то выгодно в силу неких секретных стратегических сорображений.
Планы по завоеванию мира с помощью AGG?
Здравствуйте, AndrewVK, Вы писали:
VD>>Если у тебя есть другая информация, приводи ссылки.
AVK>Какая другая? Та самая? Ссылок не могу привести, видел сии цифры на презентации, на Платформе.
Тогда обсуждать нечего.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, AndrewVK, Вы писали:
AVK>Никто меня не обманывал. Скачиваешь МСный annual report и убеждаешься, что кроме Client, Server Tools и Information Worker, другие подразделения заметного дохода не приносят.
Здравствуйте, McSeem2, Вы писали:
MS>Я несколько не о том. Не о формате данных, а о принципах организации данных. SVG и SL предполагают рисование сцены слой за слоем, многократно перезакрашивая по одному и тому же месту. В случае сложной анимации это становится очень медленно. Flash "уплощает" геометрию и использует спепциальную модель данных для этого. Это уплощение выполняется при создании файла, поскольку является довольно дорогой операцией. В run-time этого лучше не делать. MS>http://antigrain.com/stuff/compound_paths.png
MS>Теоретически, модель данных SVG/SL позволяет представлять плоскую многоцветную сцену, но при этом сразу же возникает проблема "сшивания ребер" (edge stitching). С моделью данных Flash у меня есть хотя бы принципиальная возможность рисования без швов, а с SVG/SL такой возможности нет, поскольку нет информации о смежности. В данных Flash нет полигонов как таковых. Там просто набор ребер, каждому из которых присвоено два стиля закраски — слева и справа от ребра. Все ребра в совокупности образуют замкнутый и непротиворечивый граф. Поэтому я знаю, какое ребро с какими областями контачит и могу нарисовать сцену без швов. На SVG/FL у меня такой информации нет. Правильно можно нарисовать только с использованием FSAA, ну или использовать традиционным layered способом с многогратной перезакраской. Кстати, layered scene не всегда возможно обеспечить. Например, при векторизации фотографий, см, например Vector Eye — модель данных Flash для этого гораздо лучше подходит.
Максим , можешь пояснить почему этого нельзя сделать с SVG ? я вижу по крайней мере 2 возможности.
1. Всю сцену трасировать как один полигон с информацией о цвете и Z ordering.
2. Spans накапливать в промежуточном буфере для каждой линии scanline, без отрисовки , затем сортировать scanline и рисовать опять же за один проход.
И второй вопрос , как тогда в FLASH обеспечивается плавная анимация ? то есть можно ли получить произвольное к-во кадров или все уже побито на кадры и предобработано ?