Gamestudio Links
Zorro Links
Newest Posts
Trading Journey
by howardR. 04/28/24 09:55
basik85278
by basik85278. 04/28/24 08:56
Zorro Trader GPT
by TipmyPip. 04/27/24 13:50
Help with plotting multiple ZigZag
by M_D. 04/26/24 20:03
Data from CSV not parsed correctly
by jcl. 04/26/24 11:18
M1 Oversampling
by jcl. 04/26/24 11:12
Why Zorro supports up to 72 cores?
by jcl. 04/26/24 11:09
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (AndrewAMD, NeoDumont), 761 guests, and 1 spider.
Key: Admin, Global Mod, Mod
Newest Members
wandaluciaia, Mega_Rod, EternallyCurious, howardR, 11honza11
19049 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 6 1 2 3 4 5 6
Re: Voxel fürs 3d Gamestudio [Re: Kartoffel] #429146
09/09/13 12:56
09/09/13 12:56
Joined: Jul 2008
Posts: 2,107
Germany
rayp Offline

X
rayp  Offline

X

Joined: Jul 2008
Posts: 2,107
Germany
So wäre es noch besser, falls ent_create nicht erfolgreich war ^^
Code:
you = ent_create("test1.bmp",vector(42,0,0),NULL);  
if (you){
   you.pan = 0;
   set(you,DECAL);
}



Acknex umgibt uns...zwischen Dir, mir, dem Stein dort...
"Hey Griswold ... where u gonna put a tree that big ?"
1998 i married my loved wife ... Sheeva from Mortal Kombat, not Evil-Lyn as might have been expected
rayp.flags |= UNTOUCHABLE;
Re: Voxel fürs 3d Gamestudio [Re: Kartoffel] #429148
09/09/13 13:03
09/09/13 13:03
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline
Expert
MasterQ32  Offline
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
@Kartoffel: Sprites rendern bei weitem schneller als Model-Entities. Von daher sollte das sich ausgleichen...


Visit my site: www.masterq32.de
Re: Voxel fürs 3d Gamestudio [Re: MasterQ32] #429153
09/09/13 13:33
09/09/13 13:33
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
kann man ja mal mit nem 256³ level ausprobieren


POTATO-MAN saves the day! - Random
Re: Voxel fürs 3d Gamestudio [Re: Kartoffel] #429162
09/09/13 15:26
09/09/13 15:26
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
...

Last edited by ratz; 09/09/13 16:06.
Re: Voxel fürs 3d Gamestudio [Re: ratz] #429163
09/09/13 15:59
09/09/13 15:59
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
gute laufzeit wink ^^ 146 fps
ich hab die max_entity jetzt mal auf 2000
gemacht und mithilfe der for-scheife eine lange
strecke gezeichnet...




Code:
var i;

var coord_counter_x =32;
var coord_counter_y =32;

ENTITY* cube[500];

function create_atom()
{
 for (i=0; i<500; i++) 
 {	
  cube[i] = ent_create("test1.bmp",vector(42,0+coord_counter_x,0),NULL);  
  cube[i].pan = 180;

  cube[i] = ent_create("test2.bmp",vector(10,0+coord_counter_x,0),NULL);
  cube[i].pan = -180;
 
  cube[i] = ent_create("test3.bmp",vector(26,16+coord_counter_x,0),NULL);
  cube[i].pan = 90;
  
  cube[i] = ent_create("test1.bmp",vector(26,-16+coord_counter_x,0),NULL);
  cube[i].pan = -90;
  
  cube[i] = ent_create("test2.bmp",vector(26,0+coord_counter_x,16),NULL);
  cube[i].tilt = 90;
  
  set(cube[i],DECAL);

  i++;
  coord_counter_x += 35;
  coord_counter_y += 35;
 }
}


function main()
{
max_entities = 2000;
	level_load("test.WMB");
   create_atom();
}



wink ich melde mich später wieder wenn ich was brauche oder euch was zeigen will

-Danke nochmals wink

Re: Voxel fürs 3d Gamestudio [Re: ratz] #429165
09/09/13 16:57
09/09/13 16:57
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
...kleines beispiel: 2500 blöcke, 1 entity



sichtbarkeit des models macht +- 4fps aus, die restliche auslastung kommt durch das postprocessing und 8x supersampling.

ohne nachbearbeitung und antialiasing läuft das ganze auf ~2200fps.

edit: nur um das nochmal klarzustellen: ich will nicht sagen, dass dein ansatz falsch ist, du wirst aber relativ schnell an begrenzungen stoßen (fps & entity limit)

Last edited by Kartoffel; 09/09/13 17:07.

POTATO-MAN saves the day! - Random
Re: Voxel fürs 3d Gamestudio [Re: Kartoffel] #429169
09/09/13 17:20
09/09/13 17:20
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
so ... jetzt muckt meine for-schleife rum
ich will nichtnur in die Länge, sondern auch in
der Breite erstellen ...

Code:
...



frown und das ist das Ergebniss


was mache ich falsch ?

drehe ich das ganze um in der schleife dann kommt das gleiche ergebniss
mache ich es anders , dann meint mein Programm beim ausführen script-crash

Last edited by ratz; 09/10/13 12:35.
Re: Voxel fürs 3d Gamestudio [Re: ratz] #429171
09/09/13 17:24
09/09/13 17:24
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
du musst die coord counter nach den schleifen immer wieder resetten
edit: und du verwendest cube[i] mehrmals. benutze doch einfach 2 variablen, anstatt i_x, i_y und i.
edit2: achso, natürlich wäre es auch naheliegend, einen 2 dimensionalen ent array zu verwenden.

Last edited by Kartoffel; 09/09/13 17:32.

POTATO-MAN saves the day! - Random
Re: Voxel fürs 3d Gamestudio [Re: Kartoffel] #429194
09/10/13 08:19
09/10/13 08:19
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
kann mir mal wer die schleife richtig einstellen
(wo am schluss coord_x/coord_y resetten )?

ich bekomm irgenwie nur komische muster anstatt
eine fläche die in die länge sowie in die breite gehen soll grin

und wie geht das, dass ich den cube[i] nur einmal verwenden muss/soll/kann?

-> und ent_array gibs im handbuch nicht

Last edited by ratz; 09/10/13 08:21.
Re: Voxel fürs 3d Gamestudio [Re: ratz] #429201
09/10/13 10:24
09/10/13 10:24
Joined: Nov 2008
Posts: 946
T
the_clown Offline
User
the_clown  Offline
User
T

Joined: Nov 2008
Posts: 946
coord_counter_y müsstest du vor der inneren schleife immer zurücksetzen. ist aber obsoleter rat da die ganze funktion so langfristig nicht funktionieren kann.

erstmal zu ent array: das ist keine funktion (nichts mit ent_array oder so) sondern kurz für entity-array. cube[] ist ein entity array, genauer ein array von pointern vom typ entity. was ein array ist solltest du auf jeden fall wissen wenn du derartige dinge programmieren möchtest, arrays sind eine recht fundamentale datenstruktur.

ein problem in deinem code ist das du irgendwie versuchst alle entities, die einen würfel bilden, in einem einzigen array-element zu speichern, denn du setzt cube[i] in deiner schleife gleich mehrmals auf den rückgabewert eines ent_create aufrufs. im endeffekt zeigt cube[i] dadurch am ende der schleife nur auf die zuletzt erzeugte seite des i-ten würfels. nebenbei bewirkt das dass auch nur diese seite das DECAL flag gesetzt hat; das sich nicht alle anderen seiten nach der kamera ausrichten kommt daher dass du ihre ausrichtung direkt nach dem erzeugen manuell setzt, was wenn ich mich richtig erinnere den gleichen effekt wie das flag hat. wenn du später durch dein array iterierst, um beispielsweise bei allen blöcken die farbe zu ändern oder so, wirst du feststellen dass änderungen sich nur auf eine seite auswirken.

außerdem ist es relativ ineffizient die würfel in einem EINdimensionalen array zu speichern, besser wäre es, ein ZWEIdimensionales zu verwenden, dadurch kannst du später gezielt auf blöcke in bestimmten zeilen und spalten deiner blockwelt zugreifen. das spart dir auch 4 deiner 5 variablen im code. lies dir mal die abschnitte zu arrays im handbuch durch, die erklären das glaub ich ganz gut. später wenn du tatsächlich welten aus deinen blöcken bauen willst wäre sogar ein dreidimensionales array ideal (auch wenn ich nicht mehr weiß ob das in lite-c geht).
am besten wäre es aber sowieso, zwei eigene datenstrukturen zu verwenden, eine um alle seiten eines blockes abzuspeichern und eine weitere um die block-welt zu verwalten. dazu benutzt man structs. das spart in der regel eine menge unnötigen code. auch dazu gibt es einen abschnitt im handbuch.

Page 2 of 6 1 2 3 4 5 6

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1