gridgt 22 Опубликовано 22 Января 2016 Научил игру использовать обычные карты нормалей изменив код в файле шейдера sload.h S.normal = Nu.xyz; //Nu.wzy + (NuE.xyz - 1.0h); // (Nu.wzyx - .5h) + (E-.5) S.gloss = (NuE.x+NuE.y+NuE.z)/3*2; //Nu.x*Nu.x;//Nu.x*Nu.x; // S.gloss = Nu.x*Nu.x; S.height = NuE.w; а теперь задумался, как реализовать возможность использовать одновременно и такую схему и оригинальную, что бы не нужно было перелопачивать все оригинальные бампы, но при этом была возможность назначить текстуре и обычные карты нормалей что бы игра их корректно отображала 1 Поделиться этим сообщением Ссылка на сообщение
gridgt 22 Опубликовано 22 Января 2016 @lafugix, что бы можно было использовать обычные карты нормалей, на прямую, без конвертации через сдк Поделиться этим сообщением Ссылка на сообщение
gridgt 22 Опубликовано 23 Января 2016 (изменено) @Silver Raven, да, но сейчас есть идея и по лучше, но с реализацией пока что никак А пока что вот такие успехи, заметных отличий от оригинала нет, чего собственно и добивался Детальный рельеф так же переведен на использование карт нормалей, что позволило избавится у деталных текстур от bump#. Изменено 23 Января 2016 пользователем gridgt 1 Поделиться этим сообщением Ссылка на сообщение
gridgt 22 Опубликовано 23 Января 2016 Именно, но ведь этого никто не сделал, хотя ещё в 2007 об этом говорили, тот же argus, а Sky4CE сказал что это невозможно, хотя он был тогда лучший в шейдерах. Хотя нет, просто поменять местами не достаточно, я ещё строк 4-5 менял Поделиться этим сообщением Ссылка на сообщение
gridgt 22 Опубликовано 23 Января 2016 @Anonim, пруф в студию, я искал, ничего подобного найти не смог. Поделиться этим сообщением Ссылка на сообщение
gridgt 22 Опубликовано 23 Января 2016 Да и если бы это было реализовано ещё в те времена, то не пришлось бы писать кучу статей по теме правильной конвертации бампов, придумывания утилит для этого, коих было много и все не особо удачные, а всего то надо было пару строк изменить, и можно было бы использовать всем привычные карты нормалей. Поделиться этим сообщением Ссылка на сообщение
gridgt 22 Опубликовано 23 Января 2016 (изменено) Сколько раз сталкиваюсь с этим зверем, но никто так и не объяснил толком, что это, и каким боком тут bump# У детальных текстур в ЗП, как и у любых других текстур есть бамп и бамп#(работает точно также как и обычных бампов), так вот от туда используеться только нормал мапа, а спекуляр используется с альфа канала дифузной текстуры(та что детаил текстура) так вот я хочу для начала просто оставить у детаил текстур только нормали, в одной текстуре, всё просто. Есть один. Вместо получения красного канала нормалмапы в идеальном сохране, мы получаем в идеальном сохране спекуляр. В итоге, в bump# нужно сохранять больше данных => больше ошибок. Ну или сохранять все в 8:8:8:8, правда тогда и смысла особого нет.А над этим я сам ещё думаю, каким способом лучше всего это реализовать. Пока что есть вот такая идея реализации, bump#(RGB=specular A=height map) bump(normal map в 3dc без альфа канала) итого: все карты(спек,нормал,высот) в идеальном качестве и тот же вес что у оригинала Изменено 23 Января 2016 пользователем gridgt Поделиться этим сообщением Ссылка на сообщение
gridgt 22 Опубликовано 25 Января 2016 (изменено) Цветной спекуляр, что ли? А какой от него толк? Ты все три компонента все равно на стадию освещения передать не сможешь, все каналы в G-буфере забиты. Разве что лезть в движок и добавлять еще один слой. Цветовой спекуляр это конечно хорошая идея,но у меня была другая идея, при сохранение спекуляра во всём ргб канале он не портится от сжатия, а использоваться он будет также из одного канала как и раньше. Дак ведь карту ошибок пускаешь под спекуляр. Как же будет тот же вес в идеальном качестве? а карта нормалей будет сжата в dxt5_nm он сжимает нормали без потери качества, только придется в шейдере выполнять ренормализацию для восстановления оси z карты нормалей. но это опять же не конечный вариант, кстати, ты не знаешь как заставить движок понимать dds 3dc формат сжатия? Ещё придумал такую штуку для оружейных паков, так как там не использую чаще всего бамп#( пример тому STCOP WP) из за того что комплект дифуз 2к + бамп и бамп# весит 13мб, сделать для оружейного шейдера свою схему работы с текстурой дифуз с спекуляром в альфа канале(дхт5)+ карта нормалей одним файлом(дхт5_нм) итого 10мб что всего на 2мб больше чем дифуз2к(dxt1)+бамп это 8мб Но при этом сапекуляр будет в полной сохранности и карта нормалей тоже. Изменено 25 Января 2016 пользователем gridgt Поделиться этим сообщением Ссылка на сообщение
gridgt 22 Опубликовано 25 Января 2016 @KD87, нет, я проверял, с 3dc возникают странные проблемы. 3dcdxt5 Поделиться этим сообщением Ссылка на сообщение
gridgt 22 Опубликовано 17 Февраля 2016 (изменено) @KristinaS95, Думаю да, я так понял что тебе дифуз детальной текстуры не нужен? Тогда сделай новую детальную текстуру в СДК со всеми правильными настройками, пропиши бамп ей, саму детальную текстуру сделай размером 1х1 пиксель и сделай серой, цвет 128.128.128 и всё, у тебя будет только детальный бамп. Изменено 17 Февраля 2016 пользователем gridgt 1 Поделиться этим сообщением Ссылка на сообщение
gridgt 22 Опубликовано 19 Февраля 2016 @KristinaS95, Напиши мне в лс подробнее и скинь нужные текстуры, я попробую сделать и если всё получиться расскажу как делать. Поделиться этим сообщением Ссылка на сообщение