Все о фотобанках и микростоках, купить и продать фото, работа для фотографа и иллюстратора


Ответ Правила нашего форума>
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.05.2019, 19:16   #21
Старожил
 
Аватар для Willyam Bradberry
 
Регистрация: 11.12.2008
Адрес: Мск
Сообщения: 1,947
Репутация: 4950
Оставлено благодарностей: 991
Получено благодарностей: 5,035
Отправить сообщение для  Willyam Bradberry с помощью ICQ
По умолчанию Re: Какое время рендера вы считаете разумным для одной картинки

Цитата:
Сообщение от stocker-stocker
...Год??? Вы оптимист. У меня 6 1070ti и уже все.... Ни одной картинки в популяре за последние полгода.
- В лучшем случае пара месяцев.
К стати, если реднерить пассами, и потом все это сшивать в Пеинтере от Windows98, то путем частичного наложения таймстампов, и полного игнорирования этим софтом(в виду его древности) кластеров памяти с инфой про кол-во карт. Получается очистить готовую картинку от плохой "кармы".
Но это не точно.

Я оптимист, да.
Приврал на счёт года, чтобы не отпугнуть молодёжь, каюсь.
А рендерить, согласен, можно отдельными квадратными тайлами, тогда их удобнее с помощью скриншотов сшивать в редакторе потом.
Может кто подскажет оптимальный вариант сшивания.
Willyam Bradberry вне форума   Ответить с цитированием
Старый 25.05.2019, 21:56   #22
Старожил
 
Аватар для stocker-stocker
 
Регистрация: 13.12.2012
Сообщения: 751
Репутация: 768
Оставлено благодарностей: 267
Получено благодарностей: 786
По умолчанию Re: Какое время рендера вы считаете разумным для одной картинки

Цитата:
Сообщение от Willyam Bradberry
Может кто подскажет оптимальный вариант сшивания.

У меня был к максу скрипт который кусками рендерил. Вам он, есно не сгодится. Если найдете как в Блэндере кусками отрендерить. То потом можно в Шопе склеить куски. Вот я еще в 16 году скрипт написал, он клеит. Сам им уже не пользуюсь давно. Может вам и сгодится.

Для его корректной работы нужно что бы названия файлов/кусков имели вид:

ANYNAME_w1_h1_0000.png
ANYNAME_w1_h2_0000.png
ANYNAME_w2_h1_0000.png
ANYNAME_w1_h2_0000.png

Вот пример батча файлов для склейки картинки 2х2 куска. Обратите внимание, что нумерация начинается не с "0" а с "1"(я не профессиональный кодер). Последние четыре нуля значения не имеют(это артефакты максовского скрипта). Влюбом случае, всегда можно под себя переписать.
Вот тело скрипта:

//СБОРКА ФАЙЛА КОМПЛИТЕ


app.preferences.rulerUnits = Units.PIXELS;
app.preferences.TypeUnits = TypeUnits.PIXELS;
app.displayDialogs = DialogModes.NO;

var
firstPartOfImage = (nameFromDialog = File.openDialog( "Пожалуйста, укажите первый файл в папке для сборки.")).toString(),
folderPath = firstPartOfImage.slice(0, firstPartOfImage.lastIndexOf("/")) + "/",
currentFolder = new Folder(folderPath),
partsOfImage = currentFolder.getFiles(),
complitePath = folderPath.replace(/MAPS\/(.+)/, "MAPS/"),
psdFile,
widthOfImage,
heightOfImage,
widthOfPart,
heightOfPart,
widthCount = -1,
heightCount = -1,
widhtInThisItration,
heightInThisItration,
fileName,
nameOfPart,
counterOfIterations = 0;

//определение кол-ва кусков по вертикали и гаризонтали
//и размера финального файла

$.writeln ( "Count Of Files: " + partsOfImage.length + " pcs.");

for each(fileName in partsOfImage)
{
fileName = fileName.toString();
fileName = fileName.slice(firstPartOfImage.lastIndexOf("/")+1);

//$.writeln ( "fileName = " + fileName + "\nIteration: " + counterOfIterations++);

if(fileName != "Thumbs.db")
{
widhtInThisItration = fileName.replace(/(.+w)/, "");
widhtInThisItration = widhtInThisItration.replace(/(_.+)/, "");
heightInThisItration = fileName.replace(/(.+h)/, "");
heightInThisItration = heightInThisItration.replace(/(_.+)/, "");
heightInThisItration = parseInt(heightInThisItration);
widhtInThisItration = parseInt(widhtInThisItration);

//$.writeln ( "widthCount = " + widthCount + " widhtInThisItration = " + widhtInThisItration);
if(widthCount < widhtInThisItration)
{
widthCount = widhtInThisItration;
};
//$.writeln ( "heightCount = " + heightCount + " heightInThisItration = " + heightInThisItration);
if(heightCount < heightInThisItration)
{
heightCount = heightInThisItration;
};
};
};

//$.writeln ( "widthCount = " + widthCount + "\nheightCount = " + heightCount);

//создание финального файла с именем "COMPLITE"
open(new File(firstPartOfImage));
widthOfPart = app.activeDocument.width;
heightOfPart = app.activeDocument.height;
widthOfImage = app.activeDocument.width * widthCount;
heightOfImage = app.activeDocument.height * heightCount;
app.activeDocument.close(SaveOptions.DONOTSAVECHAN GES);
app.documents.add(widthOfImage, heightOfImage, 72, "IMAGEBUILDER", NewDocumentMode.RGB);

//набивка финального файла кусками из папки
for each(fileName in partsOfImage)
{
nameOfPart = fileName.toString();
nameOfPart = nameOfPart.slice(nameOfPart.lastIndexOf("/")+1);
if(nameOfPart != "Thumbs.db")
{
open(new File(fileName));
app.activeDocument.flatten();
app.activeDocument.artLayers[0].isBackgroundLayer = false;
app.activeDocument.selection.selectAll();
app.activeDocument.selection.copy();
app.activeDocument.close(SaveOptions.DONOTSAVECHAN GES);

widthCount = nameOfPart.replace(/(.+w)/, "");
widthCount = widthCount.replace(/(_.+)/, "") - 1;
heightCount = nameOfPart.replace(/(.+h)/, "");
heightCount = heightCount.replace(/(_.+)/, "") - 1;

app.activeDocument.artLayers.add();
app.activeDocument.paste();
app.activeDocument.artLayers[0].name = nameOfPart;

layerPosition(nameOfPart, widthOfPart * widthCount, heightOfPart * heightCount, "LEFTUP");

if(widthCount != 0 || heightCount != 0)
{
app.activeDocument.artLayers[0].merge();
};
//break;
};
};

//склеивание и сохранение финального файла
app.activeDocument.artLayers[0].merge();
app.activeDocument.artLayers[0].isBackgroundLayer = 0;
app.activeDocument.artLayers[0].name = "IMAGEBUILDER";

psdFile = new File( complitePath + "COMPLITE.psd" );
if(!psdFile.exists)
{
app.activeDocument.saveAs(psdFile);
};
else
{
psdFile = new File( complitePath + "IMAGEBUILDER" );
app.activeDocument.saveAs(psdFile);
};






function layerPosition(layer, layerX, layerY, pointLocation){

var layerRef = app.activeDocument.artLayers.getByName(layer);
var x, y, w, x, cx, cy, A, B, moveX, moveY;

x = layerRef.bounds[0].value;
y = layerRef.bounds[1].value;
w = layerRef.bounds[2].value;
h = layerRef.bounds[3].value;
width = layerRef.bounds[2].value - x;
height = layerRef.bounds[3].value - y;
cx = (width/2) + x;
cy = (height/2) + y;

switch(pointLocation){
case "LEFTUP": {A = x; B = y} break;
case "LEFTDOWN": {A = x, B = h} break;
case "RIGHTUP": {A = w, B = y} break;
case "RIGHTDOWN": {A = w, B = h} break;
case "CENTER": {A = cx, B = cy} break;
default:{A = x; B = y} break;
};
if(layerX == "NAN"){moveX = A}; else{moveX = layerX};
if(layerY == "NAN"){moveY = B}; else{moveY = layerY};
layerRef.translate((moveX - A), (moveY - B));
//layerRef.translate((layerX - A), (layerY - B))
return layerRef;
};
stocker-stocker вне форума   Ответить с цитированием
За это сообщение сказал спасибо:
Willyam Bradberry (27.05.2019)
Старый 27.05.2019, 00:40   #23
Старожил
 
Аватар для Willyam Bradberry
 
Регистрация: 11.12.2008
Адрес: Мск
Сообщения: 1,947
Репутация: 4950
Оставлено благодарностей: 991
Получено благодарностей: 5,035
Отправить сообщение для  Willyam Bradberry с помощью ICQ
По умолчанию Re: Какое время рендера вы считаете разумным для одной картинки

Цитата:
Сообщение от stocker-stocker
У меня был к максу скрипт который кусками рендерил. Вам он, есно не сгодится.

Прекрасный скрипт! Можно использовать как шаблон для заполнения текстовых блоков.
Willyam Bradberry вне форума   Ответить с цитированием
За это сообщение сказал спасибо:
stocker-stocker (27.05.2019)
Старый 30.05.2019, 12:09   #24
Новичок
 
Регистрация: 16.04.2008
Адрес: В жопе мира.. простите, в Украине.
Сообщения: 25
Репутация: 17
Оставлено благодарностей: 2
Получено благодарностей: 7
Отправить сообщение для  Shiva с помощью ICQ
По умолчанию Re: Какое время рендера вы считаете разумным для одной картинки

Цитата:
Сообщение от Willyam Bradberry
Ничего подобного. Есть иного рода инсайд.
Сейчас в силу многократно усилившейся конкуренции внутренние требования к материалу стали гораздо жёстче (помним про алгоритм развесовки и раздачи баллов).
Многие стоки с появлением ренедров на GPU ввели внутренние правила по которым, не смотря на облегчение приёмки (то есть принимают конечно всё), внутренний оценочный рейтинг картинки зависит от количества видеокарт, на которых она отрендерена.

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

Поэтому, если в системе меньше одной-двух видеокарт класса не ниже GTX 1060-1080, КПД будет почти нулевым.
В конкурентноспособном идеале сейчас собирать GPU-рендер станцию (обычный комп, даже не ферма) на 6-8 картах.

Прослезился. ))
Еще доставило про метадату зашитую в каждый пиксель. ))) Это прям 5+
Shiva вне форума   Ответить с цитированием
За это сообщение сказал спасибо:
Willyam Bradberry (06.06.2019)
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оцените иллюстрации, годится ли это для стоков? blue daisy Иллюстрации для фотобанков 2171 03.10.2023 12:11
Взлом аккаунтов, почты и т.д. (что нужно сделать, чтобы этого не было) gera_jazz Курилка 55 27.06.2019 12:19


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


©2006-2010 Microstock.ru   Powered by vBulletin® Copyright ©2000-2008, Jelsoft Enterprises Ltd.   Перевод: zCarot