Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Редактирование движка
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97
sergy172
Цитата(FL!NT @ 03.05.2013, 20:33) *
то же не понял)

Ну наверное потому что скайбокс не масштабируется. wink.gif
Если есть только массив, нельзя ли к нему добавить такой же для панорамы?

Впрочем у меня есть ещё интересный вопрос и просьба одновременно.
Может кто нибудь откопать настройку детализации, дальности и количества динамических теней (ну или теней для динамических объектов) для статического освещения р1?
Давно хочу выставить всё на максимум, а то в том же баре ТЧ бутылка отбрасывает тень сразу от трёх светильников.
А на кордоне тени от сталкеров исчезают уже через несколько метров, и к тому же менее детализированы чем в некоторых билдах.
FL!NT
Цитата(sergy172 @ 03.05.2013, 22:08) *
Ну наверное потому что скайбокс не масштабируется.

Ну как бы любой физ объект масштабируется при приближении/удалении в отличии от неба.
Цитата(sergy172 @ 03.05.2013, 22:08) *
нельзя ли к нему добавить такой же для панорамы?

наверное можно извратится, поставить куб и прикрутить к нему да же шейдер наподобие скай, но как бы будет большое размытие текстур, а на сколько я понимаю вы хотите противоположного эффекта.
macron
Цитата(stalker petroff @ 03.05.2013, 15:21) *
А "дополнительные полигоны" при желании можно просто добавить программой K.D. на любую локацию.

Цитата(sergy172 @ 03.05.2013, 15:26) *
Речь о скайбоксе а не о локации вообще то.

Вообще, тут "через движок" некоторые вопросы и годами решаются. Я, конечно, не эксперт по движкам, но думаю в данном случае "проще" будет пытаться прикручивать панорамы к уровням через прогу K.D., или подождать лет пять и задать вопрос снова. biggrin.gif
Trollz0r
Цитата(sergy172 @ 03.05.2013, 20:08) *
Если есть только массив, нельзя ли к нему добавить такой же для панорамы?
А там уже есть что-то подобное. Гадали, для чего - а вдруг на самом деле для панорам smile.gif
Иллюстрировать лень.
FL!NT
Цитата(RedPython @ 03.05.2013, 23:04) *
А там уже есть что-то подобное. Гадали, для чего - а вдруг на самом деле для панорам
Иллюстрировать лень.
Раз уж взялся давай подробней))
Trollz0r
А что там подробней smile.gif Куб с дополнительным набором (а может, не одним - не помню) "ребер" (на рисунке пунктиром). Задача в том, чтобы вывести дополнительные вершины, образующие треугольники, на уровень горизонта и каким-то образом задать им свою текстуру и шейдер. Естественно, панорама тут будет одна на все локации.

Идея дурацкая и труднореализуемая.
sergy172
Цитата(RedPython @ 03.05.2013, 22:41) *
панорама тут будет одна на все локации

Или будет зависеть от погодной секции, в которой будет прописана её текстура, как и у неба собственно.
SkyLoader
Через двиг хотите писать новый массив с точками? Лучше не надо wink_old.gif
Лучше сделать импорт модели, как в билдах.
FL!NT
RedPython, . По идее там должна быть плоскость отрисовки низко летящих облаков и на чем то он должен прорисовывать молнии.
Trollz0r
FL!NT, насчет облаков хз, вполне мог отрисовать скайкуб "кверху ногами". А молнии - это объемные .dm'ы, интересно бы послушать SkyLoader о механизме отрисовки оных MULITRI_02.gif
FL!NT
RedPython, но по виду облака как бы действительно ниже .А на счет молний действительно интересно заслушать доклад.))
K.D.
Цитата(RedPython @ 03.05.2013, 22:53) *
А молнии - это объемные .dm'ы, интересно бы послушать SkyLoader о механизме отрисовки оных

А что ты хочешь услышать? Загружается dm-модель, а потом DrawIndexedPrimitive в нужный момент smile.gif

Цитата(FL!NT @ 03.05.2013, 23:10) *
по виду облака как бы действительно ниже

Облака рисуются через массив вершин, они отдельно от скайбокса.
sergy172
Цитата(K.D. @ 03.05.2013, 23:32) *
Облака рисуются через массив вершин, они отдельно от скайбокса.

Но они тоже ведут себя относительно игрока как и скайбокс.
Прошу посмотреть в 1114 что из себя представляет модель панорамы. Похоже это не куб а многогранник. Шестигранник скорее всего.
И изучить возможность его отрисовки на правах облаков или скайбокса.

Я вообще как то раздумывал над возможностью рисовать внутри основного скайбокса еще один с полупрозрачной текстурой, что бы солнце честно уходило за облака и так далее.

п.с. Собственно, я вспомнил про панораму, после того как недавно обнаружил в диздоках, ранее не замеченную мной, единственную хорошую концовку на движке игры "ГГ с усталым лицом идёт от Кордона к городу, а над ним в в "отключенную" Зону пролетают вертолёты".
macron
Цитата(sergy172 @ 04.05.2013, 01:38) *
Прошу посмотреть в 1114 что из себя представляет модель панорамы. Похоже это не куб а многогранник. Шестигранник скорее всего.

А ведь и правда, многогранник. Круг, вобщем.

K.D.
sergy172, возможность есть, если есть исходники. Иначе овчинка не стоит выделки.
Trollz0r
Цитата(sergy172 @ 04.05.2013, 00:38) *
Похоже это не куб а многогранник. Шестигранник скорее всего.
Хм... а сколько в кубе граней? Пойду посчитаю death.gif
RayTwitty
Цитата(Scarabay @ 24.04.2013, 10:54) *
Кстати, кто-нибудь смог сделать более 4 материалов с плавными переходами на террейне на р2? А то есть одна идея...

Вроде как можно, вот тут обсуждалось: http://www.gameru.net/forum/index.php?s=&a...t&p=1066536

sergy172, проще всего эти панорамы смоделить для конкретной локации, после чего скомпилировать (или присоединить прогой от K.D.).
sergy172
Цитата(Shadows @ 04.05.2013, 20:25) *
проще всего

Сложнее.
Если только их не присоединить на правах скайбокса 1114-1472, чтобы они не масштабировались и "перемещались" вместе с основным скайбоксом, были к нему "привязаны".
Veresk
Сергий, я же вам об этом "круге" написал на АП dry.gif

Цитата(macron @ 04.05.2013, 03:25) *
А ведь и правда, многогранник. Круг, вобщем.

то, что Сергий пропустил мимо или не поверил
Цитата
весь код отвечающий за то.о чём писал Сергий был порезан/отключен ещё в послдених билдах 14хх
суть заключалась в рисовании вокруг актора цилиндра с нанёсенной текстурой и спецшейдером (остался в shaders.xr), который двигался вместе с игроком (наподобии того как это сейчас происходит с дождём)
сама модель "горизонта" лежала в папке уровня и называлась sky.ogf приписывалась в книфгах уровня. т.е. для каждого уроня можно было легко сделать свой "горизонт"


Цитата(Shadows @ 04.05.2013, 20:25) *
проще всего эти панорамы смоделить для конкретной локации

нет, не проще. ты представляешь такую панораму например для болота где лока 1.5*1.5 км. так ещё надо на это натянуть текстуру. тут даже 4048 точек не дадут качества.
Trollz0r
Цитата(Veresk @ 05.05.2013, 21:38) *
тут даже 4048 точек не дадут качества.
Тайлинг для слабаков. Только 16k текстуры продашкн качества.
Freack
подскажите как побороть вот это:


при этом все тени куда то смещены от источника(((
Freack
на X-Ray Extentions появились новые опции dof и ssao, на включение выключение не реагируют(это просто опции появились или ?).
K.D.
Freack, ну так шейдеров в xray-extensions вроде как нет. На что должны влиять опции-то? biggrin.gif
Freack
Цитата(K.D. @ 20.05.2013, 09:30) *
Freack, ну так шейдеров в xray-extensions вроде как нет. На что должны влиять опции-то? biggrin.gif

напиши какие должны быть они(имена файлов), а если есть хотя бы какой нибудь пример, буду благодарен
Freack
еще пробую тень от ГГ на Р2, как поправить это:
Freack
Сори за много сообщений)))

А фикс правильных длинных теней вырезали что ли от сюда?

И еще, где то брал файлик xrRender_R2.dll с лучами солнца(точно не помню с шейдерами) но помоему просто закинул и были лучики, у кого то есть он?
K.D.
Freack,
1. Какие имена файлов? В шейдерах должно быть содержимое, которого в стандартной игре нет biggrin.gif
2. Для тени ГГ надо патчить еще и хргаме.
3. Фикс правильных теней есть в рендере. Лучики - только с шейдером. Я в свое время выкладывал везде.
Freack
Цитата(K.D. @ 20.05.2013, 20:28) *
Freack,
1. Какие имена файлов? В шейдерах должно быть содержимое, которого в стандартной игре нет biggrin.gif
2. Для тени ГГ надо патчить еще и хргаме.
3. Фикс правильных теней есть в рендере. Лучики - только с шейдером. Я в свое время выкладывал везде.

1. Куда то он обращается при включении, например r2_sun_shafts?
2. Сделал уже)))
3. Нету, патчил почти все возможности, тень как были короткие так и остались, кроме: БЛЕНДЕР ТЕПЛОВИДЕНИЯ, ТЕКСТУРА ШУМА ВЫСОКОГО РАЗРЕШЕНИЯ, ПРАВИЛЬНОЕ ПОЛОЖЕНИЕ СОЛНЦА, ДЕТАЛЬНЫЙ БАМП с ними просто игра не грузится(видимо нужно что то добавлять, еще пока не разбирался до конца с ними).
xroft
Цитата
X-Ray Extentions (07.07.2012)

Что это? То же самое что и "Библиотека R2 Render(04.07.2012)" но только в виде патча?
Freack
Цитата(xroft @ 20.05.2013, 20:59) *
Цитата
X-Ray Extentions (07.07.2012)

Что это?

дата патчинга файла(ревизия 29).
K.D.
Freack, правильное положение солнца - это и есть фикс теней солнца biggrin.gif
Цитата(Freack @ 20.05.2013, 15:48) *
Куда то он обращается при включении, например r2_sun_shafts?

Зачем ему куда-то обращаться? Команда просто выставляет дефайн, что эффект хотят включить. А дефайном уже пользуется шейдер. Который надо написать smile.gif Впрочем, шейдер саншафтов в паблике.
Детальный бамп я вырезал физически, то есть файла с фиксом нет. Потом докину, он рабочий.

xroft, да с тех пор в рендер вроде много чего добавили, так что нет, не одно и то же.
Freack
Цитата(K.D. @ 20.05.2013, 21:07) *
Freack, правильное положение солнца - это и есть фикс теней солнца biggrin.gif
Цитата(Freack @ 20.05.2013, 15:48) *
Куда то он обращается при включении, например r2_sun_shafts?

Зачем ему куда-то обращаться? Команда просто выставляет дефайн, что эффект хотят включить. А дефайном уже пользуется шейдер. Который надо написать smile.gif Впрочем, шейдер саншафтов в паблике.
Детальный бамп я вырезал физически, то есть файла с фиксом нет. Потом докину, он рабочий.

xroft, да с тех пор в рендер вроде много чего добавили, так что нет, не одно и то же.

1. Почему твой правленный 2 рендер от 12 ферваля этого года правит тени(без всяких других дллок и файллов), а я который делаю нет?, на синхронизации вылетает и все(((
2. получается, шайдер мы подключаем уже в папке r2 в файле common.h и от туда он уже наблюдает за состоянием, но тогда у меня осталась одна загвозка, состояние типа SS_QUALITY (значения или off) и все?
K.D.
Цитата(Freack @ 20.05.2013, 16:11) *
на синхронизации вылетает и все

Ну не то комментишь/не комментишь. Покажи corrections_list, скажу, где бага.

Цитата(Freack @ 20.05.2013, 16:11) *
состояние типа SS_QUALITY

Это такой дефайн (константа) для шейдера. Устанавливается в движке командой r2_sun_shafts_quality (вроде). Разруливание качества идет в самом файле шейдера в зависимости от дефайна, там править не надо, если не знаешь, чего к чему.
О чем вопрос-то был? smile.gif Надо объяснить, как в шейдер передаются переменные/константы или чего?
Freack
Цитата(K.D. @ 20.05.2013, 21:26) *
Цитата(Freack @ 20.05.2013, 16:11) *
на синхронизации вылетает и все

Ну не то комментишь/не комментишь. Покажи corrections_list, скажу, где бага.

Цитата(Freack @ 20.05.2013, 16:11) *
состояние типа SS_QUALITY

Это такой дефайн (константа) для шейдера. Устанавливается в движке командой r2_sun_shafts_quality (вроде). Разруливание качества идет в самом файле шейдера в зависимости от дефайна, там править не надо, если не знаешь, чего к чему.
О чем вопрос-то был? smile.gif Надо объяснить, как в шейдер передаются переменные/константы или чего?

файлик во вложении

"как в шейдер передаются переменные/константы или чего?" получается да, где то я запутался видимо
K.D.
Цитата(Freack @ 20.05.2013, 16:30) *
файлик во вложении

Не, нормальный набор. Значит, время выбрал не то. Правильные тени видно утром, часов в семь. А днем они короткие - как и должны быть.

Насчет шейдеров. Что такое шейдер - это программа для определенного этапа графического конвейера. Вершинный шейдер работает повершинно, пиксельный - попиксельно. То есть для всех пикселей экрана/текстуры запускается по разу пиксельный шейдер. Ну и понятно, каждый раз разные входные параметры у него - смотря какой пиксель. Но бывает надо для всех пикселей сделать одну константу. В том случае, который тебя мучает, это сделано через дефайны. То есть при компиляции шейдера для него устанавливается строковый литерал (н-р, SS_QUALITY) и с ним ассоциируется константа. Подробнее - смотри D3DXCompileShader, в мсдн все есть. Я для своих нужд просто вклиниваюсь в этот процесс и добавляю свои дефайны для своих шейдеров. Это позволяет управлять шейдером из движка - просто изменяя значение дефайна (н-р, консольной командой). Я и управляю, н-р, качеством саншафтов. Именно для этого в шейдере есть этот дефайн. Устанавливать его в шейдере не надо, это делается в движке.
Freack
Цитата(K.D. @ 20.05.2013, 21:56) *
Цитата(Freack @ 20.05.2013, 16:30) *
файлик во вложении

Не, нормальный набор. Значит, время выбрал не то. Правильные тени видно утром, часов в семь. А днем они короткие - как и должны быть.


дело не в том, а в том что после сборки у меня игра вылетает без лога на моменте синхронизации, если солнце убрать все норм становится)
K.D.
Без лога - потому что нодвд пераццкий, старый. Давно есть хороший, сделанный из английского экзешника без защиты. Используй его, а то без лога - как помочь?
Freack
Цитата(K.D. @ 20.05.2013, 21:56) *
Насчет шейдеров. Что такое шейдер - это программа для определенного этапа графического конвейера. Вершинный шейдер работает повершинно, пиксельный - попиксельно. То есть для всех пикселей экрана/текстуры запускается по разу пиксельный шейдер. Ну и понятно, каждый раз разные входные параметры у него - смотря какой пиксель. Но бывает надо для всех пикселей сделать одну константу. В том случае, который тебя мучает, это сделано через дефайны. То есть при компиляции шейдера для него устанавливается строковый литерал (н-р, SS_QUALITY) и с ним ассоциируется константа. Подробнее - смотри D3DXCompileShader, в мсдн все есть. Я для своих нужд просто вклиниваюсь в этот процесс и добавляю свои дефайны для своих шейдеров. Это позволяет управлять шейдером из движка - просто изменяя значение дефайна (н-р, консольной командой). Я и управляю, н-р, качеством саншафтов. Именно для этого в шейдере есть этот дефайн. Устанавливать его в шейдере не надо, это делается в движке.

а хотя бы какого нибудь примера с тем же саншафтом у тебя нет? просто понять не могу одного, создал вайл, например sunshaft, ввел переменные(на примерах того что есть в паблике), если жестко прописать его к coomon.h то лучики работают прекрасно, если же убрать привязку, но переменная которая регулирует качество остается в самом sunshaft, тогда при изменении параметров r2_sun_shaft ни чего не происходит.

P.S. все я понял в чем косяк был, все работает спасибо, теперь осталось с тенями разобраться.
K.D.
При изменении параметров шейдеров через консоль надо вызывать команду vid_restart. Ну или свернуть/развернуть игру (если в полноэкранном режиме). Ничего не поделаешь - шейдер должен перекомпилироваться.
Freack
вот что в логе:
stack trace:

0023:02500515 xrRender_R2.dll

Цитата(K.D. @ 20.05.2013, 22:16) *
При изменении параметров шейдеров через консоль надо вызывать команду vid_restart. Ну или свернуть/развернуть игру (если в полноэкранном режиме). Ничего не поделаешь - шейдер должен перекомпилироваться.

это я знал)

P.S. заменил нодвд
K.D.
Цитата(Freack @ 20.05.2013, 17:17) *
0023:02500515 xrRender_R2.dll

Ниже ничего нет? Рендер точно от чистого 6го патча?
Freack
Цитата(K.D. @ 20.05.2013, 22:34) *
Цитата(Freack @ 20.05.2013, 17:17) *
0023:02500515 xrRender_R2.dll

Ниже ничего нет? Рендер точно от чистого 6го патча?

ниже ни чего нет, да от лицензии (накатил 5 патч потом 6 чтоб лицензия была и пропатчил).
размер файла оригинала 540 672 байт
Freack
Нашел ошибку в патчере, т.е. в поле выделенное красным цветом должно быть число 64


и тут заменить выделенные значения на 00 00, то тени становятся длинными


cjayho
Цитата(K.D. @ 20.05.2013, 15:56) *
Я для своих нужд просто вклиниваюсь в этот процесс и добавляю свои дефайны для своих шейдеров. Это позволяет управлять шейдером из движка - просто изменяя значение дефайна (н-р, консольной командой).


Недостаток такого метода в том, что для изменения значения переменной, вводимой через дефайн, нужна перекомпиляция шейдеров, тоесть как минимум vid_restart. А как правило для этого нужно делать полную перезагрузку игры. В версиях ЧН и выше надо делать не только рестарт игры, но и очистку кэша шейдеров.
Гораздо лучше сие было бы делать внедрением переменных (например смотрите как вводится в шейдер переменная L_sun_color:

shared/common.h:

uniform half4 L_sun_color;

(пишу навскидку, потому не помню точно какой там - халф3 или халф4). Так вот в эту переменную движок пишет значения сам, а шейдеры оттуда только читают значения. Такой метод позволяет менять значения переменных на лету, без перекомпиляции шейдеров, что дает возможность чуть ли не покадрового управления значениями.
abramcumner
Цитата(cjayho @ 21.05.2013, 18:09) *
Так вот в эту переменную движок пишет значения сам, а шейдеры оттуда только читают значения.

z_lol1.gif Может быть с исходниками такие переменные добавлять раз плюнуть, а вот без исходников...
K.D.
cjayho, я как бы в курсе. Вопрос был про дефайн - я ответил про дефайн. Для настроек типа включения эффекта или его качества самое то. Юниформами не очень-то эффекты попереключаешь - будет или бранчинг, или толстый шейдер. А вот, например, разрешение экрана экспортировать в шейдер - согласен, тут юниформы лучше всего подойдут.
abramcumner, давно есть в xray-extensions же. Куча примеров. Там, правда, только глобальные константы можно регистрировать, для всех шейдеров сразу.
cjayho
Цитата(K.D. @ 21.05.2013, 19:15) *
cjayho, я как бы в курсе. Вопрос был про дефайн - я ответил про дефайн. Для настроек типа включения эффекта или его качества самое то. Юниформами не очень-то эффекты попереключаешь - будет или бранчинг, или толстый шейдер. А вот, например, разрешение экрана экспортировать в шейдер - согласен, тут юниформы лучше всего подойдут.


Разрешение экрана как раз через юниформы внедрять не стОит - изменение разрешения - это в любом случае vid_restart и перекомпиляция шейдеров.
sergy172
Было бы здорово, если бы кто нибудь копнул р1 на предмет увеличения разрешения теней от динамических объектов, а главное увеличил их одновременное количество и радиус их отрисовки, что бы не пропадали в 10 метрах от ГГ.
Ещё здорово было бы вернуть им отключенный плавный уход в прозрачность, как в билдах и во второй халве.
K.D.
cjayho, а точность? Дефайн - эт ж D3DXMACRO, там оба поля строковые. Для разрешения экрана это может и не так страшно, а для 1/width, 1/height?
В реальном игровом коде чаще встречал экспорт разрешения юниформами, дефайны - в основном, в демках.
macron
Цитата(sergy172 @ 22.05.2013, 18:08) *
Было бы здорово, если бы кто нибудь копнул р1 на предмет увеличения разрешения теней от динамических объектов, а главное увеличил радиус их отрисовки, что бы не пропадали в 10 метрах от ГГ. Ещё здорово было бы вернуть им отключенный плавный уход в прозрачность, как в билдах и во второй халве.

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

ЗЫ: а никто не пытался у sunmask.dds отрезать по пикселу по периметру, чтобы в местах виртуального стыка текстуры по земле полоска не ползла? Что-то у меня через Paint.net она не открывается. sad.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.