<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Авионика и Софт &mdash; Маски]]></title>
		<link>http://www.forum.aviosoft.ru/viewtopic.php?id=58</link>
		<atom:link href="http://www.forum.aviosoft.ru/extern.php?action=feed&amp;tid=58&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Маски».]]></description>
		<lastBuildDate>Tue, 18 Apr 2017 07:14:38 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Маски]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?pid=195#p195</link>
			<description><![CDATA[<p>Здравствуйте!<br />К сожалению, разрабатывая механизм масок нам пришлось исходить из наших возможностей и думать о скорости прорисовки. Как мы поняли, речь идёт о маскировании телами примитивов. Данный механизм полностью основан на использовании буфера трафарета, который выделяется в видеопамяти видеоадаптера. При создании маски, прорисовка идёт не в буфер кадра, а именно в буфер трафарета. Чтобы группа 2 получила в распоряжение чистый слой маски, буфер трафарета необходимо очистить. А это достаточно затратная операция, время которой измеряется уже вплоть до миллисекунды. При этом не понятен критерий, для какой группы нужно очищать трафарет, а для какой нет. Что, если группе 1.2, как и группе 2, потребуется чистая маска? Таких очисток трафарета может происходить много, что в результате ‘убьёт’ производительность любой самой современной видеокарты.<br />Поэтому, реализуя механизм маскирования телами примитивов, мы перешли на более низкий уровень, дав пользователю возможность самому управлять очисткой слоя маски.<br />Режим прорисовки группы ‘Новая маска’ необходимо использовать в самом крайнем случае. Если область, которую на самом деле необходимо очистить небольшая, то может оказаться более быстрой по времени очистка этой области с помощью вырезки из маски телом, например, залитого прямоугольника.<br />Старайтесь всегда, когда это возможно, использовать отсечение с помощью секущей линии или секущего прямоугольника. Практически всегда они реализуются аппаратно и работают достаточно быстро.<br />По поводу дуги эллипса, посмотрите, пожалуйста, приложенный файл проекта.</p>]]></description>
			<author><![CDATA[null@example.com (Admin)]]></author>
			<pubDate>Tue, 18 Apr 2017 07:14:38 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?pid=195#p195</guid>
		</item>
		<item>
			<title><![CDATA[Маски]]></title>
			<link>http://www.forum.aviosoft.ru/viewtopic.php?pid=194#p194</link>
			<description><![CDATA[<p>На данный момент есть большое неудобство связанное с использованием масок. По нашей идее маска должна распространять свое действие только на свою подгруппу и не влиять на другие группы. Например<br />1<br /> 1.1<br /> 1.2<br /> ...<br /> 1.n<br />2<br /> 2.1<br /> 2.2</p><p>маска созданная в подруппе 1.1 должна уметь оказывать влияние на группы 1.*, но не должна сказываться на группе 2 и её подгруппах. А маска созданная в подгруппе 1.1.1 дожна &quot;работать&quot; только на 1.1.* причем не замещая 1.1, а перемножаясь с ней. Сейчас это не так.</p><p>Похожая проблема возникла и при попытке использовать маски внутри функций отрисовки. Например, мы пытались сделать функцию отрисовки дуги эллипса, для этого маской обрезали эллипс внутри функции. А после при попытке использовать эту функцию, не смогли ограничить маской зону отрисовки.</p>]]></description>
			<author><![CDATA[null@example.com (gluhow)]]></author>
			<pubDate>Mon, 17 Apr 2017 11:37:30 +0000</pubDate>
			<guid>http://www.forum.aviosoft.ru/viewtopic.php?pid=194#p194</guid>
		</item>
	</channel>
</rss>
