PDA

Visualizza Versione Completa : Primo 'non so cosa' scritto con Lscript



GinoLatino
07-04-06, 19:54
Ancora devo ben capire come funziona il giro del fumo con questi plug Lightwave, ma stasera ho dato vita alla mia prima creatura.
(non tanto per come si scrivono, piuttosto per capire quali sono i passi da seguire per renderlo disponibile all'utente)
:yt:

Poco importa se questa plug esiste già, mi devo esercitare!
:D
Volevo solo capire se per farvi provare questa meraviglia che ho sfornato (modestamente) devo postare il .ls e poi l'utente deve lanciare lo script a mano, oppure esiste un modo per creare un formato .p partendo dal .ls ?
Scusate la confusione, ma mi manca qualche step.
:noidea:
Inoltre dove cavolo si trova sto capperi di Lscript Editor ?
Porca zozza.....Notepad no, vi prego!
All'inizio sono imbranato, poi arrivo.
:mmgh:

LAV
07-04-06, 22:38
devo postare il .ls e poi l'utente deve lanciare lo script a mano, oppure esiste un modo per creare un formato .p partendo dal .ls ?
Scusate la confusione, ma mi manca qualche step.
aspettando che ti risponda qualcuno più ferrato di me...
.p e .ls (.lsc) sono due cose completamente diverse: .p sono i plugin compilati (con qualunque compilatore C) - .ls sono script (tipo macro) che LW 'interpreta' (te lo ricordi il basic del C64?). .lsc sono script 'compilati' che LW decompila dopo averli caricati (duiurimember compiled amigabasic?).
Due cose del tutto diverse.


Inoltre dove cavolo si trova sto capperi di Lscript Editor ?
Porca zozza.....Notepad no, vi prego!

directory programs -> lsed.exe
assegna sotto windowz il file ls al programma così lo carichi col doppi click su *.ls


All'inizio sono imbranato, poi arrivo.
:mmgh:
buahàhàhà!!! :coolpic:

GinoLatino
07-04-06, 23:02
Lassamo perdere, se penso che anche DCL è interpretato!
(secoli fa abbandonai Basic e mi tuffai in GW-BASIC con cui scrissi anche un famosissimo gioco di zona - la mia zona - , il primo calcio manageriale della storia videoludica, roba per pochi eletti, tutto ovviamente SENZA GRAFICA e solo con TESTO...'GOAL di CAVALLO che porta in vantaggio l'Inter!', randomize timer a manetta e una fila di amici a chiedermi di far comparire anche il loro cognome nel giochino!Classifiche, storico, coppe, non so quante righe di codice!Erano tempi che se vedevi sul Monitor un 'Dimmi come ti chiami', tu inserivi Fabio e il monitor rispondeva 'Ciao Fabio!' creavi il panico...'COME FA A SAPERE CHE MI CHIAMO FABIO?'
WOW!!!)
:yt:

Anyway, ho fatto qualche passettino avanti.

Eccoci.........!
Compilando il mio piccolissimo script si ottiene un .lsc che vi passo qui :

http://www.fabiocavallo.it/Script/weldmirror.rar

Praticamente per utilizzarlo basta cliccare su Utilities e quindi Lscript/RT;a questo punto selezionate lo script .lst che avete scaricato.

Ho fatto qualche prova e pare funzionare:ho previsto anche qualche caso limite e per adesso non mi ha creato problemi particolari.

L'ho fatto per me, + che altro, perchè mi ero rotto di perdere la simmetria quando usavo Weld!

ATTENZIONE, EH!
L'ho fatto stasera ed è da testare, quindi vi consiglio di fare delle prove!(se volete farle)

Ricordatevi che questo script vi ciuccia due livelli di undo.
(per ora, vedremo + avanti)

Se mi date una mano a testarlo e a scovare i bugs, chissà che non mi ci metta a farne altri su richiesta!

Adesso dovrò inventarmi qualcosa per controllare che i punti selezionati siano realmente simmetrici, ma se la selezione avviene in simmetria dovrebbe funzionare tranquillamente.

Nel caso la selezione dei punti non venisse fatta con simmetria attivata, il risultato dipende esclusivamente dalla sequenza di selezione dei punti.
(verranno saldati a rotazione in base alla selezione e sull'ultimo punto selezionato) e quindi potrebbe non dare i risultati per cui lo script è previsto.

Usatelo quindi con simmetria attivata.
(almeno fino a quando non vi bacchetterò io con una segnalazione quando tirerò fuori un controllo che si 'accorge' che la selezione è stata fatta senza simmetria)

Ciao!

Piddu
07-04-06, 23:42
Ma fabietto hai rifatto uno script che sta sulla prima pagina di lwita. Se ho capito bene.

Mannaggia!

Lav ha rispoto bene alle tue domande.

Fammi sapere se hai problemi.

Ciao

GinoLatino
08-04-06, 01:00
:D SUPER LOL, l'importante è cominciare!
Ho fatto un clone, mannaggia la pupazza.
:yt:

Bhè, l'importante è che funzioni anche il mio!
:yeah:

+ che problemi, perplessità su come fare certe cose!
Non ho trovato una funzione per estrapolare da un tipo dato point, un singolo valore di riferimento per X,Y o Z.
(tralasciando il fatto che non esistono i tipi dati, giusto per capirci)
Comunque è divertente e se non l'hai già fatto te, vorrei fare uno script per applicare Band Saw in simmetria.
Tutta pratica, finchè non si passa alle cose toste con il C++.
:g1:

Ciao e grazie!

Piddu
08-04-06, 01:20
Bhè, l'importante è che funzioni anche il mio!
Ciao e grazie!

Certo! Sapessi le prove che ho fatto io di cose che già c'erano.


+ che problemi, perplessità su come fare certe cose!
Non ho trovato una funzione per estrapolare da un tipo dato point, un singolo valore di riferimento per X,Y o Z.


Se vuoi sapere le coordinate in un punto nel modeler, ci sono due modi: o ti creai un mesh object agent, ma non è consigliabile per una serie di motivi, oppure entri in mesh edit mode con il comando "editbegin()" (chiudi il mesh edit mode con "editend()"). Una volta entrato ti viene fornito un array "points" nel quale ci sono i punti selezionati.
Utilizzando le seguenti righe di codice:

foreach(p, point)
pos = pointinfo(p);

in pos avrai a ogni iterazione la posizione di un punto.


Comunque è divertente e se non l'hai già fatto te, vorrei fare uno script per applicare Band Saw in simmetria.


No, non l'ho fatto e non sarà divertente.
Ricorda che sei fai uno strumento è importante che sappia lavorare sia in simmetria che non. Ti consiglio di fare delle prove con il mesh edit mode, prima di buttarti sul band saw simmetrico, sia con Lscript sia con il C.

Ciao

GinoLatino
09-04-06, 19:31
Scusa Piddu, tu hai idea se esiste un sito dove poter trovare la documentazione relativa alle varie classi/metodi per la programmazione C++ dedicata ai plug LW ?
Oppure dove trovare del codice (funzionante) da scaricare e studiare con calma ?

Grazie mille!

Ciao

Piddu
09-04-06, 20:05
Scusa Piddu, tu hai idea se esiste un sito dove poter trovare la documentazione relativa alle varie classi/metodi per la programmazione C++ dedicata ai plug LW ?
Oppure dove trovare del codice (funzionante) da scaricare e studiare con calma ?

Grazie mille!

Ciao

Dovresti avere una cartella all'interno di Lightwave con il nome SDK. Lì dentro trovi parecchia roba e le librerie .h che ti servono da includere nei tuoi file.

Se non hai questa cartella puoi scaricare tutto qui:
http://www.newtek.com/lightwave/developers.php

Ma ti consiglio vivamente prima di fare diverse prove in Lscript.

Ciao

GinoLatino
09-04-06, 20:31
Grazie, seguirò i tuoi consigli e nel frattempo darò una sbirciatina anche all'altra documentazione.

Ciao!
:yoo:

LAV
09-04-06, 22:33
Scusa Piddu, tu hai idea se esiste un sito dove poter trovare la documentazione relativa alle varie classi/metodi per la programmazione C++ dedicata ai plug LW ?
Oppure dove trovare del codice (funzionante) da scaricare e studiare con calma ?

Grazie mille!

Ciao
se posso intervenire: io ho trovato utile questo (per incominciare dalle basi, fatta salva la conoscenza del C)
http://www.clandestine.com.au/Bui.htm
o anche
http://www.catalystpics.co.uk/lwp/lesson1.htm
oppure
http://lynx.aspect-design.de/tutorials/compile_plugin.htm
o anche (esempio carino anche se scritto con caratteri illeggibili)
http://amber.rc.arizona.edu/lw/shades/writing.html. (http://amber.rc.arizona.edu/lw/shades/writing.html)
bye!

GinoLatino
09-04-06, 22:54
Grazie LAV!
Mi tengo buon l'ultimo link;per il primo e il terzo, io penso di usare Visual C++ che conosco bene.(senza nulla togliere a Borland C++ e all'ottimo Dev C++)
:yeah:
Il secondo link è lo stesso che ho postato io....!
:evil:

In ogni caso non sarebbe male lavorare nel mondo del 3D anche come programmatore......
:g1:

A presto.

Ciao!

Piddu
09-04-06, 23:07
Grazie LAV!!!!

L'ultimo mi sembra veramente un ottimo link.

Per caso sai mica se è possibile reperire degli shader di renderman?
Grazie ancora.

Ciao

marconwps
09-04-06, 23:15
Qualcuno ne sa qualcosa sapevo di un libro in stesura sullo script di lightwave?

Saluti Stefano

GinoLatino
10-04-06, 08:35
Io sono neofita del settore e da 'self made man', mi farebbe solo comodo!
:yt:

Piddu
10-04-06, 10:34
Da quello che so doveva uscire un libro per la programmazione in Lscript, a cui partecipa anche Emanuele Salvucci, ma è ancora in lavorazione.

Quindi l'unica possibilità adesso è fare tante prove. Quintali e quintali di prove.

Ciao

LAV
10-04-06, 21:56
Per caso sai mica se è possibile reperire degli shader di renderman?
Ho fatto un semplice search con Google:
http://accad.osu.edu/~smay/RManNotes/ (http://accad.osu.edu/%7Esmay/RManNotes/)
http://www.serve.com/derekl/tiling/index.html
http://www.edit.ne.jp/~katsu/rms_tree.htm (http://www.edit.ne.jp/%7Ekatsu/rms_tree.htm)
http://www.deathfall.com/tutorials.php?op=showcontent&id=63
ci sono un paio di shader con i sorgenti (uno dei quali è già stato convertito da Denis Pontonnier)
Questo, soprattutto, credo ti interessi:
http://pbacademy.com.sapo.pt/shader_farm/prman.htm
Ciao

LAV
10-04-06, 22:04
Dhè! Questo is de maximum:
http://www.annie.ne.jp/~show/shader_lib/shaders.htm (http://www.annie.ne.jp/%7Eshow/shader_lib/shaders.htm)

Piddu
10-04-06, 22:14
Grazie LAV.

Ma i file .slim che sono? Non ho mai visto niente di renderman, l'ho solo sentito nominare. C'è qualche fonte da cui posso studiare come si usa
on-line che tu conosci.

Ti ringrazio ancora.

Ciao

LAV
10-04-06, 22:46
Ma i file .slim che sono? Non ho mai visto niente di renderman, l'ho solo sentito nominare. C'è qualche fonte da cui posso studiare come si usa
on-line che tu conosci
Bhò? I files .slim ... saranno files... magri:)

Io non so niente di renderman, ma mi sembra di aver capito che la comunità di programmatori di shaders per renderman sia molto numerosa, open source orientata, prevalentemente costituita da teorici e ricercatori e che quindi le librerie di shaders renderman siano data base molto ricchi per chiunque voglia farne il porting. Ci sono infatti anche le versioni python.

Detto ciò, mi sa che devo chiarire una cosa: io, personalmente, anche se riesco a leggere i sorgenti ls o C, e magari intuirne il funzionamento, ho dovuto abbandonare da tempo l'attività di programmazione (hobby meraviglioso che ho coltivato per un pacco di anni) perchè dovevo fare una scelta. Adesso compilo solo roba poco più difficile di 'Hello world'.

GinoLatino
11-04-06, 09:17
:D , mitico LAV!
Sentite un pò, ma esiste già un Lscript che fornisce l'elenco delle superfici con la possibilità di rinominarle ?
Volevo provare a farlo, non dovrebbe essere complicatissimo.
La chicca sarebbe suddividere le superfici per oggetto, ma qui devo capire come LScript gestisce la struttura dati.
Inoltre devo ancora cercare se esiste una funzione che permette di selezionare con un loop tutti i poligoni di una primitiva, partendo dalla primitiva.
(sarebbe come avere un array di member variable data type 'poligono' del metodo 'primitiva' di una classe del modeler)
Insomma, il mio dubbio è questo : quando seleziono diversi poligoni di oggetti differenti, ho la possibilità di identificare un oggetto rispetto all'altro ?
(ipotizzo : poly_1 di Box_1...poly_N di Box_1;poly_1 di Sphere_1...poly_N di Sphere_1;selezionando poligoni a caso, riesco a risalire a Box_1 e Sphere_1 e partendo da queste scorrere in modo distinto tutti i poligoni di ogni primitiva)

Ciao!

GinoLatino
11-04-06, 14:13
Un collega mi dice che l'origine di sto 'CIAO MONDO' che compare OVUNQUE è figlio di Brian Kernighan e Dennis Ritchie autori di 'The C Programming Language (1988)'.Così, giusto per farvi capire il calibro delle persone che lavorano SOTTO (ehm....) con me!:-)

LAV
11-04-06, 18:11
Già, BK&DR... Una coppia di simpaticoni. Nell'88 imparai (!) il C sul loro libricino. Una delle letture più rilassanti di quei tempi (così imparai a helloare il mondo sotto C, sotto Assembler (M68000) poi, molto poi, sotto Java. Fino a che entravo in classe e helloavo anche i fanti. Che, non avendo letto K&R, mi prendevano per 'toccato'. Comunque erano bei momenti. Con le routines C-assembler mixed andavi a toccare le fibre più intime dei processori, dei coprocessori, del kernel, fino quasi all'orologio di sistema :) Dava un vago senso di onnipotenza. Altro che programmazione ad oggetti! Allora si mettevano le mani nei bit!
Sorri for mai OT. Bat it is sempre e greit plesiur tu renovell det taim!
Sorri! Non lo facc più.

GinoLatino
11-04-06, 19:08
Programmare sul metallo, così la definiva un mio collega un pò + grande di me!
:D