meshlab/web/devel.html
2006-12-19 15:48:47 +00:00

167 lines
7.6 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Meshlab Development</title>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<meta name="author" content="Paolo Cignoni">
<meta name="keywords" content="mesh 3d processing meshlab scanning">
<meta name="description" content="Course Web page">
<meta name="robots" content="all">
<link media="all" rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<div id="leftcontent">
<h1>MeshLab:
Development page</h1>
<p class="body"> This page is devoted to some internal
development notes. Given the
linguistic coherency among developers they will be only&nbsp;in
italian. Sorry.
</p>
<h2>CVS&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;</h2>
<p class="body"> Al solito mi raccomando di seguire tutte
le solite pratiche del bravo programmatore: <br>
</p>
<UL>
<li>Fate update ogni volta che vi mettete a lavorare, non
solo del repository di MeshLab, ma anche di quello di VCG
<li>Fate edit delle cose che iniziate a cambiare,
<li>Prima di fare edit controllate che non l'abbia in
edit qualcun altro,
<li>Non lasciate in edit le cose per troppo tempo,
<li>Non committate mai cose che non compilano o che non
fanno funzionare le cose degli altri,
<li>Committate spesso (compatibilmente con quanto di cui
sopra).
<li>Commentate <span style="FONT-WEIGHT: bold; FONT-STYLE: italic">SEMPRE
</span>ogni
vostro commit (in inglese please) </li></UL>
<P>Per una intro generale a cvs e a come accedere ai servizi cvs di sourceforge
leggetevi la lunga introduzione a cvs su:</P>
<P><A
href="http://sourceforge.net/cvs/?group_id=149444">http://sourceforge.net/cvs/?group_id=149444</A></P>
<P>&nbsp;</P>
<h2>Web</h2>
<p class="body"> Le paginette web di sourceforge sono
tenute anche loro in cvs. <br>
Quindi se fate modifiche fatele sul vostro file system, committatele e
poi a mano fate update tramite ftp.<br>
(in alternativa qualcuno che ha voglia potrebbe settare un task cron
sulla shell di sf che aggiorni la copia in public_html direttamente via
cvs update una volta al giorno). Il comando da dare su shell.sf.net una
volta dentro la dir meshlab/htdocs e'</p>
<p style="FONT-FAMILY: monospace" class="body"> cvs -d
:pserver:anonymous@cvs1:/cvsroot/meshlab update</p>
<h2>Mailing List</h2>
<p>C'e' una mailing list su sourceforge cui siete pregati di iscrivervi
tutti:
</p>
<p><a class="moz-txt-link-freetext"
href="http://lists.sourceforge.net/lists/listinfo/meshlab-devel">http://lists.sourceforge.net/lists/listinfo/meshlab-devel</a></p>
<p>La lista la useremo per tutte le comunicazioni semi-urgenti (e.g.
quelle che uno si aspetta vengano recepite entro un giorno) che
riguardano soprattutto lo sviluppo di MeshLab. Ad esempio per essere
sicuri che tutti sappiano cosa succede nel caso di cambi significativi
di interfacce comuni...
</p>
<h3>Note di Compilazione</h3>
<p class="body">Si assume che&nbsp;</p>
<OL>
<li>QT 4.1 sia installato
<li>il modulo cvs meshlab e quello di vcg siano allo
stesso livello e che il modulo che contiene la <EM>vcg lib (</EM>modulo cvs
che si chiama <EM>vcg)</EM> sia in una dir chiamata non vcg ma
<STRONG>sf</STRONG>. (ad es. dovreste avere qualcosa tipo
\doc\sf\vcg\space\point3.h e \doc\meshlab\src\meshlab\meshlab.pro )
<LI> ci sia OpenGL, ovviamente da qualche parte nei path standard del
vostro compilatore dovreste avere include e lib per OpenGL. Di solito
non dovreste far nulla e il compilatore dovrebbe trovare tutto quel che riguarda opengl
(e.g. "&lt; gl/gl.h&gt;" e "&lt; gl/glu.h&gt;") senza chiedere nulla.
<li> GLUT <b>NON</b> serve per meshlab, ma puo' servire per compilare
gli esempi di lib3ds (che in effetti non servono)
<LI> allo stesso livello di <b>sf</b> e <b>meshlab</b> ci sia una
dir <b>code</b> con dentro una sotto dir lib con dentro i contenuti
delle seguenti librerie open source:
<ol>
<LI>glew. Dentro ci scompattate il contenuto dei
sorgenti dell'ultima distribuzione di glew (ci deve essere glew.c tra i
file, meshlab per evitare orridi problemi di unicode/debug/dll si ricompila direttamente glew invece di linkarsi la
lib)
<LI>lib3ds-1.2.0 il contenuto dell'ultima distribuzione ufficiale (a seconda
dell'ambiente di sviluppo dovete anche ricompilarvela)
<LI>lib3ds-1.3.0 una copia del cvs di lib3ds acceduto
in cvs anonimous da sourceforge.
<LI>bzip2-1.0.3 il contenuto della distribuzione ufficiale di bzip2.
Sotto win la lib deve essere compilate staticamente, altrimenti vi dovete copiare la dll assieme all'eseguibile del meshlab.
</LI></ol></LI></OL>
<p class="body">
La libreria VCG, pagina ufficiale <a href="http://vcg.sourceforge.net">vcg.sf.net</a>,&nbsp;e'
scaricabile in cvs
anonimo
</p>
<div style="TEXT-ALIGN: center">&nbsp;:pserver:anonymous@vcg.cvs.sourceforge.net:/cvsroot/vcg<br>
</div>
<p class="body"> Gli esempi di base della libreria li
trovate sotto sf/apps/sample.
Lasciate perdere la roba sotto test.&nbsp;</p>
<p class="body"><a href="style.html">Guida di stile</a>.
</p>
<h2>Task</h2>
lista incompleta e inaffidabile di possibili sottotask che mi vengono in mente tanto per fissare le idee e fare qualche esempio...
<b>Un-Allocated tasks</b>
<OL>
<li> Filtri input per altri formati (wrl)
<li> parametrizzazione automatica
<li> Unit testing</li>
</OL>
<b>Allocated tasks</b>
<OL>
<li> Meccanismo creazione automatica del dialogo richiesta di parametri di un filtro,
in base ai parametri stessi (pirosu)
<li> simplification con tex coord (pirosu)
<li> Sezioni di mesh (come polyline o come piccole mesh con uno spessore. (andrenucci / editclip)
<li> Editing stile painting (brush painting sugli attributi dei vertici della mesh) ( gfrei / editpaint )
<li> Measuring Tape (colombini / edittape),
<li> trackball smooth: (colombini / integrated)
<ol>
<li> zoom interpolato della camera su doppio click
<li> copy and paste delle trackball/viste
<li> spinning della trackball</li>
</ol>
<li> Rendering usando punti automatico durante interazione quando framerate basso (colombini / integrated)
<li> Selezioni stile bacchetta magica, o selezione solo delle facce visibili (cerisoli)
<li> Selection per vertex/face,componenti? (cerisoli)
<li> compressed wedge normals (volpe santonocito)
<li> crease cutting and welding (volpe santonocito)
<li> T-Vertex and inconsistency managing (volpe santonocito)
<li> Heuristic for folded and flipped triangles (volpe santonocito)
<li> remove duplicated faces (volpe santonocito filtergeom )
<li> Shader OpenGL multi passata in un formato piu' diffuso (RenderMonkey?) (giardina, fusco, galilei / rendershader)
<li> save snapshot come gif animata (leone)
<LI> multi texture switchable (leone / rendertexture )
<LI> Texture Viewer Dialog (con possibilita' di vedere come
la mesh si stende sulla texture e zoom e pan) (leone/decorshowtexture)</LI>
</OL>
</div>
<div id="rightcontent">
<a href="https://sourceforge.net/projects/meshlab/"><img
style="BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; WIDTH: 125px; BORDER-BOTTOM: 0px solid; HEIGHT: 37px"
src="http://sourceforge.net/sflogo.php?group_id=149444&amp;type=2"
alt="SourceForge.net Logo"></a>
<p class="menu"><a href="http://meshlab.sourceforge.net">Main
Page&nbsp;</a></p>
<p class="menu"><a
href="https://sourceforge.net/project/showfiles.php?group_id=149444">Download</a></p>
<p class="menu"><a href="http://cvs.sourceforge.net/viewcvs.py/meshlab/">CVS</a></p>
<p class="menu"><a href="https://sourceforge.net/pm/?group_id=149444">TASK</a></p>
<p class="menu"><a href="https://sourceforge.net/projects/meshlab/">SF
project
page</a></p>
</div>
</body>
</html>