OberonCore https://forum.oberoncore.ru/ |
|
Anti-Grain для Ports https://forum.oberoncore.ru/viewtopic.php?f=23&t=3980 |
Страница 3 из 6 |
Автор: | Пётр Кушнир [ Вторник, 04 Сентябрь, 2012 12:28 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
лучше всё таки библиотеки рядом с exe-шником, а подсистемы в каталог /USE |
Автор: | Иван Кузьмицкий [ Вторник, 04 Сентябрь, 2012 13:51 ] | ||
Заголовок сообщения: | Re: Anti-Grain для Ports | ||
Поставил, заработало сразу же. Только вот линейки выглядят теперь так:
|
Автор: | Роман М. [ Вторник, 04 Сентябрь, 2012 14:06 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
А как было? Страшилище небось? |
Автор: | Иван Кузьмицкий [ Вторник, 04 Сентябрь, 2012 14:38 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Линейка обычно выглядит так: Вложение: non-Cairo rulers.PNG [ 3.49 КБ | Просмотров: 9498 ] Тетрис выглядел так: Вложение: non-Cairo tetris.PNG [ 10.15 КБ | Просмотров: 9497 ] А теперь выглядит так: Вложение: Cairo tetris.PNG [ 11.02 КБ | Просмотров: 9497 ] То ли координаты линий выводятся с ошибкой, то ли сглаживание включается не там, не пойму... |
Автор: | Роман М. [ Вторник, 04 Сентябрь, 2012 15:13 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Ага, сглаживание сработало. Можно попробовать изменить реализацию HostPorts, чтобы отрисовка была абрисом толщиной в "волос". Надо проверить возможно ли это. |
Автор: | Иван Кузьмицкий [ Вторник, 04 Сентябрь, 2012 16:57 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Насколько я представляю, сглаживание для ровной линии вообще не должно включаться, ибо нет смысла. |
Автор: | Пётр Кушнир [ Вторник, 04 Сентябрь, 2012 21:49 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
точнее, для вертикальной и горизонтальной |
Автор: | Иван Денисов [ Среда, 05 Сентябрь, 2012 07:51 ] | ||
Заголовок сообщения: | Re: Anti-Grain для Ports | ||
Иван Кузьмицкий писал(а): Насколько я представляю, сглаживание для ровной линии вообще не должно включаться, ибо нет смысла. Смысл есть, так как скорее всего будет странно смотреться утолщение наклонных линий с тоненькими горизонтальными и вертикальными. Наверное в Cairo есть какие нибудь настройки... степени этой сглаженности. Также ваши картинки совместил а то вторая отображается размытой, что еще ложно усугубляет впечатление
|
Автор: | Иван Кузьмицкий [ Среда, 05 Сентябрь, 2012 08:12 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Пишут, что надо конечную точку задавать "посередине" пиксела: Цитата: The trick is to position in the middle of the pixel where you want the line to be drawn, and thus guaranteeing you get the desired results. See Cairo FAQ. http://developer.gnome.org/gtkmm-tutorial/3.4/sec-cairo-drawing-lines.html.en#sec-cairo-thin-linesЦитата: Otherwise, if you really want to light up a single row of pixels at full intensity, you can do that by adjusting the endpoints by 0.5 in the appropriate direction. For example, by changing the above code to: http://cairographics.org/FAQ/#sharp_lines
cairo_move_to (cr, 10, 10.5); cairo_line_to (cr, 20, 10.5); cairo_set_line_width (cr, 1); cairo_stroke (cr); |
Автор: | Роман М. [ Среда, 05 Сентябрь, 2012 22:25 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Откуда взять этот CpcFigures? |
Автор: | Иван Денисов [ Четверг, 06 Сентябрь, 2012 06:58 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Да, эти пол пикселя работают, Линейка приобрела свой исконный вид (правда у меня почему-то посинела...). Код: CairoApi.cairo_move_to(ctx, x0 + 0.5, y0 + 0.5); CairoApi.cairo_line_to(ctx, x1 + 0.5, y1 + 0.5); Но вот то, что имел в виду. Эти тонкие линии смотрятся среди наклонных как белые вороны. Вложение: А вот в кубе вполне хорошо смотрится такое сочетание. Вложение: cube.png [ 2.72 КБ | Просмотров: 9429 ] |
Автор: | Иван Кузьмицкий [ Четверг, 13 Сентябрь, 2012 09:26 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Откуда можно забирать обновления? Я тут разную графику хочу попробовать порисовать, заодно бы и потестил. |
Автор: | Иван Денисов [ Четверг, 13 Сентябрь, 2012 11:11 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Иван Кузьмицкий писал(а): Откуда можно забирать обновления? Я тут разную графику хочу попробовать порисовать, заодно бы и потестил. Хоть у романа есть репозиторий, решил продублировать, к тому-же у нас небольшие разногласия как называть модули привязок. Мне как-то приятнее их видеть в папке Cairo, а не Libs.Скачать последнюю версию из этого репозитория в виде архива https://gitorious.org/bb16/cairo/archive-tarball/master Скачать весь репозиторий git себе Код: git clone git://gitorious.org/bb16/cairo.git cairo Скачать только последнюю версию с помощью git Код: git clone --depth 1 git://gitorious.org/bb16/cairo.git cairo разные примеры игра ObxBlackBox и ObxLines вошли в Красноярскую сборку в исправленном виде для сочетания с Cairo Ports. |
Автор: | Димыч [ Суббота, 15 Сентябрь, 2012 11:32 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Наверное, я буду не вовремя, уже многое сделано. Но тем не менее. У меня есть почти законченная реализация AGG для XDS-2. Нативная реализация, без необходимости тянуть библиотеку Cairo. Что касается смещения на 0.5 - это не единственный способ решения проблемы муара вокруг линий. В некоторых случаях изменяют сам механизм отрисовки, чтобы решить эту проблему. Но вообще да, этот способ - самый простой. Изменение цвета сглаженных участков может быть ошибкой алгоритма сглаживания, а может быть оптическим обманом. Надо смотреть с помощью лупы при 4-8 кратном увеличении. |
Автор: | Иван Кузьмицкий [ Суббота, 15 Сентябрь, 2012 18:38 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Димыч писал(а): У меня есть почти законченная реализация Так это ж её ещё на КП портировать надо.
|
Автор: | Valery Solovey [ Суббота, 15 Сентябрь, 2012 20:06 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Всё равно полезно. |
Автор: | Димыч [ Вторник, 18 Сентябрь, 2012 06:50 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Подробное объяснение про "0.5" и другие способы решения проблем выравнивания. |
Автор: | Димыч [ Суббота, 14 Декабрь, 2013 12:08 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
После более чем годового перерыва возвращаюсь к разработке на ББ. https://github.com/dmitrys99/BBAGG В этом репозитории залит порт (хотя это скорее alpha-версия порта) AGG на ББ. Это еще ОЧЕНЬ сырой код, который требует доработки (переведено где-то процентов 40 исходной библиотеки) и очень просит ревью. И да, пока нет ни примеров, ни документации. Но самое главное, он заработал! В ближайшее время работы будут проводится по следующему плану: 0) Доведение библиотеки до возможности замены модулей Ports/HostPorts по аналогии с модулем Cairo Ивана Денисова. Срок - середина января 2014. 1) Расширение состава порта до потребностей моих проектов. Скорее всего, это будет изменение интерфейса модуля Ports, а может как-то по-другому. Состав изменений будет определен дополнительно, точно можно сказать, что будет возможность создания линий разного способа штриховки и, возможно, с разными шаблонами. Срок - март 2014. 2) Доведение состава порта до 100% по отношению к оригинальной библиотеке. Срок - август-сентябрь 2014. Сроки определены из расчета работы в одно лицо Модераторы, у меня доступ к вики остался? Завел бы страницу проекта, потому как на пальцах объяснять строение «библиотеки для построения графических библиотек» (с) непросто. Если можно, конечно |
Автор: | Пётр Кушнир [ Суббота, 14 Декабрь, 2013 12:31 ] |
Заголовок сообщения: | Re: Anti-Grain для Ports |
Димыч писал(а): После более чем годового перерыва возвращаюсь к разработке на ББ. Отличные новости В AGG eсть что-нибудь про красивые шрифты? |
Страница 3 из 6 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |