• Алгоритмы антиалиасинга в реальном времени

    • Translation
    image

    Алиасинг (aliasing) — это, возможно, наиболее фундаментальный и самый широко обсуждаемый артефакт 3D-рендеринга всех времён. Однако в игровом сообществе его часто недопонимают. В этой статье я подробно расскажу о теме сглаживания (антиалиасинга, anti-aliasing, AA) в реальном времени, особенно о том, что касается игр, и в то же время буду излагать всё достаточно простым языком.

    Различные типы алиасинга и сглаживания, обсуждаемые в статье, будут в основном иллюстрироваться при помощи скриншотов из OpenGL-программы, предназначенной для демонстрации вариаций артефактов алиасинга.

    Эту программу можно скачать здесь.

    Прежде чем начать, позвольте мне сказать несколько слов о производительности: поскольку она является самым важным аспектом графики реального времени, мы в основном сосредоточимся на том, почему и как сегодня реализуется антиалиасинг. Я упомяну характеристики производительности, но строгая оценка всех представленных в этой статье способов антиалиасинга во разнообразных случаях реального использования будет слишком широкой темой для поста.
    Читать дальше →
  • 8 учебных проектов

    • Translation
    «Мастер совершает больше ошибок, чем новичок — попыток»

    Предлагаем 8 вариантов проектов, которые можно сделать «по фану», дабы получить реальный опыт разработки.

    Проект 1. Клон Trello


    image


    Клон Trello от Indrek Lasn .

    Что вы освоите:

    • Организация маршрутов обработки запросов (Routing).
    • Drag and drop.
    • Как создавать новые объекты (доски, списки, карточки).
    • Обработка и проверка входных данных.
    • Со стороны клиента: как использовать локальное хранилище, как сохранять данные в локальном хранилище, как читать данные из локального хранилища.
    • Со стороны сервера: как использовать базы данных, как сохранять данных в базе, как читать данные из базы.

    Тут пример репозитория, сделанного на React+Redux.
    Читать дальше →
  • Параллелизм против многопоточности против асинхронного программирования: разъяснение

    Хочу представить вашему вниманию перевод статьи Concurrency vs Multi-threading vs Asynchronous Programming: Explained.

    В последние время, я выступал на мероприятиях и отвечал на вопрос аудитории между моими выступлениями о Асинхронном программировании, я обнаружил что некоторые люди путали многопоточное и асинхронное программирование, а некоторые говорили, что это одно и тоже. Итак, я решил разъяснить эти термины и добавить еще одно понятие Параллелизм. Здесь есть две концепции и обе они совершенно разные, первая синхронное и асинхронное программирование и вторая – однопоточные и многопоточные приложения. Каждая программная модель (синхронная или асинхронная) может работать в однопоточной и многопоточной среде. Давайте обсудим их подробно.
    Читать дальше →
  • Парень из Чехии повторил дизайн iOS7 в Wordе

      Я понимаю, что у них там в Чехии все легализовано, но не до такой же степени…



      На сайте у этого «креатора» можно скачать исходник: www.upir.org (внизу надо ввести емейл).

      P.S. Раньше я использовал вопрос «В ворде рисовал?» чтобы как можно сильнее задеть «дизанера»… А теперь я боюсь услышать ответ «Да».
    • Главные секреты Стива Джобса

        imageКармин Галло (Carmine Gallo) является специалистом по коммуникативным тренингам. Для подготовки своей новой книги он провел много часов над изучением докладов и презентаций Стива Джобса. И теперь он поделится со всеми нами секретами успеха настоящего мастера публичных выступлений, а по совместительству – исполнительного директора Apple.

        Пять элементов, присутствующие во всех презентациях Apple.


        Прежде всего, стоит понять, что Стив Джобс не продает компьютеры. Он продает впечатления. То же самое можно сказать о его презентациях, которые призваны информировать, обучать и развлекать. Презентации Apple очень схожи с театральными постановками: отличный сюжет, герои и противники, необходимый сценический реквизит, захватывающие визуальные эффекты и то, что сполна оправдывает цену за входной билет.

        Вот они – 5 элементов каждой презентации Стива Джобса.
        Попробуйте включить их в свою речь, когда будете представлять свой продукт или идею – так, как это делает Джобс.
        Читать дальше →
      • Стеганография

        На хабре уже писали несколько раз о стеганографии, в частности недавний пост о LSB стеганографии (который, к сожалению, перенесен автором в черновики) пробудил во мне желание поделиться своими знаниями и мыслями по этой теме.

        Давайте предположим, что вы шпион и (как у любого уважающего себя шпиона) у вас на жестком диске имеется много секретной информации. Вам нужно её спрятать так, чтоб никто её не нашел. Причем в случае если вас поймают, то ваш компьютер отдадут на обследование и тот кто будет искать эту информацию будет на 99% уверен, что такая информация на жестком диске есть.

        Так какие же способы спрятать информацию есть в нашем распоряжении…
        Читать дальше →
      • Чем заняться айтишнику в армии или как я на VBA игры писал

        Прошло уже больше двух месяцев с момента моей демобилизации. Я уже освоился на свободе, пришло время рассказать правду. Служил я в разведке!.. «Секретная» в/ч ОсНаз ГРУ. По распределению попал в отдел ЦРП (Центр радиоперехвата). Работенка не пыльная, сидишь ночами в наушниках и слушаешь врага. Но речь пойдет не об этом.

        У каждого оператора поста радиоперехвата (таковыми мы числились) был в распоряжении компьютер с подключенными к нему РПУ (радио-приемными устройствами). На компьютере стоял спецсофт + Excel. Все остальное было заблочено. После N-ного дежурства я стал скучать… Зачесались руки.
        Читать дальше →
      • Таблицы — Emacs и org-mode

        На хабре уже есть посты про удивительные возможности org-mode — раз, два и три. В этом экскурсе я хочу рассказать ещё об одной возможности, с помощью которой можно пользоваться таблицами в текстовом редакторе (да, я про Emacs) без боли и унижения. А в org-mode таблицы достаточно просты и удобны:

        |           ip | description          | users |
        |--------------+----------------------+-------|
        | 192.168.0.11 | Бухгалтерия          |     2 |
        | 192.168.0.12 | Касса1               |     1 |
        | 192.168.0.13 | Касса2               |     1 |
        | 192.168.0.14 | Приёмная             |     2 |
        |--------------+----------------------+-------|
        |              | Всего пользователе=> |     6 |
        
        Подробности
        • +12
        • 8.3k
        • 4
      • How-to: Создание торговых роботов на TradeScript vol. 2

          image

          Мы неоднократно рассказывали об алгоритмической торговле на бирже и создании торговых роботов. Упоминали мы и о том, что большая часть участников фондового рынка все равно пользуется торговым терминалом — для совершения операций вручную или контроля действий робота.

          Однако даже тем торговцам, которые работают исключительно руками в терминале, иногда хочется автоматизировать некоторые процессы и запрограммировать торговые стратегии. Одним из способов подобной автоматизации является написание торговых роботов на скриптовом языке TradeScript, который встроен в терминал для торговли на бирже SmatX (процесс его создания описан в отдельном топике).
          Читать дальше →
          • +10
          • 14.8k
          • 6
        • Сверхбыстрое распознавание речи без серверов на реальном примере

          • Tutorial

          В этой статье я подробно расскажу и покажу, как правильно и быстро прикрутить распознавание русской речи на движке Pocketsphinx (для iOS порт OpenEars) на реальном Hello World примере управления домашней техникой.
          Почему именно домашней техникой? Да потому что благодаря такому примеру можно оценить ту скорость и точность, которой можно добиться при использовании полностью локального распознавания речи без серверов типа Google ASR или Яндекс SpeechKit.
          К статье я также прилагаю все исходники программы и саму сборку под Android.

          Прикручиваем Pocketsphinx к своему Андроиду
        • Разработка iOS8 приложения на Apple Swift

          • Translation
          • Tutorial
          Статья является своеобразным продолжением статьи «Знакомьтесь, Swift!» за авторством Helecta, а также вольным переводом статьи Developing iOS Apps Using Swift Tutorial Part 2.



          Итак, в первой статье мы написали простое Single View приложение, включающее таблицу с несколькими ячейками.
          На этот раз мы немного углубимся и сделаем несколько более амбициозных вещей. Мы будем обращаться к API поиска iTunes, парсить ответ, полученный в JSON и отображать результаты в Table View.
          На первый взгляд может показаться, что все это довольно сложно и предстоит много работы, но на самом деле это не так. Все описанное выше является достаточно простым функционалом для iOS приложений и каждый уважающий себя iOS разработчик должен это уметь.
          Читать дальше →
        • Защищаем сеть L2 коммутаторами

          • Tutorial


          Доброго времени суток. В данной статье рассказ пойдет о нескольких возможных атаках на сетевое оборудование, защититься от которых поможет правильная конфигурация коммутаторов.

          Вся терминология и конфигурационные команды приведены в соответствии с документацией компании Cisco, как негласный отраслевой стандарт. В начале описания каждой атаки содержится краткий экскурс в механизм работы атакуемого протокола. Рассчитана статья скорее на новичков, чем на сетевиков-профессионалов.

          Рассматриваться будут:

          • Rogue DHCP Server
          • DHCP starvation
          • CAM-table overflow
          • VLAN hopping
          • MAC-spoofing

          За основу взят видеоурок CBT nuggets из цикла CCNA security.
          Читать дальше →
        • Ruby и криптоалгоритмы ГОСТ

          • Tutorial
          Логотип Ruby и суровый ГОСТовый навесной замокВ жизни далеко не каждого разработчика наступает момент, когда приходится взаимодействовать с государственными системами. И немногим из них приходится взаимодействовать именно с российскими государственными системами. И так уж сложились звёзды, что я оказался одним из этих «счастливчиков».

          Особенность российского государева ИТ в том, что везде, где нужно обеспечить безопасность (шифрование) и целостность (подпись) информации, необходимо использовать только отечественные криптоалгоритмы (которые стандартизованы и описаны в добром десятке ГОСТов и RFC). Это весьма логично с точки зрения национальной безопасности, но весьма больно с точки зрения разработки на не самом популярном языке (это джависты вон обласканы вниманием со всех сторон).

          И вот, когда встала перед нами задача весьма плотного обмена сообщениями с ГОСТовой электронной подписью с одной из таких систем, то предложенный вариант решения в виде сетевого SOAP-сервиса, подписывающего запросы (и ответы) мне не понравился от слова «совсем» (оборачивать SOAP в SOAP — это какой-то кошмар в квадрате). Наступили длинные майские выходные, а когда они закончились — у меня было решение получше…
          Что же это за решение?
          • +21
          • 17.6k
          • 7
        • Как мы создавали собственную терминальную сеть



            Привет, Хабр. В августе 2013 года мы начали создавать собственную сеть платёжных терминалов. С тех пор прошло уже 10 месяцев, терминальный парк существенно разросся. И сегодня мы хотели бы подробнее рассказать об особенностях конструкции терминала, о заложенном в неё потенциале по расширению возможностей устройства и о наших планах на будущее по развитию терминальной сети.
            Читать дальше →
          • Изображения в верстке. Хватит это терпеть



            Надеюсь этот пост послужит ликбезом всем веб-дизайнерам, верстальщикам, и проджект-менеджерам. Если вы хороший верстальщик, вас однозначно раздражают растровые изображения. Вы ненавидите растр, и всё, что имеет заметные глазу пиксели. Если это не так, добро пожаловать под кат.
            Читать дальше →
          • Как я учил английский в Африке


              Мыс Доброй Надежды

              С английским у меня беда. Дело в том, что учил я его по MS-DOS и Паскалю, а потом по фильмам. Поэтому читать и переводить в нашу сторону научился хорошо, а вот строить предложения на лету для разговора – нет. А оно сильно надо, потому что у Мосигры всё больше и больше партнёров в Европе. Думаю, у вас такие проблемы не возникают, но вот желание заправить трактор иногда появляется — и живой английский реально нужен почти каждому.


              Мой заезд: Швейцария, Эмираты, Германия, Канада, Франция

              Поэтому я недолго думая отправился в Южную Африку. Быстрых по визе вариантов с тёплой погодой было три: Мальта (где среди учеников сплошь китайцы, а сам остров можно обойти за два дня), Дублин (с очень интересным акцентом) и Кейптаун (колония Великобритании). Поэтому – вниз, за экватор, и на самый край обитаемого мира. В Африку, к пушистым слонам и пингвинам, копающим норы.
              Читать дальше →
            • От идеи до App Store: 24 часа, 2 приложения

                Здравствуйте, дорогие читатели Хабра!

                В связи со сравнительно большой популярностью моего предыдущего стрима (От идеи до App Store за 24 часа), я решил организовать новую трансляцию. В этот раз не будем ограничиваться одним приложением, и доведем от идеи до App Store целых два приложения за 24-х часовой марафон.

                Сам марафон, как всегда, доступен по ссылке: twitch.tv. Общий чат для зрителей и ведущих в jabber'e: bdev@conference.mit.edu.

                За отведенное на марафон время мы с великолепным бекенд-девелопером (@pro100hikka98 — General Media Group) напишем с нуля два приложения:

                1. Приложение-агрегатор публичных учетных записей различных сервисов
                2. iOS клиент для сервиса обмена лайками, репостами и подписчиками

                В программе стрима:
                Узнать больше
                • +9
                • 19.3k
                • 6
              • Поляк построил музыкальный инструмент, спроектированный Леонардо да Винчи (+видео исполнения)



                  Эту новость сложно определить в какой-либо хаб, да и для Хабра она не совсем подходит, однако, новость заслуживает нашего с вами внимания. Все дело в том, что великий Леонардо да Винчи некогда спроектировал музыкальный инструмент, который мог бы стать интересным дополнением для инструментария классической музыки. Но инструмент не был построен ни при жизни великого мыслителя, ни, в течение очень долгого периода времени, после его смерти.

                  Читать дальше →
                • Извлекаем золото из старой электроники



                    У каждого из нас скопились десятки ненужных и сломанных гаджетов. Оказывается, все эти приборы способны принести немного пользы перед своим уничтожением.

                    Инженер и химик Джозеф Мурчинсон (Josehf Murchison) опубликовал на сайте Instructables пошаговую инструкцию, как выплавлять золото из старых электронных приборов, которые вы собирались выбросить на свалку: старые ноутбуки, телефоны, камеры, принтеры, сканеры и прочее ненужное барахло.
                    Читать дальше →
                  • Крошечный Excel на чистом JavaScript (30 строк кода)

                    • Translation
                    Особенности:
                    • Около 30 строк обычного JavaScript
                    • Использованные библиотеки: отсутствуют
                    • Синтаксис как в Excel (формулы начинаются с "=")
                    • Поддерживаются произвольные выражения(=A1+B2*C3)
                    • Обнаруживаются циклические ссылки
                    • Автоматическое сохранение в localStorage

                    image
                    Читать дальше →