<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1569168627138048044</id><updated>2024-08-29T12:22:37.378+05:00</updated><category term="xna"/><category term="programming"/><category term="пидарасы"/><category term="linux"/><category term="anime"/><category term="python"/><category term="говноеды"/><category term="убунта"/><category term="debian"/><category term="mysql"/><category term="qt"/><category term="электрические игры"/><category term="c++"/><category term="download"/><category term="flash"/><category term="gtk"/><category term="личное"/><title type='text'>Суперзлодей из космоса.</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-7075074589584693599</id><published>2013-04-29T02:01:00.000+06:00</published><updated>2013-04-29T02:01:03.704+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="электрические игры"/><title type='text'>Бесконечный Биошок.</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Bioshock Infinite - игра десятилетия. Чистый ураган как появляется крюк и рельсы. Постановка лучшая в видеоиграх. Но на самом деле это не главное. Главное то когда она упала, после включения в пятницу вечером на &quot;погонять чуть-чуть&quot;, то за окном была суббота и полдень. Ещё там говорят есть куча пушек, но я почти всё с дробовиком прошёл. Почему? Потому что шотган.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/7075074589584693599/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/7075074589584693599' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/7075074589584693599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/7075074589584693599'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2013/04/blog-post.html' title='Бесконечный Биошок.'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-7808462375264623490</id><published>2013-02-05T12:52:00.001+06:00</published><updated>2013-02-05T12:53:17.475+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><category scheme="http://www.blogger.com/atom/ns#" term="пидарасы"/><title type='text'></title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;
Ну вот и всё. XNA мертво: &lt;a href=&quot;http://goo.gl/7TIO7&quot;&gt;тут&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;
А очередное обновление интерфейса блоггера превратило его в говно какие то.&lt;/p&gt;
</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/7808462375264623490/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/7808462375264623490' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/7808462375264623490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/7808462375264623490'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2013/02/blog-post.html' title=''/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-4123001046423998493</id><published>2012-08-22T12:12:00.001+06:00</published><updated>2012-08-22T14:17:09.894+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><title type='text'>XNAnimation на WP7</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Портировал XNAnimation под WP7. Задача на самом деле очень простая.&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Выкидываем все кастомные шейдеры и модели. На выходе должна быть стандартная модель и стандартный SkinningEffect. Надо будет вырезать весь код который занимался собственным классом модели на стороне процессора и игры.&lt;/li&gt;
&lt;li&gt;Информацию про анимации и скелет помещаем в отдельный класс. Класс помещаем в Tag модели. Делаем соответствующий ContentTypeWriter и ContentTypeReader.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
И на этом всё. На выходе получается нормальный скининг с быстрой загрузкой, блендингом анимаций и всеми наворотами прямо на телефоне. Всей работы на 2-3 часа.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;P.S. Новый интерфейс блогспота - говно.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/4123001046423998493/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/4123001046423998493' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4123001046423998493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4123001046423998493'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2012/08/xnanimation-wp7.html' title='XNAnimation на WP7'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-8704547403201548802</id><published>2012-02-24T02:54:00.004+06:00</published><updated>2012-02-24T03:12:34.243+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><title type='text'>Использование особенностей C# в материалах.</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Итак, задача. У нас есть куча эффектов с разными параметрами. Надо в них загнать данные, много, разных. И надо чтобы всё было в более-менее одном месте. Тут вылезает чудная возможность C#, в C++ отсутствующая. Мы можем на ходу спросить объект &quot;ты вот такой интерфейс реализуешь?&quot; и получить ответ. И тут же смотрим в стандартные эффекты XNA - там уже есть интерфейсы вроде IEffectLight, IEffectMatrices. Далее делаем наш эффект реализующий нужные интерфейсы (и ещё добавляем своих), при рендере просто спрашиваем &quot;у тебя такой интерфейс есть? А такой?&quot; и передаём через них все данные. Всё, можно делать кучу сложных вещей. Можно делать ещё интерфейсы типа &quot;рендерюсь в карту теней&quot; откуда доставать предназначенную для этого технику. Назначение эффектов и установка неизменяемых параметров с текстурами спокойно делается в простеньком расширении Content Pipeline.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Код рендера будет все эти новые эффекты подхватывать сразу. И спокойно жить как с нашими так и с стандартными шейдерами. Менять что либо надо только если появились новые интерфейсы. Скорость - в профайлере на тяжелой сцене не вылазит вообще, мусор тоже не генерирует.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;И чтобы я когда либо вернулся на плюсы после таких ништяков.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;И важный момент, не совсем в тему. Frustrum.Intersects медленный, не используйте на каждый объект, проверяйте большими блоками.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/8704547403201548802/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/8704547403201548802' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/8704547403201548802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/8704547403201548802'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2012/02/c.html' title='Использование особенностей C# в материалах.'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-478612033249695692</id><published>2011-10-18T14:31:00.006+06:00</published><updated>2011-10-18T14:48:23.154+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><title type='text'>Сборка контента через msbuild</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Идея игры получается какой то не очень. Жечь зомби слишком однообразно, придётся придумывать что то новое.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;А я разобрался как собирать контент для XNA без использования студии. Для этого надо проделать такое:&lt;/p&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Взять msbuild (он в /Windows/Microsoft.NET/..., не в Program Files.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Добавить в contentproj&lt;br/&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;Import Project=&quot;$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.targets&quot; /&amp;gt;&lt;br /&gt;&amp;lt;Import Project=&quot;$(MSBuildExtensionsPath)\Microsoft\XNA Game Studio\Microsoft.Xna.GameStudio.ContentPipelineExtensions.targets&quot; /&amp;gt;&lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Запустить msbuild с ключами /p:XNAContentPipelineTargetPlatform=Windows /p:XNAContentPipelineTargetProfile=Reach&lt;/li&gt;&lt;br /&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Сжатие контента: /p:XNACompressContent=true&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;И на выходе в папке bin будет собранный контент. Если собирать проект весь, не только контент, то достаточно запустить msbuild в папке где лежит csproj игры.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Теперь дело за малым - интегрировать всё это с контролем версий, чтобы игра собиралась автоматом при заливании изменений. Автоматизация, хо!&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/478612033249695692/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/478612033249695692' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/478612033249695692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/478612033249695692'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/10/msbuild.html' title='Сборка контента через msbuild'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-145679094326691439</id><published>2011-10-07T15:20:00.002+06:00</published><updated>2011-10-07T15:24:36.504+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><title type='text'>Ну вот и всё</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt; http://forums.create.msdn.com/forums/t/91616.aspx - будущее XNA туманно. Оно не будет жить на WinRT, скорее всего не будет поддерживать планшетники и WP8. Официально рекомендуется использовать WinRT/C++/DX11 для планшетов. Пока я сделаю игру под WP7 (анонс чере пару недель, следите за эфиром) и скорее всего начну делать крутой Ъ-фреймворк для игр на DX11 и с поддержкой WinRT в уме. А C# такой приятный язык.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/145679094326691439/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/145679094326691439' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/145679094326691439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/145679094326691439'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/10/blog-post.html' title='Ну вот и всё'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-4821366657275127490</id><published>2011-08-21T06:03:00.005+06:00</published><updated>2011-08-21T06:09:59.499+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="электрические игры"/><title type='text'>Jamestown</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Казуальное непотребство. Играть можно с любого открытого уровня, сложность ниже Divine следует считать изимодом. Divine не крут - любой уровень сдаётся максимум с первого-второго десятка попыток. Более-менее весело только на Judgement.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Но всё это по меркам жанра, на фоне типичных нынешних игрушек тут хардкор.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/4821366657275127490/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/4821366657275127490' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4821366657275127490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4821366657275127490'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/08/jamestonw.html' title='Jamestown'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-2085965294827335580</id><published>2011-08-15T17:13:00.002+06:00</published><updated>2011-08-15T17:16:08.745+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><title type='text'>CLRProfiler и XNA</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Если вдруг CLRProfiler стал падать при запуске XNA-игрушек то надо запускать его из командной строки из той же папки где лежит exe. Причина - XACT не очень хорошо дружит с определением рабочей папки, не может найти звук и кидает исключение.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/2085965294827335580/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/2085965294827335580' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/2085965294827335580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/2085965294827335580'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/08/clrprofiler-xna.html' title='CLRProfiler и XNA'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-4949661459099518300</id><published>2011-07-28T15:56:00.003+06:00</published><updated>2011-07-28T15:59:20.549+06:00</updated><title type='text'>Оживить торрент.</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Достаточно простой но неочевидный способ сделать мёртвый торрент живым. Для этого достаточно взять хэш, найти трекеры на которых торрент ещё был выложен и добавить их. Искать можно даже в гугле. В природе есть огромное количество трекеров о которых никто не слышал, если повезёт - то на одном-двух окажутся живые сиды.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/4949661459099518300/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/4949661459099518300' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4949661459099518300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4949661459099518300'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/07/blog-post.html' title='Оживить торрент.'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-1590804554831944490</id><published>2011-06-14T18:10:00.003+06:00</published><updated>2011-06-14T18:14:30.123+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="flash"/><category scheme="http://www.blogger.com/atom/ns#" term="пидарасы"/><title type='text'></title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Flash вообще и AS3 в частности говно лютое, всех кто его использует по собственной воле следует физически уничтожить, они не люди вообще. Тех кто придумал - растворить заживо в кислоте с прямой трансляцией в стерео на весь мир. Пидараса что не сделал опцию &quot;я ебал ваши вектора, скейлинг-хуельник и прочее говно, хочу чтобы было M на N пикселе и всё было в них&quot; вообще больно-больно убивать, потом вылечить, потом снова убивать и так пока не дойдёт до абсолютно нелечибельного сосотояния.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/1590804554831944490/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/1590804554831944490' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/1590804554831944490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/1590804554831944490'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/06/flash-as3.html' title=''/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-4992714574208083938</id><published>2011-06-07T11:51:00.002+06:00</published><updated>2011-06-07T11:59:14.101+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><title type='text'>Столкновения.</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Сделал столкновения через BSP-дерево. За основу взят код найденный на AppHub, переделан на построение дерева для каждого меша, сохраняется вместе с моделью. В рантайме считается проверка на пересечение с Bounding Sphere, затем перевод в систему координат модели и проверка столкновения с деревом. Профайлер показывает что со скоростью всё в порядке. Сотня проверок на кадре и функция определения столкновений сидит где то в средней части. Минус сейчас - генерация мусора, надо найти реализацию LinkedList которая бы лучше работала с памятью. Или оставить как есть если сборка мусора не будет вызывать проблем.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/4992714574208083938/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/4992714574208083938' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4992714574208083938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4992714574208083938'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/06/blog-post_07.html' title='Столкновения.'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-5785243179120198441</id><published>2011-06-06T02:46:00.005+06:00</published><updated>2011-06-06T03:06:15.864+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><title type='text'>Новые материалы.</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Теперь вариант с полной подготовкой материалов в оффлайне реализован. Всё исходит из того что у меня конечное и неизменное число источников света и явное разделение на объекты первого и заднего плана. Текстуры и параметры материала в рантайме менять нельзя, материалов как таковых в коде нет, есть только параметры задаваемые снаружи, такие как матрицы и источники света. Преимущества подхода: тривиально в рантайме, не нужно использовать свой класс моделей и материалов.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Реализация проста. Наследуется MaterialEffect и MaterialEffectContent, в ConvertMaterial ставится эффект с зашитыми в него параметрами и текстурами. У наследника появляется ровно одно поле - техника. Техника определяется по наличию текстур и параметров на меше, сохраняется в материал. При загрузке мы просто грузим MaterialEffect, текстуры и параметы уже получаются установленными. Потом ставим нужную технику. И на этом всё, далее достаточно использовать стандартный код для рисования, точно как с BasicEffect, только внешних параметров чуть больше.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Сам эффект сделан чем-то вроде убершейдера. Есть вершинный и пиксельный шейдер с кучей униформов. В зависимости от их установки меняется ход выполнения. Есть техники которые перебирают все возможные сочетания параметров и отражают включенные возможности в аннотации. Пока делается через макросы, дальше можно будет сделать простой кодогенератор. При сборке конкретная техника для данного сочетания параметров материала находится через аннотации.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Методику можно развить: сохранять не одну технику а кучу разных, в зависимости от типов и числа источников света, теней и прочих. В рантайме выбирать нужную исходя из внешних параметров, в эффекте при этом будет что то типа &quot;параметры -&gt; техника&quot;.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/5785243179120198441/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/5785243179120198441' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/5785243179120198441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/5785243179120198441'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/06/blog-post_06.html' title='Новые материалы.'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-1159552408281283009</id><published>2011-06-03T13:56:00.003+06:00</published><updated>2011-06-03T14:00:07.848+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><title type='text'></title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Совершенно новая идея. Надо прямо при сборке ресурсов делать батчи. Сортировать MeshPart по эффектам, собирать части с одинаковыми эффектами вместе, ставить флажки типа &quot;прозрачно/непрозрачно&quot;. Делать этим батчам какие нибудь id&#39;ы для объединения одинаковых и рисования через инстансинг. Много подобных идей, непонятно как подходить пока.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/1159552408281283009/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/1159552408281283009' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/1159552408281283009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/1159552408281283009'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/06/blog-post.html' title=''/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-4654813883313980893</id><published>2011-05-30T18:07:00.003+06:00</published><updated>2011-05-30T18:20:04.501+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><title type='text'>Yet again.</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;И в итоге круг замкнулся - необходимость в собственном классе моделей отпадает, убершейдерам моего производства находится замена. Следующая итерация будет вокруг разделения эффектов на постоянные параметры, задающиеся при сборке, и на переменные параметры. Это по идее должно сильно упростить сортировку рисуемых объектов на экране и избавится от того ужаса который я сделал.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Самый вопрос в том как к этой красоте прикрутить автоматические тесты.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/4654813883313980893/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/4654813883313980893' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4654813883313980893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4654813883313980893'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/05/yet-again.html' title='Yet again.'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-1550156368558347518</id><published>2011-05-19T12:49:00.003+06:00</published><updated>2011-05-19T13:41:56.437+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><title type='text'>Система материалов</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Разрабатываю систему материалов для своего убердвижка на XNA. Будут убершейдеры и две модели света.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Сборщик убершейдеров умеет бинарные пины. В .fx-файле, в комментариях, описываются возможные пины и соответствующие им дефайны. Каждому пину соответсвует битовая маска. Препроцессор умеет их вытаскивать, перебирать и складывать скомпилированные эффекты в файл. В рантайме эффект возвращается по битовой маске.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Первая модель света предназначена для основного действия. Всегда есть 3 направленных источника света, соответствует стандартной модели освещения используемого в фотографировании.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Вторая модель света используется для фона. Один направленный источник есть всегда. Один точечный источник служит для света от взрывов и эффектов на переднем плане.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Будет до 5 текстур для каждого материала. Диффузная, нормаль, спекуляр, излучение и детализация. Каждая текстура может быть анимирована по UV, это должно дать возможность делать разные крутые эффекты. Свет намерен считать по Кук-Торренсу.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Главной проблемой может быть невозможность впихнуть всё в один проход пиксельного шейдера, я пока не специалист в этой области. Второй проблемой - комбинаторика, шейдеров может быть очень много. К примеру точно придётся считать все текстуры анимированными с нулевой скоростью по умолчанию. Так же вопрос про необходимость наличия нескольких UV-координат на мешах.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/1550156368558347518/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/1550156368558347518' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/1550156368558347518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/1550156368558347518'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/05/blog-post_19.html' title='Система материалов'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-2846668951925517142</id><published>2011-05-18T01:05:00.007+06:00</published><updated>2011-05-18T01:19:22.097+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="xna"/><title type='text'>Глубже.</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Рабираюсь с XNA, оно заебись что такое. Первый взгляд на котором типично останавливаются и возвращаются клепать &quot;уберэнжин&quot; на OGL/DX/что-там-ещё ошибочен. Базовые возможности действительно пригодны в основном для демок и реально быстрой разработки, когда важно чтобы оно вообще заработало. Нужно идти глубже.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Самая писечка на текущий момент мне видится в связке Content Pipeline - игра. Первым сделал генератор спрайтовых атласов, спрайты переменого размера, скалдываются в кучу текстур, всё сохранятеся в один файл. Для доступа на atlas[&quot;имя спрайта&quot;] получаем номер текстуру и область на текстуре для спрайта. Между отдельными элементами - 1 пиксель свободен, всё как положено.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Второе - генератор убершейдеров, пока с бинарными пинами. Генерирурет все возможные комбинации, складывает в файл, доступ по принципу Effect effect = ubershader[pin]. Хотел сделать крутую систему материалов, пока забил, нет надобности. Система построена на добавлении в текст шейдера описания возможных пинов. Далее можно добавить не-бинарные пины и указания несочетаменмых комбинаций.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Анимация которую не поддерживают стандартные модели добавляется очень легко. Всю работу сделали за нас - импортер про анимацию знает. Всё что нужно от нас это аниацию сохранить, загрузить и воспризвести. Очень простая задача, сделана вместе с заменой шатного класса моделей. Теперь внутри есть анимация, описания материалов отличные от обычных эффектов. Теперь следует сделать всякую нудную работу вроде блендинга и интерфейсов для управления.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Желания возвращаться на всякие там плючы нет уже вообще. Надо идти глубже.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/2846668951925517142/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/2846668951925517142' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/2846668951925517142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/2846668951925517142'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/05/blog-post.html' title='Глубже.'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-5824297643474103782</id><published>2011-04-01T17:49:00.003+06:00</published><updated>2011-04-01T17:51:45.300+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="пидарасы"/><title type='text'></title><content type='html'>По моему slackware и бубунта единственные линуксы что не поддались на коллективное петросянство. Даже Arch зашкварился. С учётом того что бубунта происходит от петросянов-дебилов дебиана то её дни сочтены. Нету больше линуксов.</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/5824297643474103782/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/5824297643474103782' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/5824297643474103782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/5824297643474103782'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/04/slackware.html' title=''/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-5778176126908526431</id><published>2011-04-01T17:43:00.003+06:00</published><updated>2011-04-01T17:46:53.364+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="пидарасы"/><title type='text'></title><content type='html'>Идиоты завели новую моду. Берём произвольную js библиотеку делающую круто или красиво. Идём на родной сайт. И пробуем найти документацию. Демки - сколько хочешь. Список &quot;кто использует&quot; - ещё больше. А ссылка на банальное описание параметров и что как делается спрятано где нибудь в жопе.&lt;br /&gt;Надеюсь что разработчиков в аду черти будут насиловать вилами в зад до конца вселенной, а то что авторов надо убить при первой же возможности даже не обсуждается.</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/5778176126908526431/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/5778176126908526431' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/5778176126908526431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/5778176126908526431'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/04/blog-post.html' title=''/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-4467028570237288955</id><published>2011-03-10T18:13:00.003+05:00</published><updated>2011-03-10T18:14:48.576+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="пидарасы"/><title type='text'>TinyMCE</title><content type='html'>Говно. Вообще за неспособность делать html руками и потребность в таких редактрах следует разжаловать из звания &quot;человек&quot; и отправлять в зоопарк, в клетку &quot;говорящее животное&quot;. Или просто убивать на месте.</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/4467028570237288955/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/4467028570237288955' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4467028570237288955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4467028570237288955'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/03/tinymce.html' title='TinyMCE'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-4302253412497187859</id><published>2011-03-05T14:01:00.001+05:00</published><updated>2011-03-05T14:02:49.070+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="пидарасы"/><title type='text'></title><content type='html'>В ссаном MySql нет EXCEPT. Найти того кто это придумал и убить нахуй.</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/4302253412497187859/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/4302253412497187859' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4302253412497187859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/4302253412497187859'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/03/mysql-except.html' title=''/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-2231108409684170134</id><published>2011-03-01T20:33:00.001+05:00</published><updated>2011-03-01T20:33:46.107+05:00</updated><title type='text'></title><content type='html'>Угадайте кто вернулся в эфир.</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/2231108409684170134/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/2231108409684170134' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/2231108409684170134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/2231108409684170134'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2011/03/blog-post.html' title=''/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-8279698880123870844</id><published>2009-07-08T16:34:00.005+06:00</published><updated>2009-07-08T16:40:25.807+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="qt"/><category scheme="http://www.blogger.com/atom/ns#" term="говноеды"/><title type='text'>SVG-иконки в QT-программах.</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Теоретически это отличная идея - использовать векторные иконки. Внешний вид более не зависит от разрешения, при изменении масштаба глаза не начинают вытекать от пикселей. Ок, добавляем их в QT-ресурсы, компилируем и видим что ничего не работает. Иконок нет, как и сообщений об ошибках. В чём секрет?&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Оказывается Qt с легкостью хватает любые форматы изображений без специального объявления кроме SVG. Для того чтобы QIcon понял что это, надо чтобы расширение svg было в имени. Лечение выглядит натуральным хаком - в alias ресурса надо добавить &quot;.svg&quot; и его-же в код грузящий иконки, Qt.QIcon(&#39;:/icon.svg&#39;).&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Интересно только чем думают авторы?&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/8279698880123870844/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/8279698880123870844' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/8279698880123870844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/8279698880123870844'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2009/07/svg-qt.html' title='SVG-иконки в QT-программах.'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-1986522220380169553</id><published>2009-06-15T17:24:00.003+06:00</published><updated>2009-06-15T17:30:35.474+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="говноеды"/><title type='text'>MySQL говно или как сделать DATETIME из DATE и TIME</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Казалось бы делается это очевидно: DATETIME(date, time). Но нет, пидарасы, что создали MySQL, так не думают. Час в гугле вывел на работающий способ аналогичный удалению гланд через жопу. Нам надо собрать строку из date и time и эту строку преобразовать в datetime.&lt;/p&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Узрейте свет ИСТИНЫ:&lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;code&gt;CAST(CONCAT(date, &quot; &quot;, time) AS DATETIME)&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/1986522220380169553/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/1986522220380169553' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/1986522220380169553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/1986522220380169553'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2009/06/mysql-datetime-date-time.html' title='MySQL говно или как сделать DATETIME из DATE и TIME'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-5752420809237511247</id><published>2009-02-18T19:15:00.004+05:00</published><updated>2009-02-18T19:28:44.217+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><category scheme="http://www.blogger.com/atom/ns#" term="qt"/><title type='text'>Python, subprocess и MPlayer</title><content type='html'>&lt;p style=&quot;text-align: justify;&quot;&gt;Какое-то время назад возникла проблема играть из программы звук в нечеловеческих форматах. Кроссплатформено. Сначала я хотел использовать существующие библиотеки (Audiere например), но в конце-концов решил использовать MPlayer в slave mode. Всё работает БОДРЯЧКОМ под Linux естественно. А под Windows?&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;А ситуация с Windows описывается словом &quot;жопа&quot;. Научить MPlayer понимать команды я не смог (что-то с пайпами, лень возиться). К счастью бегать по одному треку или ставить на паузу не надо, процесс можно просто убивать. Просто хак с проверкой что мы под Windows и всё.&lt;/div&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Новая проблема возникла далее - MPlayer просто не запускался. Если программа запускается из консоли или собирается с помощью py2exe как console - всё ОК, но как GUI не работает. Проблема оказалась снова в пайпах. Решение - при создании процесса с помощью subprocess.Popen задать все потоки (stdin, stdout, stderr), а не только нужные нам.&lt;/p&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Но тут вылезла проблема номер 3. MPlayer выкидывал некрасивое пустое консольное окошечко поверх нашей Qt-морды. Решение было найдено в гугле минуты за 2 &lt;a href=&quot;http://code.activestate.com/recipes/409002/&quot;&gt;тут&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;В итоге всё даже работает. Осталось только поизучать исходники SMPlayer&#39;а чтобы узнать как обойтись без хаков. А всё почему? Потому что Windows - говно.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/5752420809237511247/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/5752420809237511247' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/5752420809237511247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/5752420809237511247'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2009/02/python-subprocess-mplayer.html' title='Python, subprocess и MPlayer'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1569168627138048044.post-2384172040438256635</id><published>2008-12-05T19:01:00.003+05:00</published><updated>2008-12-05T19:08:10.326+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="c++"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="говноеды"/><title type='text'>Автор Audiere - говноед и пидарас.</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Это я заявляю официально. Который день разгребаю этот кусок говна (надо было на свою голову выбрать именно эту библиотеку), а оно не кончается. И это я еще код серьезно не трогал. А там ахуй в стиле &quot;мы знаем вот такую клёвую фичу C++!&quot;. Слать туда патчи, как я планировал изначально, нельзя ни в коем случае. Форк, только форк и тотальный рефакторинг!&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://vlks.blogspot.com/feeds/2384172040438256635/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1569168627138048044/2384172040438256635' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/2384172040438256635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1569168627138048044/posts/default/2384172040438256635'/><link rel='alternate' type='text/html' href='http://vlks.blogspot.com/2008/12/audiere.html' title='Автор Audiere - говноед и пидарас.'/><author><name>vv</name><uri>http://www.blogger.com/profile/00431318231966753609</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>