воскресенье, 5 января 2014 г.

ShaderToy

Удивительный сайт ShaderToy для себя открыл. На нем как раз можно учиться и учиться писать шейдеры. Насколько я понял пишем мы уже в fragment shader. Есть список входящих переменных, таких  как: текущее время, 4 текстуры на выбор. А самое главное куча сложных ( и красивых) и простых примеров. можно разобраться с техниками демо исключительно написанных на шейдере, без вычислений на cpu.

пятница, 20 декабря 2013 г.

Зачем нужны Model, View, Projection матрицы в OpenGL ES



Тот, кто любит ковыряться в исходниках или примерах кода для OpenGL или DirectX (да и вообще для графики), очень часто встречает наличие матриц в шейдере. И чаще всего они имеют похожие названия (а также одну и туже размерность).
Есть три основных типа матриц:

  • Model 
  • View
  • Projection

пятница, 30 сентября 2011 г.

Использование контекста EF во времени

Меня давно интересовал такой вопрос: какой продолжительностью времени жизни должен обладать контекст Entity Framework?

И вот недавно я нашел ответ:
http://stackoverflow.com/questions/3653009/entity-framework-and-connection-pooling

Если кратко, то каждый раз когда мы выполняем логическую (бизнес?) операцию, так как EF позаботится о сохранении всех метаданных и поэтому повторное создание контекста будет быстрым. В свою очередь DB provider должен позаботиться о пуле соединений.

пример:
using (SupplierServiceEntities Context = GetContext())
      {
        Session s = (from sess in Context.Sessions
               where sess.Sid == sid && EntityFunctions.AddMinutes(sess.DateOfLastAction, ExpireSessionTimeoutMinutes) > DateTime.Now
               select sess).FirstOrDefault();
        if (s != null)
          return true;

        return false;
      }


* This source code was highlighted with Source Code Highlighter.

пятница, 9 сентября 2011 г.

Компилированные запросы Linq (Compiled query) и ADO.Net 4.0

Многие пытаются сравнить производительность Entity Framework с чистым SQL. В любом случае запрос выполненный с помощью прямого SQL запроса будет быстрее чем использование LINQ хотя бы за счет маппинга полей.

Но эту разницу можно сократить до минимума. В EF 4.0 Linq запрос компилируются (разбираются) каждый раз когда к ним обращаются. Сама по себе эта операция дорогостоящая и мы должны от нее избавиться.

Делается это с помощью класса CompiledQuery

понедельник, 2 мая 2011 г.

OpenGL ES 2.0 на android. MultiTexturing

MultiTexturing - это простая техника, с помощью которой можно смешивать 2 и более текстуры. Данная техника применяется, например, для отображения света фонарика на стене.

воскресенье, 10 апреля 2011 г.

OpenGL ES 2.0 на android. Простой и текстурированный квадрат

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

четверг, 7 апреля 2011 г.

OpenGL ES 2.0 на android. Начало

Пожалуй, самое главное отличие версий OpenGL ES 1.x и 2.0 - это появление в версии 2.0 pipeline with programmable shading, то есть шейдеров (shaders). Почти все красоты современных игр сделаны с использованием шейдеров. В  OpenGL ES шейдеры бывают двух типов: Vertex shaders и Fragment shaders. Описание и использование OpenGL ES 2.0 можно найти в книге OpenGL®ES 2.0 Programming Guide.

Реализация OpenGL ES 2.0 в android, используя java классы, появляется начиная с версии android 2.2. Создать приложение для android очень просто, а вот отладку производить не очень, так как эмулятор не имеет поддержки OpenGL ES 2.0 (по крайней мере, я не смог этого добить на данный момент, а сейчас у меня есть устройство с поддержкой второй версии, и эмулятор не требуется :-) )

Под катом, как написать простое приложение на  OpenGL ES 2.0 для android