Post

Visualizzazione dei post con l'etichetta Note

VTK Textured Map Plane + Image Data

Ref: https://vtk.org/Wiki/VTK/Examples/Cxx/Visualization/TextureMapPlane   Ref: https://vtk.org/Wiki/VTK/Examples/Cxx/Visualization/TextureMapImageData  ...    vtkImageCanvasSource2D *imageSource; vtkNEW(imageSource);     imageSource->SetScalarTypeToUnsignedChar();     imageSource->SetExtent(0, 10, 0, 10, 0, 0);     imageSource->SetNumberOfScalarComponents(3);     imageSource->SetDrawColor(127, 255, 100);     imageSource->FillBox(0, 10, 0, 10);     imageSource->SetDrawColor(20, 20, 20);     imageSource->DrawSegment(0, 0, 9, 9);     imageSource->DrawSegment(9, 0, 0, 9);     imageSource->Update();         texture->SetInput(imageSource->GetOutput());     // Create a plane     vtkPlaneSource *plane; vtkNEW(plane);     plane...

vtk textured polygon

Ref: https://vtk.org/Wiki/VTK/Examples/Cxx/Visualization/TextureMapQuad // Read the image which will be the texture vtkSmartPointer < vtkJPEGReader > jPEGReader = vtkSmartPointer < vtkJPEGReader >:: New (); jPEGReader -> SetFileName ( inputFilename . c_str () ); // Create a plane vtkSmartPointer < vtkPoints > points = vtkSmartPointer < vtkPoints >:: New (); points -> InsertNextPoint ( 0.0 , 0.0 , 0.0 ); points -> InsertNextPoint ( 1.0 , 0.0 , 0.0 ); points -> InsertNextPoint ( 1.0 , 1.0 , 0.0 ); points -> InsertNextPoint ( 0.0 , 2.0 , 0.0 ); vtkSmartPointer < vtkCellArray > polygons = vtkSmartPointer < vtkCellArray >:: New (); vtkSmartPointer < vtkPolygon > polygon = vtkSmartPointer < vtkPolygon >:: New (); polygon -> GetPointIds () -> SetNumberOfIds ( 4 ); //make a quad polygon -> GetPointIds () -> SetId ( 0 , 0 ); polygon -...

Hello world - Progress Bar (Loading...)

Immagine
Vector2 m_Position = {100, 100}; Vector2 m_Size = {400, 20}; Vector2 m_ProgressBar_Size = m_Size; int m_Progress = 0;  // Update m_Progress  m_Progress_Rectangle.setPosition(m_Position);  m_ProgressBar_Size.x = (m_Size.x / 100)*m_Progress;  m_Progress_Rectangle.setSize( m_ProgressBar_Size );  print( "Loading...%d%" , m_Progress); 

Hello world - Game Loop

// Ver.1 - Easy Loop --------------------------------------------------- while( true ) {   processInput();   update();   render(); } // Ver. 2 - Add Time and FPS --------------------------------------------------- MS_PER_FRAME 16 //60 FPS == 16 millisecondi per frame   while( true ) {   double  start  =  getCurrentTime();   processInput();   update();   render();   sleep( start  +  MS_PER_FRAME  -  getCurrentTime ()); }

Post n. 376243dgfdy_x

Poche righe per dirvi che esistiamo ancora. E anche il nostro progetto più ambizioso non è sparito. Emblemata continua ad esistere... e forse un giorno vedrà la luce. Buona estate a tutti voi da Polpetta Games

Hello world - Unity - Code guidelines

Di seguito alcune considerazioni piu’ specifiche sul codice, unity e l’organizzazione del lavoro. Stile, convenzioni indentazione Legenda: Da non fare assolutamente Forse, ma meglio persarci bene Ok Pattern and practices Variabili pubbliche (escluse readonly e const) Iteratori a frame time (sono piu’ lenti e allocano, usate i for a frame time, possibilmente) Over-Engineering (Unity e’ un framework ad altissimo livello. E’ molto raro che vi troviate a scrivere architetture complesse di componenti, almeno in una prima fase. Se sentite la necessita’ di usare tante classi da subito e strutture complesse, con buona probabilita’ esiste una soluzione piu’ semplice, magari gia’ implementata nel framework) Statement e modificatori esotici : GOTO, ref & out parameters, tutte cose che rompono incapsulamento e OOP. Evitare! Reflection: macigno sulle performance, inutile nel 99% dei casi (salvo che scriviate un IDE o un sistema di IoC). Vietatissima [De]Alloc...

Hello world - Unity - Asset import settings best practies

Models Import Settings Negli import settings dei modelli ci sono diverse flag, ovviamente le opzioni variano da modello a modello. L’idea di massima e’ selezionare solo quelle che ci interessano ed evitare di importare qualsiasi cosa non necessaria. Di seguito alcuni esempi: Qui la doc: http://docs.unity3d.com/Manual/FBXImporter-Model.html Read/Write enable : NO a meno che non serva modificare la mesh a runtime.. Import blendshapes: NO Import Materials: NO unity importa i materiali nella stessa cartella dei modelli e genera disordine. Inoltre spesso non e’ in grado di scegliere shader e texture correttamente. Tanto vale farseli a mano cosi siamo sicuri di non sbagliare. Generate Colliders: NO Generate LM UVS: DIPENDE SE STATICI CON LIGHTMAP Optimize Mesh: SI Normals: meglio importarle se il modello le ha, altrimenti farle generare.. di norma servono sempre. Tangents: se le ha importarle altrimenti generarle SOLO SE si usano Bumpmap o simili Rig->...

Hello world - Rogue - Nuovo Approccio

Immagine
Poiché mi sono reso conto della mia difficoltà a spiegare in maniera chiara ed esaustiva le tecniche e gli algoritmi volendo evitare tecnicismi e codici chilometrici, mi accingo a raccontarvi, in maniera molto discorsiva ed in pillole, la nascita, lo sviluppo  e spero la riuscita di un nuovo progetto. In questo primo post vi accenno solamente il genere, la piattaforma e qualche altro piccolo indizio  per darvi l’idea: Roguelike, Silverlight per Windows Phone 7, ambientazione fantasy ma in chiave ironica con battute, parodie e nemici improbabili. Nome in codice: Rogue Se vi ho incuriosito, rimanete sintonizzati. Cercherò di aggiornare frequentemente il blog con gli sviluppi di questo ambizioso progetto. Saluti   

Hello world - Angolazioni

Immagine
Paddle.Curve = 0.005; Ball.Speed.X = (Ball.Position.X - (Paddle.Position.X + (Paddle.Width / 2)) * Paddle.Curve;