forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Вопросы про Xors3D (http://forum.boolean.name/showthread.php?t=15605)

Mr_F_ 14.07.2012 16:17

Ответ: Вопросы про Xors3D
 
Цитата:

как вообще в теории выглядит шейдер GI ?
нету такого шейдера, есть много разных подходов к реализации GI сегодня, гугли "realtime global illumination" (из последних новинок - voxel cone tracing), естественно реалтаймовое ги сегодня совсем неполное, лучших результатов ты можешь добиться только оффлайновым препросчётом (лайтмапы, лайтпробы).

в играх я пока совсем реалтайм ги не видел, есть технология enlighten, доступна в UE и Frostbite, но насколько мне известно, там не поддерживается смена источников освещения в рантайме (все равно что-то препросчитывается), в CE есть своё ги, но оно не особо эффектно выглядит имхо, в UE4 планируется ги не знаю по какой технологии (вероятно тот же enlighten?), остальные технологии существуют только в демках и доках и мало изведанны.

вот ещё такой фейк есть - reflective shadowmaps или как-то так, суть в том, что ты рендеришь с источника света, как для шадоумапы, но рендеришь целый маленький G-Buffer (цвет, позиция или глубина), потом в деферед шейдинге используешь этот буфер для позиционирования небольших поинт лайтов такого же цвета, какой снят в буфере, в результате имеешь один отскок света от поверхностей. но затенение при этом не учитывается (если ты не рендеришь шадоумап с каждого такого поинт лайта), т.е. у тебя рефлексы эти смогут насквозь просвечивать через другие поверхности.

moka 14.07.2012 17:28

Ответ: Вопросы про Xors3D
 
Глянь SSAO.

ANIK123 18.07.2012 04:56

Ответ: Вопросы про Xors3D
 
ммм...
в коде:
Код:

Handle sc = xLoadScript("sc.txt");
xExecuteScript(sc, "void www()");

в файлике:
Код:

void www ()
{
        xRenderWorld();
}

результ:

чяднт?

pozitiffcat 18.07.2012 09:19

Ответ: Вопросы про Xors3D
 
Написано же "No matching signatures to xRenderWorld" - что то типа не определена эта функция в скриптовом движке. Видимо на него давно забили и новые функции перестали в него добавлять

ANIK123 18.07.2012 20:16

Ответ: Вопросы про Xors3D
 
значит надо разбираться в Lua или Ангеле == потратить больше времени
печаль =(
Сегодня пришел малый парень дабы я помог ему разобраться в свежекупленном телефоне, оказалось очень тяжелу ему втолковать как им пользоваться
с одной стороны почувствовал себя прям каким-то созданием высшего уровня напротив него, а с другой пронзило глубокое чувство глупства, некого равенства с его кажущимися низкими мозго-вычеслительными способностями - Я ведь так же глуп в Lua!!1
не знаю к чему это все, поэтому и оффтоп гы)))

pozitiffcat 18.07.2012 21:30

Ответ: Вопросы про Xors3D
 
Пробуй ангел говорят неплохой скриптовый движок. Сам знаком с луа, мне нравится

ANIK123 20.07.2012 21:18

Ответ: Вопросы про Xors3D
 
на счет Lua: насколько я понял, в скриптах можно вызывать функции определенные в каком-то модуле - wtf? - как тогда обратится к функциям из главного *.exe ? вот захотел я вдруг сделать апокалипсис в мире по нажатию кнопи - создаю новый стейт (да?), запускаю скрипт (да?) с содержимым "УничтожитьМир(полностью);" - функция "воид УничтжитьМир(инт степень)" находится где то в исходниках главного .exe - можно так сделать?

ANIK123 21.07.2012 23:49

Ответ: Вопросы про Xors3D
 
ОК -_-
выбрал tolua++ (луабинд уже поздно использовать)
проблемка: построить tolua++, а то на выходе получаю только исполяемый файл, а нужно: хедер (есть), тот самый исполняемый файл (есть), и либа (*.lib)(нееееет!!1) - как получить этот последний ингредиент?

Spy4433 23.07.2012 21:53

Ответ: Вопросы про Xors3D
 
что то туплю ужасно

вообщем вздумалось мне копировать один surface из mesh1 в mesh2.
в теории:
создаю в mesh2 surface
далее в пробежаться по всем triangle первого surface (mesh1)
xTriangleVertex(surface1,x,y);

v1=xTriangleVertex(surf,n_tri,n_vert);
xVertexX(surf,v1);
.....
xAddTriangle(newsurf,v1,v2,v3);

xUpdateNormals(mesh2);


вроде как то так!? :)))
кому не сложно и не лень, и даже время есть - помогите :)

dsd 23.07.2012 22:17

Ответ: Вопросы про Xors3D
 
есть сюрфейс допустим surf1
считаем количество точек в поверхности.
int qvert=xCountVertices(surf1);

создаем меш и поверхность куда копировать будем
Handle mesh=xCreateMesh();
Handle surf=xCreateSurface(mesh);

for(int i=0;i<qvert;i++){
//копируем точку
int index=xAddVertex(surf,xVertexX(surf1,i),xVertexY(s urf1,i),xVertexZ(surf1,i),xVertexU(surf1,i),xVerte xV(surf1,i));
//копируем нормаль
xVertexNormal(surf,index,xVertexNX(surf1,i),xVerte xNY(surf1,i),xVertexNZ(surf1,i));
}
потом считаем количество треугольников в оригинальной поверхности, потом для каждого треугольника смотрим какие точки входят в треугольник и добавляем такой же в копируемую поверхность.
и как бы все будет, ну и можно еще и остальные параметры точек скопировать

зы хотя в сто раз проще скопировать меш и сделать xFreeSurface() для не нужных поверхностей

Spy4433 23.07.2012 22:25

Ответ: Вопросы про Xors3D
 
все уже разобрался )) накосячил с координатами вертексов :)

Владислав 28.11.2012 19:25

Ответ: Вопросы про Xors3D
 
Привет! Хочу поинтересоваться по поводу физики, встроенной в xors:

Возможно ли зафиксировать скорость обновления физики ? а то идет зависимость от фпс, а оно иногда падает. Логика игры завязана с дельтатаймингом, что можно придумать для физики ? может просто вызывать обновление каждые 16мс. ?

Spy4433 30.11.2012 21:49

Ответ: Вопросы про Xors3D
 
Вопрос про регдол.
когда нужно создавать регдол(вместе созданием плеера или во время смерти?)
-возможно ли создание регдола при создании плеера, а потом просто отключить просчет физики и джоинты(симуляцию)

попутный вопрос
имеет спрайт , как его развернуть(инвертировать) допустим слева на право ? не прибегая photoshop Gimp и т.д ) кодом ( в динамикЕ?! т.е в игровом процессе )

------------------------------------------------------------------------------------

Nex 01.12.2012 06:04

Ответ: Вопросы про Xors3D
 
Цитата:

Сообщение от Spy4433 (Сообщение 245305)
имеет спрайт , как его развернуть допустим слева на право ? не пребегая photoshop Gimp итд ) кодом ( в динамики?! )

RotateSprite sprite,90?
Цитата:

в динамики
В какие динамики? :-D (динамике)

Владислав 04.12.2012 13:31

Ответ: Вопросы про Xors3D
 
предположу, что можно применить xEntityFx для двухстороннего текстурирования и просто повернуть спрайт на 180


Часовой пояс GMT +4, время: 10:51.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot