 |
17.01.2012, 20:50
|
#226
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
разбор простейшего шейдера.
вершинный:
uniform mat4 modelviewproj;
layout(location=VA_POSITION) in vec3 position;
void main(void)
{
gl_Position = modelviewproj * vec4(position,1.0);
}
в первой строке получаем стандартный юниформ. Это mvp матрица. Ее считает и посылает движок.
layout(location=VA_POSITION) in vec3 position; (пока layout(location=0))
здесь в вершинный шейдер передается один из аттрибутов вершины. а именно позиция. (все системные аттрибуты можно глянуть здесь: http://code.google.com/p/axelynx/sou...ource/saSpec.h)
далее эта позиция в локальной системе координат множится на MVP матрицу - чтобы получить позицию вершины в нормированном кубе. Это такой куб (-1,-1,-1,1,1,1). потом к этой позиции применяется еще трансформация вьюпорта, чтобы получить позицию пикселя в оконных координатах.
out vec4 color;
void main (void)
{
color = vec4(1.0,0.0,0.0,1.0);
}
задается выходной аттрибут color.
и пишется в него значение.
если нужно несколько слоев (MRT), то можно использовать записи вида:
layout(location=0) vec4 color0;
layout(location=1) vec4 color1;
layout(location=2) vec4 color2;
layout(location=3) vec4 color3;
ну вот как то так.
HolyDel, а у тебя есть схема какая-нибудь которая показывает целиком архитектуру и устройство движка, чтобы было понятно как там все взаимосвязано и как работает?
|
нетъ
У тебя как хранение объектов организовано (в плане доступа к ним со стороны движка)?
|
храню указатель предков. динамическая типизация.
Просто я вот думаю, вот например есть объекты разных типов (шаблонные классы), и их нужно как то хранить в структуре похожей на связанный список. Но ведь связанные списки могут хранить объекты только одного типа. И я так понимаю что используя только статическую типизацию такой связанный список с объектами разного типа вообще нельзя сделать. Можно отказаться от шаблонов в пользу наследования, но гибкость теряется. Может разнотипные объекты как то по другому надо хранить?
|
шаблоны используются по минимому. мне вполне хватает наследования.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
17.01.2012, 21:07
|
#227
|
Мастер
Регистрация: 12.01.2009
Сообщений: 983
Написано 390 полезных сообщений (для 634 пользователей)
|
Ответ: axelynx
В моем случае наверное можно так: сделать общий интерфейс и подключать его к реализациям с помощью паттерна мост. Тогда в связанный список помещать объекты интерфейсов и через них управлять любыми реализациями.
А кстати по поводу шейдеров. В RM там конечно здорово но там максимальная версия вроде 3.0. Бесплатных редакторов я что то не видел где была бы версия шейдеров выше. Может в движок стоит добавить какой-нибудь небольшой редактор?  Ведь в реалтайме редактировать шейдеры удобней.
Вот смотри тут есть: http://www.uraldev.ru/articles/22
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.01.2012, 02:49
|
#228
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: axelynx
новая версия.
пофикшена ошибка с MRT
пофикшена ошибка в шейдере паралакса
пофикшена ошибка в проигрывании феоры
пофикшена ошибка в инстансинге
добавлен ряд старых сэмплов
начата работа над справкой по движку и по шейдерам (в архиве они есть).
версия фулл (с прекомпилированными статическими либами, 96 метров)
http://axelynx.googlecode.com/files/...x_106_full.exe
версия лайт( без либ, 40 метров):
http://axelynx.googlecode.com/files/...x_106_lite.exe
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.01.2012, 09:14
|
#229
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: axelynx
А не слишком резкая граница размытия между передним планом и областью фокуса? На заднем плане лучше смотрица.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.01.2012, 11:58
|
#230
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: axelynx
так лучше?
можно играться вот с этой строчкой в шейдере dof.fs
blur = pow(-dist / focal_distance,2.5);
|
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
25.01.2012, 12:00
|
#231
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: axelynx
Вроде да
|
(Offline)
|
|
07.02.2012, 16:05
|
#232
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: axelynx
добавил группы рендера
пофиксил ошибку в рендере спрайтовых систем
ускорил расчет тангентов
пилю демку с DS
|
(Offline)
|
|
Эти 6 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
07.02.2012, 17:22
|
#233
|
Мастер
Регистрация: 12.01.2009
Сообщений: 983
Написано 390 полезных сообщений (для 634 пользователей)
|
Ответ: axelynx
Сообщение от HolyDel
добавил группы рендера
пофиксил ошибку в рендере спрайтовых систем
ускорил расчет тангентов
пилю демку с DS
|
В чем суть групп рендера, как и где их можно будет использовать, в чем приемущество или удобность?
Что такое DS?
В движке будет что то аналогичное SpeedTree ?
|
(Offline)
|
|
07.02.2012, 19:10
|
#234
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: axelynx
В чем суть групп рендера, как и где их можно будет использовать, в чем приемущество или удобность?
|
в текущей демке используются. одна группа на геометрию, вторая на сферы со светом. сначала рендерим геометрию в текстуры, потом рендерим источники света. Чтобы не скрывать/показывать их постоянно, было решено разделить их по рендер-группам. + у каждой рендергруппы может быть свой сценеграф.
deffered shading (хотя я лучше бы называл его deffered lighting)
В движке будет что то аналогичное SpeedTree ?
нет, это сгенеренная в максе геометрия.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
07.02.2012, 23:08
|
#235
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: axelynx
1000 источников света
почти 4 ляма трисов в кадре

|
(Offline)
|
|
Эти 11 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
4yBa4Ok (08.02.2012), Dzirt (08.02.2012), Hurrit (13.02.2012), impersonalis (13.02.2012), mauNgerS (08.02.2012), pax (08.02.2012), pozitiffcat (08.02.2012), Randomize (07.02.2012), Samodelkin (08.02.2012), SBJoker (08.02.2012), Жека (20.04.2012)
|
08.02.2012, 17:11
|
#236
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: axelynx
водичка в процессе разработки. пока без динамических отражений

|
(Offline)
|
|
Эти 9 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
08.02.2012, 18:06
|
#237
|
Знающий
Регистрация: 01.04.2011
Адрес: Екатеринбург
Сообщений: 232
Написано 48 полезных сообщений (для 82 пользователей)
|
Ответ: axelynx
4откие скрины :D
|
(Offline)
|
|
13.02.2012, 05:03
|
#239
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Ответ: axelynx
а под iOS и android трудно будет его переделать? и есть ли возможность запускать на маке?
|
(Offline)
|
|
13.02.2012, 05:13
|
#240
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: axelynx
а под iOS и android трудно будет его переделать? и есть ли возможность запускать на маке?
|
теоретически - должно быть не сложно. но только под gles 2.0. Так как все на шейдерах. + нужно будет писать свой парсер для всяких layout-ов. Да я и с самого начала планировал, что будут порты под современнве девайсы.
на практике - мне так и не удалось нормально собрать NDK чтобы посмотреть на нем какие-нибудь gles 2.0 примеры. Мака нет, вираулку ставить не хочу, хакинтош тоже. Мак есть на работе, но там пока времени нет что то сделать для себя.
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:24.
|