[Caanoo/Wiz/Pandora] BennuGd Yeti 3d engine

Tutte le novità riguardanti le console open source e il gaming
User avatar
Zip
Site Admin
Posts: 3100
Joined: 3 May 2011, 21:03
Console open: Attuali Caanoo , Wiz, dingoo a320 (possedute Wiz, s7100B, s5110, s7300B, OpenPandora)
Location: Sicilia
Contact:

Re: [Caanoo/Wiz/Pandora] BennuGd Yeti 3d engine

Post by Zip »

riotdigital wrote:Of course, you can stick to plain old C++ and SDL, which is available for all platforms. For hardware accelerated rendering, OpenGL ES is available for Caanoo, Pandora and Wiz. And GPH own engine DGE is available in their official SDK for Caanoo and Wiz.
User avatar
gigios
Newser OC.it
Newser OC.it
Posts: 851
Joined: 4 May 2011, 9:08
Console open: Wiz; Caanoo
Location: Lombardia

Re: [Caanoo/Wiz/Pandora] BennuGd Yeti 3d engine

Post by gigios »

Ok! Il problema è poter utilizzare il tutto in Bennu ;)

Ora come ora non sono nemmeno 'pratico' nell'uso di engine 3D :lol:
Dai... Provaci anche tu :P
Attendiamo il ZipEngine :lol:
Image
User avatar
Zip
Site Admin
Posts: 3100
Joined: 3 May 2011, 21:03
Console open: Attuali Caanoo , Wiz, dingoo a320 (possedute Wiz, s7100B, s5110, s7300B, OpenPandora)
Location: Sicilia
Contact:

Re: [Caanoo/Wiz/Pandora] BennuGd Yeti 3d engine

Post by Zip »

se vabbe!!! era per dire che qualcosa effettivamente c'e
User avatar
gigios
Newser OC.it
Newser OC.it
Posts: 851
Joined: 4 May 2011, 9:08
Console open: Wiz; Caanoo
Location: Lombardia

Re: [Caanoo/Wiz/Pandora] BennuGd Yeti 3d engine

Post by gigios »

:lol: :lol: :lol: :lol: Ed io che ci speravo :lol: :lol: :lol: :lol:

Sicuramente c'è qualche cosa in C/C++ funzionante, e credo anche bene.
GLBasic so che supporta il 3D in maniera abbastanza 'semplice' (non ho provato, ma non dovrebbe essere trascendentale) il tutto facendo il porting di engine già esistenti.
Il vantaggio di GLBasic è che 'traduce' tutto in C/C++ prima di darlo in pasto ai vari compilatori che gestisce (Apple/ Android / Win / Linux / Wiz / Pandora e tra un pò anche Caanoo).

Per Bennu la cosa credo sia più difficoltosa, non essendo un vero e proprio compilato si somma la pesantezza dell'engine 3D a quella dell'interprete che esegue i comandi a runtime (per quanto sia comunque ottimizzato è comunque un ciclo sulle istruzioni memorizzate nel dcb per poi eseguirle chiamando gli opportuni moduli).
Image
User avatar
Zip
Site Admin
Posts: 3100
Joined: 3 May 2011, 21:03
Console open: Attuali Caanoo , Wiz, dingoo a320 (possedute Wiz, s7100B, s5110, s7300B, OpenPandora)
Location: Sicilia
Contact:

Re: [Caanoo/Wiz/Pandora] BennuGd Yeti 3d engine

Post by Zip »

e che senso ha il port dello yeti3d se poi non ce la fanno le console a elaborare il tutto?
User avatar
gigios
Newser OC.it
Newser OC.it
Posts: 851
Joined: 4 May 2011, 9:08
Console open: Wiz; Caanoo
Location: Lombardia

Re: [Caanoo/Wiz/Pandora] BennuGd Yeti 3d engine

Post by gigios »

Probabilmente Pandora riesce a farcela, Wiz / Caanoo probabilmente avranno bisogno di un overclock, oppure è l'esempio fornito a corredo che utilizza troppi oggetti (anche se è sempre lo stesso mostro ripetuto n volte).
Non me ne intendo molto di engine 3D ma sicuramente noto gli scatti quando ruotando la 'telecamera' vengono inquadrati più personaggi.
Come accennavo il conteggio scenda da 22 FPS circa a 9 (che se non erro è il minimo che ho visto).
Poi non è detto che il porting sfrutti pienamente le eventuali funzionalità HW di una specifica console e quindi potrebbe essere ulteriormente ottimizzato. Non penso sia facile portare un engine pensato per una piattaforma su un'altra, quindi ritengo comunque il lavoro fatto un buon lavoro che ora deve essere 'affinato'.
Poi scoprirò che vasta scrivere il prg in maniera opportuna per far si che il tutto sia fluido ;)
Image
User avatar
Zip
Site Admin
Posts: 3100
Joined: 3 May 2011, 21:03
Console open: Attuali Caanoo , Wiz, dingoo a320 (possedute Wiz, s7100B, s5110, s7300B, OpenPandora)
Location: Sicilia
Contact:

Re: [Caanoo/Wiz/Pandora] BennuGd Yeti 3d engine

Post by Zip »

qua c'e l'esempio che danno assieme al modulo

Code: Select all

// Example by Colombian Developers / GECA soft

program mi_programa;

#include "jkeys.lib"

/*
 YETI ENGINE
 
  y 
  ^     z
  !   /
  ! /
  *------->x
  
  LOAD MAP TEST

*/


const
  mode8_width=320;      //res. Limit is 640x480 max.
  mode8_height=240;
end;


type TYetiKeyState
  int up,down,left,right;  
   int mousex,mousey;
end ;  

type entity_pos
  int   radius;         // 8:8 entity radius.
  int   x, xx;          // 8:8 X position and velocity.
  int   y, yy;          // 8:8 Y position and velocity.
  int   z, zz;          // 8:8 Z position and velocity.
  int   p, pp;          // Pitch and pitch velocity.
  int   r, rr;          // Roll and roll velocity.
  int   t, tt;          // Turn and turn velocity.
  int   rx;             // View space X position.
  int   ry;             // View space Y position
  int   rz;             // View space Z position
end;
  
    
global

  salida=false,
  res,i;
  TYetiKeyState mycontrol;

  TYPE_ENTITY_3D  mycam;
  
  
 end;

begin
          
  full_screen=TRUE;

  SET_FPS(0,0); //MAX ENGINE FPS
  set_mode (mode8_width,mode8_height,16);          
  
  graph= new_map(320,240,16);
  SET_CENTER(file,graph,0,0);//center bitmap
  x=0; y=0; z=45;
  
  //(texture,palette)      
   WRITE(0,10,20,0,"FPS: ");
   WRITE_INT(0,100,20,0,&FPS);
   
   yeti_init(file,graph,mycontrol, "media/e1m4.y3d","media/textures.raw", "media/textures.pal" );
     
	for (i=0;i<40;i++)	
	   crear_modelo(); 
	end;
	 
   //-------------------
   //logo_coldev();//grafico bennu
	
  while ( !salida )
     jkeys_controller();
     salida=(jkeys_state[_JKEY_MENU]); // Gp2x Wiz 'MENU'    
                  
         mycontrol.up= jkeys_state[_JKEY_UP];
	 mycontrol.down= jkeys_state[_JKEY_DOWN];
	 mycontrol.left= jkeys_state[_JKEY_LEFT];
	 mycontrol.right= jkeys_state[_JKEY_RIGHT];	 
     
     frame;                       
  end;               

  let_me_alone() ;
  
  //free resources
  yeti_FREE();
end


#define i2f(A) ((A)<<8)


process crear_modelo()
private
  entity_pos pos;
  bandera= -1;
  int model;
begin  
  model= yeti_addmodel("media/modelo.bin", &pos);
      
pos.yy= 0;
pos.zz= 0;  
pos.xx=0;

     pos.x= i2f(rand(2,63)) ; 
     pos.y= i2f(rand(2,63)) ;
	 pos.z= 0;
  loop   
	 	  
    if (rand(1,15)==5)	
     pos.yy= rand(1,15)*bandera;     
     pos.xx=rand(1,15)*bandera;
	 
	 if (rand(1,25)==13) bandera*=-1;  end; //retroceder
	end
  
    frame;
  end	
end; 

process logo_coldev() //bennu graph test
begin
  x=0;
  y=500;
  graph= load_png("media/coldev.png");
  loop
    x++; if (x > 800) x=0; end;
    	
    frame;
  end;
end;


User avatar
gigios
Newser OC.it
Newser OC.it
Posts: 851
Joined: 4 May 2011, 9:08
Console open: Wiz; Caanoo
Location: Lombardia

Re: [Caanoo/Wiz/Pandora] BennuGd Yeti 3d engine

Post by gigios »

Ho scaricato nuovamente il tutto, ora però non posso provare sulla console.

Sul sito dove è presente il sorgente sembra che il lavoro del porting non sia ancora completo:
http://code.google.com/p/yeti3dplusplus/wiki/Status

Provato su PC ma non è attendibile, in questo caso addirittura è troppo veloce.
Guardando il codice vedo che vengono caricati 40 'modelli' e poi 'movimentati' avanti e indietro tramite la selezione di un numero casuale.
Appena ho un secondo per provare sulla Wiz provo a ridurre a 20 il numero di 'mostri'.
Teoricamente mi aspetto un aumento di prestazioni vicino al doppio.
Provando ad arrivare a 70 oggetti va in crash il tutto (sempre su PC), lasciando 40 oggetti e aumentando la risoluzione a 640 x 480 stesso problema, crash (ma qui potrebbe essere legato ai files utilizzati per la mappa)!
Image
User avatar
gigios
Newser OC.it
Newser OC.it
Posts: 851
Joined: 4 May 2011, 9:08
Console open: Wiz; Caanoo
Location: Lombardia

Re: [Caanoo/Wiz/Pandora] BennuGd Yeti 3d engine

Post by gigios »

Ho riprovato mettendo 20 'oggetti' al posto dei 40 presenti nell'esempio ma il risultato finale è si migliorato ma non di tantissimo.
Sicuramente utilizzabile ma credo ci siano ampi margini di miglioramento.
Questi sono gli screenshots dove si vedono i FPS e la scena inquadrata.

Si parte da un buon 18 frame
Image

e si arriva a 10 con più 'personaggi' visualizzati:
Image

E' dura contarli ma credo siano 13-14 'personaggi' visualizzati, tutti in movimento.
Non ho idea della complessità di un singolo modello (quanti vertici implementi), forse la 'pesantezza' del tutto è dovuto anche a quello.
Image
User avatar
gigios
Newser OC.it
Newser OC.it
Posts: 851
Joined: 4 May 2011, 9:08
Console open: Wiz; Caanoo
Location: Lombardia

Re: [Caanoo/Wiz/Pandora] BennuGd Yeti 3d engine

Post by gigios »

Sul forum di BennuGD è stato postato un video relativo alla nuova versione dell'engine Yeti3D Pro il quale sembra girare senza grossi problemi su Caanoo (andrà provato in quanto il video non presenta 'oggetti' oltre alle pareti che delimitano il mondo, io nei test della prima versione avevo notato parecchi rallentamenti con un po' di oggetti visualizzati).

Video: YouTube
Fonte: Forum BennuGD
Homepage Progetto: Yeti3D plus plus
Video 2: YouTube

edit: Aggiunto un secondo video in cui si vedono anche 3 personaggi 3D ed il numero di FPS sembra rimanere comunque ad un valore tutto sommato accettabile (oscilla da un minimo di 14 con i personaggi molto vicini, ad un massimo di 32 senza personaggi). Sicuramente un risultato migliore rispetto ai miseri valori riscontrati con la prima versione (minimo 2-3 max 20 con 2 personaggi).
Image
Post Reply