Jump to content

Recommended Posts

Salve a tutti,

utilizzo softimage XSI 7.01 + MR 3.6,

qualcuno sa dove posso richiamare la shell di mental ray per settarne le propietà da riga di comando?

La mia esigenza è quella di attivare delle caratteristiche di mental ray da riga di comando ma non riesco a trovare la shell, ho provato con quella di softimage ma o il percorso a cui punta e errato per le mie esigenze oppure non è la shell adatta.

nella guida di mental ray c'è scritto che per eseguire un comando da shell bisogna far partire mental ray con il comando:

ray [opzione], [scena] ma non dice dove...

ho provato dalla shell di xsi ma nulla.....

spero di essere stato chiaro

ringrazio chiunque voglia illuminarmi

Fabio

Share this post


Link to post
Share on other sites

controlla nelle variabili d'ambiente di windows, tra le impostazioni "path" dovresti trovarne una che riguarda ray.exe, se non c'è è normale che la shell non ti dia nessun segno

prova anche a fare una ricerca tra i file di xsi se trovi ray.exe, in realtà è un po' strano perché ray.exe è mental ray standalone, ma non mi intendo di xsi... quindi tutto è possibile

Share this post


Link to post
Share on other sites
in ogni caso prova ray -v 5, ti da risposte?

questo è un comando che dovrei richiamare da riga? che funzione ha?

dag ho trovato un ray3.exe, lolancio ma quando richiamo il comando ray mi dice che è sconosciuto


Edited by 3Dynamik

Share this post


Link to post
Share on other sites

no, da riga di comanda di windows devi lanciare quel ray.exe

in sostanza vai su avvio, scrivi cmd, scrivi cd c:\nomecartelledovehaiinstallatoray\

dopodiché puoi lanciare ray -v 5

ti restituisce le informazioni di ray, tipo le librerie associate e cose di questo tipo

Share this post


Link to post
Share on other sites

p.s.

non so dirti se queste operazioni devi farle internamente a xsi o da command di windows, perché non ho idea di come funzioni xsi

in sostanza se devi configurare delle variabili di ray che valgano per la scena su cui stai lavorando forse lo devi fare da xsi, ma non c'è un manuale che lo spieghi?

Share this post


Link to post
Share on other sites
no, da riga di comanda di windows devi lanciare quel ray.exe

in sostanza vai su avvio, scrivi cmd, scrivi cd c:\nomecartelledovehaiinstallatoray\

dopodiché puoi lanciare ray -v 5

ti restituisce le informazioni di ray, tipo le librerie associate e cose di questo tipo

ha quindi da shell di windows...

ok ;) ci provo e posto il feedback

P.S. per quelle img con la global illumination di cui parlammo in un altro post... l'effetto GI così scuro non dipendeva dal fatto che ci fossero 0 indirect bounce ma dalla intensita dell'energia dei fotoni ;)

in softimage tutto è un po diverso che con max e maya forse per questo diventa più complesso integrare le info su altri sw anche se con stesso motore di rendring in XSI

thanx more


Edited by 3Dynamik

Share this post


Link to post
Share on other sites

Allora Dagon, prima di tutto grazie per il supporto ;)

ho trovato il file di mental ray, era quello che già avevo trovato ovvero ray3.exe, richiamandolo da shell di windows con gli argomenti che mi hai indicato (-v 5) mi da come risposta questo:

(quelli evidenziati sono tutti file ray che ci sono nella cartella)

screen01p.jpg

se dai un'occhiata alle stringhe che printa dopo aver richiamato il ray3.exe noterai che c'è un warning:

MI 0.0 warn 122001: standard startup file ray3rc not found

MSG 0.0 info: no ray hosts file .ray3hosts or .rayhosts

ora il file ray3rc che non riesce a trovare si trova in un'altra cartella insieme ad altri file,

l'host non sono riuscito a trovarlo

screen02i.jpg

ho provato anche a spostare il file ray3.exe in questa cartella e a richiamarlo

ho richiamato in comando "acceleration bsp" che dovrebbe servire per impostare come sistema di binary space partitioning il BSP1 invece del BSP2 ma non riconosce alcun che, probabilmente perchè non trova il file host... non saprei.

se puoi illuminami


Edited by 3Dynamik

Share this post


Link to post
Share on other sites

prova a copiare il ray3rc dentro la cartella di ray.exe (non il contrario) e vedi se con ray -v 5 richiama il file, per il rayhost non preoccuparti, non ti serve

ma non ho ancora capito cosa vuoi fare, far partire il render da riga di comando?


Edited by dagon

Share this post


Link to post
Share on other sites

ok provo e posto i risultati.

L'obiettivo è quello di attivare funzionalità da riga di comando non accessibili da interfaccia XSI, nella fattispecie siccome sto stubiando il setup del bsp vorrei passare da BSP2 (completamente automatico, non mette a disposizione i parametri per il tuning, depth e size) a BSP1.

Leggendo il manuale di mental ray ho trovato:

*************************************************

When started from a shell command line, the mental ray rendering software accepts a large number of options. Most of these correspond to similar commands or camera or options statements in the scene file. When an option is given on the command line, it overrides the corresponding command or statement in the scene file, which in turn overrides the defaults. The defaults for certain options given in the option list below apply only if the corresponding command or statement is not present in the scene file.

mental ray is started as

ray[options] [scenefile]

If no scene file is given, the scene is read from standard input. Scene file names normally end in .mi. If the extension is missing mental ray will read the name as specified, and if this fails, retry with .mi added.

The command-line options can be abbreviated as long as the given substring is unambiguous. mental ray checks for ambiguities and prints an error message listing the choices. For example, -resolution can be abbreviated as -res. For frequently-used options such as -verbose and -filename, short forms are available. The page numbers on the right side refer to the relevant chapters in the main part of this book. The available options are:

-acceleration bsp|bsp23.6|largebsp

Selects the standard binary space partitioning (BSP) algorithm, or the new bsp2 algorithm tobe used for the large scenes and scenes with assemblies. The largebsp algorithm is kept for the compatibility. The default is BSP. All these algorithms accelerate ray tracing.

*************************************************

ora sembra che mental ray l'abbiamo fatto partire, ma quando digito il comando mi dice che non è un comando conosciuto, probabilmente sbaglio la sintassi o ci sarà qualche altra ragione che ignoro.

la sintassi che uso è: ray3 acceleration bsp (ovviamente lo lancio dal path in cui si trova il file ray3.exe)

Share this post


Link to post
Share on other sites

eh sì, ma se non gli dai una scena da calcolare cosa può fare partire? :P

non ho idea di come si faccia a esportare un .mi su xsi, cmq è la prima cosa che devi fare

poi vai sul command e digiti ray -v 5 c:\percorsodellascena\nomedellatuascena.mi -acceleration b

la cosa migliore però è che inserissi ray3.exe tra i path nelle variabili di sistema di windows, in modo da riuscire a farlo partire da una cartella qualsiasi

ovvero c:\percorsodellascena\ray3.exe -v 5 nomescena.mi -acceleration b

Share this post


Link to post
Share on other sites

...e anche questo è vero :D

in verità credevo che non inserendo la scena come argomento lo impostasse come default per tutte le scene.

proverò con le info che mi hai dato (illuminanti) e ti faccio sapere se riusciamo a far partire questo benedetto bsp.

per il file di scena .mi un'idea la ho.

in xsi nel render manager c'è un tab che permette di gestire i .mi archives, probabilmente è li che devo agire per tirare fuori il file .mi

thanx more & stay tuned

Dagon mi togli una curiosità? puoi anche non rispondere se vuoi

dove trovi accesso a tutte queste info? non mi riferisco tanto all'argomento di questo tread quanto alle tue conoscenze delle dinamiche di elaborazione di algoritmi di illuminazione e funzioni di rendring, è studio di manuali o partecipi a qualche programma?

ad ogni modo grazie per il supporto e continua a darci dentro ;)


Edited by 3Dynamik

Share this post


Link to post
Share on other sites

tutti i parametri vanno scritti così: -nomeparametro parametro

-v sta per -verbose (livello)5 praticamente gli indichi quante informazioni deve restituirti mentre renderizza, oppure nel caso di prima chiedi a mray quali sono le impostazioni generali

p.s.

prima ho sbagliato a scriverti i comandi, la versione corretta è questa

ray c:\percorsodellascena\nomedellatuascena.mi -v 5 -acceleration b


Edited by dagon

Share this post


Link to post
Share on other sites
tutti i parametri vanno scritti così: -nomeparametro parametro

-v sta per -verbose (livello)5 praticamente gli indichi quante informazioni deve restituirti mentre renderizza, oppure nel caso di prima chiedi a mray quali sono le impostazioni generali

p.s.

prima ho sbagliato a scriverti i comandi, la versione corretta è questa

ray c:\percorsodellascena\nomedellatuascena.mi -v 5 -acceleration b

capisco, sorry ma sono un po a corto di sintassi mental ray :) ma provvederemo

se riesco a far funzionare MR da riga di comando mi hai aperto un mondo, anzi se hai materiali di riferimento da suggerirmi ;) intanto mi spulcio il manuale di mental ray

Share this post


Link to post
Share on other sites

Ultimi aggiornamenti Dagon,

Sono riuscito a generare il file di scena .mi2 per poterlo controllare tramite mental ray da riga di comando, il suo percorso è

E:\softimage_project_directory\Villa\Render_Archives\Diffuse.1.mi2

Ho aggiunto alla variabile d'ambiente "path" di windows il percorso C:\Softimage\XSI_7.01_x64\Application\bin per poter richiamare ray3.exe senza dover inserire ogni volta da riga di comando l'intero percorso.

Il file di mental ray è ray3.exe, il path originale del file è

C:\Softimage\XSI_7.01_x64\Application\bin

il file di startup richiesto al lancio di mental ray è ray3rc, il path originale del file è

C:\Softimage\XSI_7.01_x64\Application\rsrc

Dalla shell di windows grazie alla variabile d'ambiente lancio Mental ray digitando ray3 -v 5,

MR parte ma non riesce a recuperare il file di startup ray3rc che si trova nel suo percorso originale.

Sempre dalla shell di windows provo a lanciare Mental ray inserendo il percorso completo ma l'esito è lo stesso,

MR parte ma non riesce a recuperare il file di startup ray3rc che si trova nel suo percorso originale

In sostanza, con i file nelle rispettive cartelle di installazione sembra che mental ray non riesca a recuperare il file di startup ray3rc

screen01.jpg

A questo punto faccio un paio di prove.

copio il file ray3rc da C:\Softimage\XSI_7.01_x64\Application\rsrc nella cartella dove si trova il file ray3.exe C:\Softimage\XSI_7.01_x64\Application\bin

Dalla shell di windows grazie alla variabile d'ambiente lancio Mental ray digitando ray3.

ma non riesce a recuperare il file di startup ray3rc pur trovandosi nella stessa cartella.

Sempre dalla shell di windows provo a lanciare Mental ray inserendo il percorso completo.

MR parte e trova il file di startup ma quando provo a lanciare dallo stesso percorso il comando:

ray3 -acceleration bsp E:\softimage_project_directory\Villa\Render_Archives\Diffuse.1.mi2

non trova il file di startup e non carica delle librerie.

screen02.jpg

Anche effettuando il procedimento inverso, ovvero spostando il file di Mental ray (ray3.exe) nella cartella del file di startup (ray3rc) e richiamandolo nei vari modi (dopo aver corretto la variabile d'ambiente al nuovo percorso) i risultati sono gli stessi.

Per completezza, in entrambe i casi, se lancio il comando:

ray3 -acceleration bsp E:\softimage_project_directory\Villa\Render_Archives\Diffuse.1.mi2

senza il path per esteso i risultati sono medesimi, non trova il file di startup non riesce a caricare le librerie

Questo è il contenuto del file ray3rc che non viene caricato

risulta evidente che se mental ray non riesce a caricare queste informazioni di puntamento ecco che vengono fuori gli errori di caricamento delle librerie.

#*****************************************************************************

#

# RAYLIB Initialization file. This file is read at RAYLIB startup time before

# any mi stream is loaded in. It ensures mental ray is initialized correctly

# and can accept a subset of default shaders.

#

#*****************************************************************************

min version "2.0.21"

max version "3.9.99"

#*****************************************************************************

#

# Machine-specific initialization. Replace the following with the correct

# installation path and the correct library extension name.

#

#*****************************************************************************

# This is this platform's extension for DLLs or DSOs.

registry "{EXT}"

value "{$XSI_EXT}"

end registry

# This value is used by installed shaders (Addons, etc)

registry "{CPU}"

value "{$XSI_CPU}"

end registry

# This value is used by factory shaders that might be highly optimised for

# each specific platform.

registry "{CPU_OPT}"

value "{$XSI_CPU_OPT}"

end registry

# This is the directory for where the factory shaders live

registry "{LIBS}"

value "{$XSI_BINDIR}/{CPU_OPT}"

end registry

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

Dopo queste prove individuo tre problematiche,

1) In una condizione normale dove i file si trovano li dove sono stati installati mental ray non riesce a caricare il file di startup ne tramite variabile d'ambiente ne tramite percorso completo.

2) Spostando i file affinche si trovino nella stessa cartella, tramite variabile d'ambiente di windows mental ray non riesce a caricare il file di startup, se invece lo lancio digitando il percorso completo lo trova.

3) Assunto che riesce a trovare il file di startup se richiamato MR tramite percorso completo, quando lancio il comando per il BSP da quello stesso percorso si generano una serie di errori nel caricamento delle librerie il che mi spinge a pensare che a questo punto anche il file di startup potrebbe dover essere corretto rimpiazzando le informazioni in esso contenute con i path di installazione e i nomi di libreria esatti relativi alla mia macchina (come suggerito anche nel file stesso).

per curiosità ho dato un'occhiata anche al file Setenv.bat di Softimage dove sono contenute tutte le variabili d'ambiente di xsi, per vedere se c'erano differenze nei percorsi, ma non mi pare ci sia nulla di strano.

@echo off

rem XSI Installation path

set SI_HOME=C:\Softimage\XSI_7.01_x64

set XSI_HOME=%SI_HOME%

set XSI_BINDIR=%XSI_HOME%\Application\bin

%XSI_BINDIR%\SIisOS.exe -vista+

if ERRORLEVEL 1 goto SetUserRootPreVista

set XSI_USERROOT=%USERPROFILE%

goto DoneSetUserRoot

:SetUserRootPreVista

set XSI_USERROOT=%SystemDrive%\users\%USERNAME%

:DoneSetUserRoot

rem Soft3D import

set SI_DBDIR=%XSI_USERROOT%

rem Detect P4 or better on Win32

set _CPU_REVISION=-p3

if EXIST "%XSI_BINDIR%\cpuinfo.exe" "%XSI_BINDIR%\cpuinfo.exe"

if ERRORLEVEL 15 set _CPU_REVISION=-p4

rem SDK variables

set XSISDK_ROOT=C:\Softimage\XSI_7.01_x64\XSISDK

if NOT "%CROSSWALKSDK_ROOT%"=="" goto DoneCrossWalkSDK

set CROSSWALKSDK_ROOT=C:\Softimage\XSI_7.01_x64\XSISDK

:DoneCrossWalkSDK

rem Save original value of XSI_PLUGINS

if NOT "%_XSI_PLUGINS%"=="" goto Done_SaveXSI_PLUGINS

if "%XSI_PLUGINS%"=="" goto EmptyXSI_PLUGINS

set _XSI_PLUGINS=%XSI_PLUGINS%

goto Done_SaveXSI_PLUGINS

:EmptyXSI_PLUGINS

set _XSI_PLUGINS=;

:Done_SaveXSI_PLUGINS

set XSI_PLUGINS=%_XSI_PLUGINS%

rem XSI Plugin for DirectX 9

if NOT EXIST "%XSI_BINDIR%\dxver.exe" goto NODXVER

"%XSI_BINDIR%\dxver.exe" -isver 0x40009

if NOT ERRORLEVEL 1 set XSI_PLUGINS=%XSI_PLUGINS%;%XSI_BINDIR%\DX9

:NODXVER

rem Render variables

set XSI_EXT=dll

set XSI_CPU=nt-x86-64

set XSI_CPU_OPT=%XSI_CPU%

set XSI_USERHOME=%XSI_USERROOT%\Softimage\XSI_7.01

set MI_ROOT=%XSI_HOME%\Application\rsrc

set MI_RAY3_SERVICE=mi-raysat3_6_53_23

set MI_RAY_HOSTSFILE=%XSI_USERHOME%\.ray3hosts

rem Adding folder(s) to the Path

if not "%XSI_SetenvDone%"=="" goto Done_Path

set Path=%XSI_BINDIR%;%Path%

:Done_Path

set SI_IMAGE_PATH=%XSI_HOME%\Application\bin\sil

rem Documentation and Editor variables

rem set SI_HELP_PROGRAM_ENV=iexplore.exe

rem set SI_TXT_EDITOR_ENV=notepad.exe

rem Shader plugins variables

set XSI_WORKGROUP_SHADERPLUGINS=%XSI_HOME%\Application\rsrc

set XSI_USER_SHADERPLUGINS=%XSI_HOME%\Application\rsrc

if exist "%XSI_USERHOME%\Addons\shader_plugins.mi" set XSI_USER_SHADERPLUGINS=%XSI_USERHOME%

set _WGRP_SHADERPLUGINS=%XSI_USERHOME%\Addons\workgroup_shader_plugins.bat

if exist "%_WGRP_SHADERPLUGINS%" call "%_WGRP_SHADERPLUGINS%"

rem Set License servers

if not "%XSI_SetenvDone%"=="" goto Done_SPM_HOST

rem License servers specified from the setup

set _SPM_HOST=localhost

if "%SPM_HOST%"=="" goto EmptySpmHost

if "%_SPM_HOST%"=="" goto Done_SPM_HOST

set SPM_HOST=%_SPM_HOST%;%SPM_HOST%

goto Done_SPM_HOST

:EmptySpmHost

if "%_SPM_HOST%"=="" goto Done_SPM_HOST

set SPM_HOST=%_SPM_HOST%

:Done_SPM_HOST

rem Unset temporary variables

set _WGRP_SHADERPLUGINS=

set _CPU_REVISION=

set _SPM_HOST=

set XSI_SetenvDone=1

Share this post


Link to post
Share on other sites

per il punto 1 prova a copiare il file ray3rc su c:\, in teoria ray dovrebbe ricercarlo nella sua stessa cartella per prima cosa, ma evidentemente ha qualche problema a farlo

per la questione shader non trovati mi sembra abbastanza normale, visto che dentro al rayrc non c'è nessun link agli shader, ti posto il mio rayrc per farti capire come (non usando xsi non posso esserti d'aiuto con i link specifici):

# Change these two values to reflect your current environment:

registry "{MI_DIR}" value "C:/Program Files/mental images/mental ray nt-x64" end registry

registry "{CLASS_DIR}" value "C:/MRT" end registry

registry "{MAYABASE}" value "C:/Program Files/Autodesk/Maya2009/mentalray" end registry

registry "{MAXBASE}" value "C:\Program Files\Autodesk\3ds Max 2009\mentalray\shaders_standard" end registry

registry "{SYSTEM}" value "windows" end registry

registry "{DSO}" value "dll" end registry

# The rest of the file does not need to be modified for the basic

$lookup "{MI_DIR}"

$lookup "{CLASS_DIR}"

$lookup "{MAYABASE}"

$lookup "{SYSTEM}"

$lookup "{DSO}"

registry "{_MI_REG_INCLUDE}" value "{MAYABASE}/include;{MI_DIR}/include;{CLASS_DIR}/maya;{CLASS_DIR}/include;" end registry

registry "{_MI_REG_LIBRARY}" value "{MAYABASE}/lib;{MAXBASE}/shaders;{MI_DIR}/shaders;{MI_DIR}/lib;{CLASS_DIR}/maya;{CLASS_DIR}/lib" end registry

link "base.so"

$include "base.mi"

link "contour.so"

$include "contour.mi"

link "physics.so"

$include "physics.mi"

link "subsurface.so"

$include "subsurface.mi"

link "{MAYABASE}/lib/mayabase.{DSO}"

$include "{MAYABASE}/include/mayabase.mi"

#link "{MAYABASE}/lib/mayahair.{DSO}"

#$include "{MAYABASE}/include/mayahair.mi"

link "{MAYABASE}/lib/AdskShaderSDK.{DSO}"

#$include "{MAYABASE}/include/AdskShaderSDK.mi"

$include "{MAYABASE}/include/AdskShaderSDKWrappers.mi"

Share this post


Link to post
Share on other sites
il mio non ha nessun link alle librerie di xsi, devi trovarle tu e crearti i link a mano, il mio ti può servire se usi max o maya

certo, non avevo intenzione di fare un copia e incolla ma di capire la logica sottesa :D

c'è però una cosa che non mi convince (non nel file che mi hai postato ma nei miei), in pratica, quando viene avviato mental ray dovrebbe caricare il file setenv.bat nel quale si trovano sia i percorsi alla cartella principale di MR dove si trova ray3rc (MI_ROOT) sia il link al file ray3hosts (MI_RAY_HOSTSFILE).

set MI_ROOT=%XSI_HOME%\Application\rsrc

set MI_RAY3_SERVICE=mi-raysat3_6_53_23

set MI_RAY_HOSTSFILE=%XSI_USERHOME%\.ray3hosts

Ho verificato i percorsi e sono corretti, infatti i file si trovano nelle posizioni indicate nel setenv.bat ma non vengono caricati. A questo punto mi sorge un dubbio.... e se MR non riuscisse a leggere il setenv.bat? si spiegerebbe perchè non trova ne il file ray3rc ne il file ray3hosts...

Potrebbe essere che quando MR viene utilizzato da riga di comando si debba richiamare in qualche modo il setenv prima di effettuare qualsiasi operazione?


Edited by 3Dynamik

Share this post


Link to post
Share on other sites

Dagon ho risolto!!!

in un modo che ho quasi imbarazzo a descrivere. :)

In pratica ciò che a MR non andava giù era il punto dal quale veniva richiamato... mi spiego meglio,

Se uso come shell quella di windows ecco che vengono fuori errori nel caricamento del file ray3rc nella sua posizione originale e i conseguenti errori nel caricamento delle librerie.

Ho seguito il tuo consiglio spostando il file ray3rc in C:, locazione considerata da MR come root generale del file di startup; Mr vede il file ma in ogni caso non carica le librerie. Se anche avesse funzionato questa soluzione avrebbe comportato cmq problemi se avessi voluto in futuro installare un software differente poiche avrebbe letto anch'esso il file di startup generale ma che logicamente non si sarebbe riferito ai percorsi dell'ipotetico software ma a quelli di XSI.

La soluzione era lanciare MR dalla shell di softimage, infatti se lavoro da quella shell tutto funziona, chiamate ai file ray3rc, ray3hosts e caricamento delle librerie.

Ho effettuato un rendering da riga di comando e a parte alcuni problemi (visibili nell'immagine che segue) riesco a gestire MR tranquillamente, impostare i comandi che attraverso l'interfaccia di XSI non sono richiamabili, insomma ho un livello superiore di controllo sulla scena... questo era ciò che mi interessava fare ;)

diffuse1commandline.jpg

Grazie Dagon per la pazienza e il supporto, i tuoi suggerimenti mi hanno aperto la mente a nuove soluzioni fino ad ottenere quella valida per le mie esigenze.

P.S. il problema visibile nell'immagine che qui su credo sia relativo al caricamento della funzione di suddivisione che evidentemente non viene dichiarata, approfondirò l'argomento.... se tu hai una tua idea in proposito sarei lieto di ricevere il tuo parere, intanto ti ringrazio per la tua disponibilità.

Grazie signor Dagon grazie, Grazie signor Dagon grazie, Grazie signor Dagon grazie, grazieeeeeeeeeeee :D;)


Edited by 3Dynamik

Share this post


Link to post
Share on other sites
pensavo fosse un divano con un nuovo design  :D

cavolo è un'idea!!! :D

sopratutto se l'accosti alla poltrona a dondolo che così com'è non credo dondoli più di tanto...

in effetti rappresentano entrambe un estremizzazione della funzionalita, in questo caso la forma non segue la funzione ;)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...