Удивительный сайт ShaderToy для себя открыл. На нем как раз можно учиться и учиться писать шейдеры. Насколько я понял пишем мы уже в fragment shader. Есть список входящих переменных, таких как: текущее время, 4 текстуры на выбор. А самое главное куча сложных ( и красивых) и простых примеров. можно разобраться с техниками демо исключительно написанных на шейдере, без вычислений на cpu.
Записульки программиста
Для тех кому интересно все о программировании, .Net, android, c#, java, c++, технологии
воскресенье, 5 января 2014 г.
пятница, 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 должен позаботиться о пуле соединений.
пример:
И вот недавно я нашел ответ:
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 запрос компилируются (разбираются) каждый раз когда к ним обращаются. Сама по себе эта операция дорогостоящая и мы должны от нее избавиться.
Делается это с помощью класса
Но эту разницу можно сократить до минимума. В EF 4.0 Linq запрос компилируются (разбираются) каждый раз когда к ним обращаются. Сама по себе эта операция дорогостоящая и мы должны от нее избавиться.
Делается это с помощью класса
CompiledQuery
понедельник, 2 мая 2011 г.
воскресенье, 10 апреля 2011 г.
четверг, 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
Реализация OpenGL ES 2.0 в android, используя java классы, появляется начиная с версии android 2.2. Создать приложение для android очень просто, а вот отладку производить не очень, так как эмулятор не имеет поддержки OpenGL ES 2.0 (по крайней мере, я не смог этого добить на данный момент, а сейчас у меня есть устройство с поддержкой второй версии, и эмулятор не требуется :-) )
Под катом, как написать простое приложение на OpenGL ES 2.0 для android
Подписаться на:
Сообщения (Atom)