Piero V.

Picking voxels on the Open3D visualizer

While working on my M.S. thesis, I got to know Open3D. To me, it is basically the Swiss army knife for 3D data acquired from reality.

It offers implementations of performant algorithms, Python support to quickly change your scripts or adjust parameters to improve your results, and a visualizer to see them.

Unfortunately, this very visualizer is not very interactive. Often, I would like to pick objects in the scene and drag them or modify them. Sadly, in Python, it is not possible. But it is in C++, and I will comment on how you can implement that.

But first, I suggest you download my code, as I will refer to it. It combines the routines of the following sections to allow picking and deleting voxels.

Interact with the Mouse

Usually, when I want to do something with Open3D, I look at the examples on their Read the Docs documentation. However, they also offer a Doxygen-based one for the C++ part of the library. … [Leggi il resto]

LibGDX e formati personalizzati di modelli

LibGDX

Di tanto in tanto mi diletto con motori di rendering 3D e game engine. Questa volta è satato il turno di LibGDX.

LibGDX è un framework per lo sviluppo di videogiochi 2D e 3D scritto in Java.

Il suo scopo è quello di rendere disponibili delle API Crossplatform (Windows, Linux, Android, OS X, iOS etc…) per il rendering 2D e 3D (OpenGL ES), la matematica associata, l’audio (OpenAL, Ogg ed MP3) e la fisica (Box2D e Bullet). Inoltre, dove possibile, usa metodi nativi scritti in C per aumentare le prestazioni, ma essendo scritto principalmente in Java, permette l’uso qualsiasi classe dell’enorme libreria standard o qualunque libreria scritta nello stesso linguaggio.

Un altro punto di forza di questo progetto è la grande community che vi è attorno, constatabile anche nel numero di stelle su GitHub.

Forse è merito anche della licenza, molto permissiva: la Apache License 2.0.

Formati di modelli personalizzati

Uno dei miei obiettivi, che prima o poi potrebbe diventare realtà, è fare un gioco, magari anche piccolo, ma compatibile con le mappe dei vecchi Call of Duty 1 e 2, con cui ho giocato molto in LAN con i miei amici. … [Leggi il resto]

Panda3D per Debian Sid

Dopo aver studiato un po’ Blender e aver avuto qualche difficoltà ad ottenere esattamente quello che volevo con la Game logic ho deciso di provare un altro motore per videogiochi: Panda3D.

Panda3D è un motore rilasciato sotto la BSD Modified license e tra i suoi contributori si può citare la Walt Disney. Le sue API consentono di scrivere videogiochi in Python e in C++.

Come mesh da quanto ho capito - devo ancora approfondire per bene la questione - ha un formato suo (l’egg) ma è compatibile anche con X, 3ds ed esiste un plugin per esportare i file da Blender.

Perciò come caratteristiche promette bene.

Però c’è un problema: per Debian esiste il pacchetto solo per la Squeeze. E le dipendenze hanno software che include la versione nel nome del pacchetto e nei file stessi, perciò anche modificando il pacchetto non si ottiene un risultato utilizzabile (ho provato io stesso).

Così me lo sono ricompilato. Però la versione 1.72 (la stabile) non funzionava, così ho dovuto usare quella csv.

Per compilarla ho utilizzato il metodo makepanda/makepanda.py --everything --installer. Pur avendo specificato everything però alcune cose, tra cui ffmpeg sono state omesse. Invece con installer ho ottenuto un file deb che vi linko.

Un’ulteriore nota prima di scaricare e installare il file: ho compilato e installato anche bullet, una libreria per la fisica e anche Panda è configurato per usarla, perciò installate anche quel file. Purtroppo ho dovuto usare checkinstall e perciò non so le corrette dipendenze.

Ecco i link: bullet_2.79-1_i386.deb e panda3d1.8_1.8.0_i386.deb.

Spero vi possano tornare utili.

Blender

Mi è venuta voglia di provare altri fronti informatici 😌

Così ho deciso che per un po’ proverò Blender, un fantastico software per la grafica tridimensionale.

L’ho provato poco ma per quello che ho provato è favoloso. È stato capace di stupirmi.

Se raggiungerò buoni risultati vi farò sapere 😉 .

Cosa ho imparato

Giorno 1

Il primo giorno è sempre quello un po’ più complicato, ma con impegno si riesce eccellentemente.

  • Spostare oggetti, ridimensionarli e ruotarli.
  • Spostarmi nell’ambiente di lavoro.
  • Scendere a livello di vertici e lati.
  • La consolle in python è comoda e per certi lavoretti può essere molto utile.
  • L’autocomplete della consolle in python usa CTRL + Spazio. Peccato, sono abituato a usare Tab.
  • Python non è interattivo nella game mode
  • Estrusione

Giorno 2

  • I menu View, Select e Mash offrono molto potenzialità nascoste
  • Il menu proprietà è eccellente, specialmente per chi con la geometria analitica si è abituato a usare le coordinate e non ad andare a occhio
  • Esportare il gioco come runtime

Scusa, questa sera non posso uscire...

… devo stare a casa a guardare la mia nuova TV.

Dopo molti anni e il passaggio al digitale terrestre ho cambiato TV.

Ora ho una Sony Bravia da 40” FullHD LED con il 3D. In più con la TV era venduto un lettore Blu ray sempre sony con due occhiali 3D e il trasmettitore.

È veramente bella, anche di aspetto, infatti è tutto vetro davanti, non ha cornici. La qualità dell’immagine è ottima. L’audio non è malvagio, anche se è una TV a LED molto sottile (mi pare sui 3cm).

Ora posso fare quello che si lamenta per i canali che sono tutti SD 😁

Inoltre ha anche la wireless integrata, così posso vedere youtube e altri servizi dalla TV. Però anche se ha le porte USB non supporta la tastiera (non ho ancora provato però).

Se volete vedere le caratteristiche tecniche andate a vedere il modello sul sito della sony: KDL-40NX710.