Newsgroup: it.comp.grafica
Titolo: Cos'e' renderman??

Non riesco ancora a definire "Renderman".
Dunque, e' un linguaggio di programmazione, come il C ?
E' un motore di rendering, una libreria grafica?
Se è un software proprietario della Pixar, come e'
possibile che sia utilizzato anche in motori di rendering
free (come BMRT) o addirittura open source AQSIS ?
Allora e' free? Oppure che licenza ha, visto che PRman
lo usa per scopi commerciali? Forse non è un software...
Per favore, non rispondetemi semplicemente dicendo che
"e' uno standard". Questa definizione l'ho trovata da tante parti ma non
riesco ad interpretarla...
Grazie.
                Manuel

 riesco ad interpretarla...
diciamo che lo standard sta nel fatto che negli ultimi 15 anni di CG
Renderman e' stato l' unico motore di rendering valido da usare
per molti aspetti (anzi per tanti) lo e' ancora
di sicuro te lo sconsiglio se il tuo scopo e' quello di creare immagini
fisse con radiosity a palla (ah nella prossima versione sara' supportato),
ma se ci devi fare animazioni per TV o cinema usalo
e' un tantino difficile da usare pero' ;-)
vabbe' ti do qualche indirizzo utile
www.pixar.com
www.exluna.com
http://www.deathfall.com/
http://www.renderman.org/RMR/
http://www.renderglobal.org/forum/
http://www.rendermania.com/
http://www.highend3d.com/

 Prman(si possono usare anche insieme)
Quindi Renderman, BMRT, Prman e Aqsis sono motori di rendering
separati, ed hanno in comune solo il linguaggio di descrizione delle scene,
che si basa appunto su quello di Renderman.
Lo standard sta solo nel modo di comporre i file .rib e gli shaders .sl,
mentre gli algoritmi interni e le implementazioni di ogni programma
sono differenti. In pratica uno stesso file .rib puo' essere letto
da differenti motori di rendering, e quindi puo' generare output lievemente
differenti...
Ehm... giusto?
                    Grazie.

                     Grazie.ů
prego :-))

 che si basa appunto su quello di Renderman.
No. Renderman sono le specifiche di Pixar, PRMan e' il loro renderer.
Che poi ora chiamino Renderman il loro PRMan e' un altra cosa.
--
Bye,
  Mirko

 Che poi ora chiamino Renderman il loro PRMan e' un altra cosa.
Mi sembrava troppo facile!
Dunque Renderman non e' un motore di rendering, ma solo un
insieme di "regole" per la descrizione di una scena, un'insieme
di convenzioni accettate che permette di interscambiare i file. Un po'
come il dxf puo' essere letto e scritto dalla maggior parte dei cad,
indipendentemente
dal fatto che questi siano buoni programmi o meno, allo stesso modo una
scena
descritta con le specifiche Pixar (renderman, appunto) puo' essere
renderizzata
da diversi motori piu' o meno "buoni"...
Ci sono?
Visto che ci siamo, perche' non mi date un parere su Aqsis?
http://www.aqsis.com
Io lo sto utilizzando con K-3D, e mi sembra valido quasi quanto BMRT,
soprattutto considerando che e' una versione alpha. Mi interessa perche'
e' opensource. Qui c'e' K-3D:
http://k3d.sourceforge.net/
Ciao,
                  Manuel

Immagina Renderman come il postscript.
Il postscript è uno standard per la stampa, renderman è uno standard per le
scene 3d.
L'interfaccia renderman si compone di due parti, una relativa alla
descrizione della scena, il RIB. E' sostanzialmente un uno script (prima era
puro C) che contiene la vera e propria descrizione della scena, quindi gli
oggetti, la posizione nello spazio, le luci, la camera, i parametri di
botion blur, depth of field ecc. Solitamente il rib viene generato dal
modellatore (maya, xsi, houdini ecc.) e poi "corretto manualmente" (le
plugin di connessione non fanno tutto bene).
La seconda parte è la descrizione degli shader, quindi dei materiali o
comunque di come devono apparire gli oggetti e le luci (si possono scrivere
anche shaders per le luci). Sostanzialmente uno shader, scritto in C, viene
compilato in file oggetto (ma non linkato) e poi richiamato dal RIB per
l'oggetto a cui è associato. Lo shader può essere generato automaticamente
da software tipo mayaman, maxman ecc. traducendo gli shader tree di maya
ecc., ma i risultati non sono sempre prevedibili. Quindi solitamente gli
shader vengono scritti a mano (che è poi il vero vantaggio di utilizzare
renderman). RAT della pixar è più preciso nel generare gli shaders ma usa un
albero proprietario e quindi diverso da quelli sdi maya (ed esiste solo per
maya).
Ora, tutti i motori che supportano questo tipo di interfaccia sono renderman
compatibili. Il più diffuso è sicuramente quello della pixar, il prman, che
è stato il primo ad implementare lo standard renderman. Adesso ci sono anche
BMRT e entropy della exluna. Entrambi supportano GI caustiche e raytracing.
Infatti prman (e renderman di base) non supporta il raytracing ma utilizza
un algoritmo, il reyes, che "simula" il raytracing (con ottimi risultati).
Quello che ha fatto exluna è stato aggiungere all'interfaccia rendeman dei
paramentri per gestire raytracing, GI e caustiche. BMRT è stato utilizzato
molto come server raytracing per prman e quindi per svolgere solo una parte
del lavoro (di base gli exluna sono più lenti di prman).
Dalla prossima versione anche prman  supporterà raytracing caustiche e GI.
Quindi, sostanzialmente, renderman è un'interfaccia e tutti i motori che
possono utilizzarla sono renderman compatibili.
Effettivamente il termine standard è un po' abusato. L'idea della Pixar era
quella che renderman sarebbe diventata l'unica interfaccia e che tutti i
motori avrebbero utilizzato questo sistema per descrivere scene e shader.
Effettivamente non è stato così. Vuoi perchè non tutti sono sisposti ad
imparare a programmare, vuoi per qualsiasi altro motivo, alla fine renderman
è usato solo ad altissimi livelli. Sono nati nuovi renderers di buona
qualità facili da usare, poco flessibili ma sufficienti per le piccole
produzioni (vedi final render, brazil ecc.). Sono nati motori che utilizzano
sistemi simili a renderman (ma che non sono renderman) più semplici da
utilizzare e flessibili quasi quanto renderman (anche se non altrettanto
veloci), vedi mental ray, relativamente facile da usare e flessibile.
Quindi il termine standard è da intendere come standard nelle grandi
produzioni dove per scrivere uno shader ci sono decine di coders che fanno
solo quello. Il temine standard come voleva essere inteso dalla pixar è per
ora un'utopia non aiutato certo dalla mancanza di volontà o interesse a
realizzare delle connessioni automatizzate realmente utilizzabili (che non
costino 8000$ come RAT).
Spero di essere stato esauriente.
Ciao :)

free (come BMRT) o addirittura open source AQSIS ?
Vedi sopra. 


http://k3d.sourceforge.net/
Ciao, una domanda vorrei fartela io...come ti trovi con K3d ? 
Io lo uso in Linux ma l'ho trovato di un'instabilità folle (a voler
essere gentili). Tutte le volte che lo lancio non ho mai la
possibilità di chiuderlo "a modo", ma sempre per un crash. Le
caratteristiche mi sembrano buone, ma se non ci si può
lavorare...addio !!! :))
Comunque da qualche giorno è uscita sia una nuova versione di K3d che
di Aqsis. Quasi quasi scarico e ricompilo.... :))

Ti ringrazio. Sei stato preciso ed esauriente. A questo
punto potrei azzardarmi a dire di avere finalmente capito
"cosa e'  renderman"...
Grazie ancora.
P.S.
Ho stampatp il post, e lo conservo tra gli appunti
di grafica...
[...]


La grafica 3D con gli strumenti professionali
e' avvincente, ma io sono tra quelli che, non dovendolo
(purtroppo) fare per mestiere, a volte mi diverto di
piu' con i programmi open source, che di solito mi gratificano
maggiormente.
K-3D e' stato fondato da un architetto, Timoty Shead. Dopo
qualche anno di sviluppo, a causa di svariati motivi, e' stato
deciso di riscrivere il codice quasi dall'inizio, per migliorarne
parecchio le caratteristiche, ed il lavoro e' passato a Romain
Behar, divenuto lo sviluppatore ufficiale del progetto. Allo
stato attuale il codice non e' ancora perfettamente stabile
perche' stanno ancora riscrivendo le vecchie funzionalita'.
Presto pero' dovrebbe essere tutto in ordine, e si cominceranno
a sviluppare nuovi tools.
Io non sono un programmatore, ma ho deciso di aiutare
il progetto nonostante il mio pessimo inglese:
http://members.xoom.virgilio.it/bastioni/free3d/index.htm
Appena saranno fissati alcuni bug riguardanti il displacement,
k-3D potra' essere utilizzato, se non come modellatore, come
renderer, visto che implementa diversi motori di rendering:
PRman,
Aqsis,
BMRT
3Ddelight
e c'e' un buon controllo real time delle proiezioni UV.
Io non sono in grado di compilarlo, e sia in RH 7.2 che
in Win2000 uso i binary messi a disposizione, che non
mi danno problemi particolari. Stanno facendo anche dei
tentativi per fare degli RPM, in modo da eliminare tutti
i casini riguardanti le librerie.
Tu che distr. Linux usi?
Comunque, questi ragazzi hanno bisogno di aiuto, e visto
che ci sono, faccio un appello a tutti...
Ciao,
                 Manuel


che ci sono, faccio un appello a tutti...
Io li aiuterei volentieri, ad averci le capacità e il tempo, è periodo
di esami ... :((  

 di esami ... :((
Vabbe' piano piano...Basta anche un piccolo tutorial, o spargere
la voce qua e la'...Se ti intendi di shader, guarda il mio post di
oggi. Con il rendering di K-3D ho dei problemi riguardo allo
smooth, ma pare si tratti di una questione di shader indipendente
dal programma.
Ciao,
               Manuel

dal programma.
Ok, ci darò un occhiata :))

 Ok, ci darò un occhiata :))
Gli italiani si sentono poco nell'Open Source...
eppure siamo gli eredi di Leonardo e Galileo...
la fantasia e le capacita' non ci mancano...
partecipiamo in massa!
:-)

la fantasia e le capacita' non ci mancano...
il problema secondo me è un altro, ma è meglio non parlarne qui ma via
email (l'indirizzo è stesso username tutto minuscolo presso 
libero.it
)
p.s: stiamo sforando nell'ot , meglio continuare via email.