Wednesday, April 01, 2015

REYES

So porque agora tem RIS no renderman não quer dizer que o REYES  nao serve mais pra nada : )

testezinho que fiz com  GeoAreaLight , GI/colorbleeding    , Displacement e GPSurface


Renderman For Maya 5.5 RMS 19.0 MARI e PxrTexture Node

Depois de a Pixar liberar uma copia gratis para todo mundo ter em casa o Renderman . resolvi voltar a mexer nele .  Bem feliz com essa versao .. PBR e GXX shaders   sao bem legais .. depois de um bom tempo usando VRAY   voltar no renderman com pathtracing eh uma experiencia legal ..
como teste  resolvi unir duas coisas que eu tinha vontade de experimentar numa pipeline . o MARI e o Renderman  ..
UDIM uvs   nunca usei diretamente . porque sempre achei terrivel o modo de conectar o nodes no maya , muito trabalho para ajustar a cada nova mudança de path , e super facil de ocorrer erros ...
mas o renderman tem um node legal de textura que facilita muito o trabalho de ajuste  ..
o PxrTexture   ,   nele voce pode puxar o preset do MARI atlas  que existia no SLIM dentro do maya .. eh bem facil de usar .  seleciona o MARI na lista de Atlas style . e adiciona o primeiro arquivo da sequencia no filename ..  C:/CHRYSL666/ladybug/MARI/colorflattened.1001.tx ..  existe uma pegadinha , para o RM saber como mapear o mapa certo no objeto e UV DIM correto eh preciso editar o nome do path  . e trocar o numero do mapa para "_MAPID_"  no final o path fica assim
...C:/CHRYSL666/ladybug/MARI/colorflattened._MAPID_.tx...
isso eh o suficiente para o RM saber o que fazer ..  entao resumindo, com um shader e somente um node de textura . voce mapea todos os UDIM de uma vez so . sem precisar daquelas conexões gigantes que c faziam antes no maya .


Não sei c voces notaram mas o formato de arquivo que estou usando eh o pixar .tx ..  o renderman em geral converte todos os arquivos que vc passa pra ele para esse formato . o MARI não gera esse tipo de arquivo . no MARI eu exporto .exr  , mas como andei tendo uns problemas de conversão interna no renderman . eu converto os mapas manualmente . eh possivel usar o renderGlobals para criar um processo de coversão automatica dos mapas . mas eu por costume . uso o txmake . que eh um programa de coversão que vem no prman .  ele fica na pasta /bin da instalação do programa .. a linha de comando eh simples   txmake [nomedoarquivoOrginal.exr]  [nomedoarquivoFinal.tx]   isso faz com que ele converta os arquivos pro formato certo .. existem muitas opçoes diferentes de uso  desse programa .. olhem o txmake -h para ver os exemplos ..   o txmake faz um arquivo por vez . nao sei c existe uma linha de comando para multiplos arquivos .. mas eh possivel automatizar as coisas com scripts  ..  aqui no meu minipipe  fiz um programinha em c++ Qt  para acelerar minhas conversões de uma pasta especifica . c alguem precisar de um exemplo  segue aqui  o source code do meu ...


1:  #include <QCoreApplication>  

2:  #include <QDebug>
3:  #include <QDir>
4:  #include <QFileInfo>
5:  #include <QString>
6:  #include <QProcess>
7:  int main(int argc, char *argv[])
8:  {
9:    QCoreApplication a(argc, argv);
10:    // path para o txmake
11:    QString program = "C:\\Temp\\txmake";
12:    // cria objeto para executar o txmake
13:    QProcess myProcess ;
14:    // captura a pasta dentro do mDir
15:    QDir mDir("C:/CHRYSL666/ladybug/MARI");
16:    // para cada item dentro da pasta
17:    foreach(QFileInfo mitm , mDir.entryInfoList())
18:    {
19:      // c o item for um arquivo
20:      if(mitm.isFile())
21:      {
22:        // verifica c eh um arquivo de exr
23:        QString ext = mitm.suffix(); // ext = "exr"
24:        if(ext == "exr")
25:        {
26:          // c for um arquivo de exr pega o path e o nome do arquivo
27:          QString exrFileName = mitm.absoluteFilePath();
28:          // separa o path do nome
29:          QString mainPath = mitm.absolutePath();
30:          // captura o nome do artrquivo sem a extensão
31:          QString fileName = mitm.completeBaseName();
32:          // cria o novo path e nome do arquivo com a extensao tx da pixar
33:          QString newName = mainPath+"/"+fileName+".tx";
34:          // cria uma lista de argumentos para usar com o txmake
35:          QStringList arguments;
36:          arguments << exrFileName << newName ;
37:          qDebug() << " converting EXR images to pixar TX" ;
38:          int status = myProcess.execute(program , arguments);
39:          if(status != 0 )
40:          {
41:            qDebug() << "file:" << newName << "Error : " << status ;
42:          }
43:          else
44:          {
45:            qDebug() << "file:" << newName << "Created : " << status ;
46:          }
47:        }
48:      }
49:    }
50:    return a.exec();
51:  }