Gamestudio Links
Zorro Links
Newest Posts
Free Live Data for Zorro with Paper Trading?
by dr_panther. 05/18/24 11:01
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (dr_panther, Ayumi, 1 invisible), 708 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
max_particles #361478
03/03/11 04:49
03/03/11 04:49
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline OP
Serious User
Widi  Offline OP
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
max_particles scheint nicht zu funktionieren. Ich setze max_particles auf 10000, erzeuge mit draw_point3d ca 9000 Partikel. Aber die Hälfte beginnt zu flackern, und die Variable num_particles springt immer zwischen 4900 und 5100 herum. Sieht so aus, als ob da irgendwie eine Begrenzung bei 5000 ist.

Brauche diese grosse Anzahl an Points, da damit jedes vertices meines Terraineditors markiert werden soll.

EDIT: Ich setze auch max_particles VOR level_load...

Last edited by Widi; 03/03/11 04:51.
Re: max_particles [Re: Widi] #361492
03/03/11 11:01
03/03/11 11:01
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Nein, zumindest eine Begrenzung bei 5000 gibt es nicht.

Re: max_particles [Re: jcl] #361538
03/03/11 18:43
03/03/11 18:43
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline OP
Serious User
Widi  Offline OP
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
Hier ein Beispiel:
Code:
#include <acknex.h>
#include <default.c>

#define anzahl_particles 9000    // unter 5000 ist alles in Ordnung.
VECTOR Position[anzahl_particles];

function main()
{
	fps_max = 10;
	video_set (sys_metrics(0),sys_metrics(1),32,1);
	max_particles = 10000;

	level_load (NULL);
	vec_set (sky_color,nullvector);
	vec_set (camera.x,vector(-600,0,0));	

	int i;
	for (i=0; i<anzahl_particles; i++)
	{
		Position[i].x = random(500) -250;
		Position[i].y = random(500) -250;
		Position[i].z = random(500) -250;
	}
	
	while (1)
	{
		for (i=0; i<anzahl_particles; i++)
		{
			draw_point3d(Position[i],vector(0,0,255),100,2);
		}
		wait(1);
	}
}


Sobald anzahl_particles über 5000 gesetzt wird, beginnen die Punkte zu flackern. Habe fps_max extra auf 10 gesetzt, damit man die Aenderungen in num_particles im Debugpanel besser beobachten kann.

Komischerweise funktioniert es sobald ich max_particles auf das Doppelte von anzahl_particles setze, in diesem Beispiel 18000. Aber die var num_particles zeigt dann immer noch nur 9000 an.

Darum hatte ich auch die Frage mit der Begrenzung von 5000 Particles: max_particles war in meinem Projekt auf 10000 gesetzt und auch dort funktionierte es nur bis 5000 sauber.

Last edited by Widi; 03/04/11 05:20.
Re: max_particles [Re: Widi] #362229
03/07/11 13:28
03/07/11 13:28
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Danke für Ihr Beispiel - und hier wieder ein kleines User-Quiz:

Warum bekommt Widi mit dem obigen Code nur halb so viele Partikel? Wo steckt der Rest?

Re: max_particles [Re: jcl] #362274
03/07/11 16:10
03/07/11 16:10
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Also hier meine Vermutung: Das Handbuch sagt:
Quote:
The point is only visible during the next frame. For displaying it permanently, use a while ... wait(1) loop

Wenn also im ersten Frame zum Beispiel 6000 Particles erzeugt werden, dann sind sie im zweiten Frame sichtbar. Wenn im zweiten Frame aber bereits 6000 vorhanden sind, dann können nur 4000 neue erzeugt werden um max_particles = 10000 nicht zu überschreiten. Diese 4000 neu erzeugten sind dann im dritten Frame sichtbar, während die 6000 aus dem ersten verschwunden sind. Also können im dritten Frame wieder 6000 erzeugt werden u.s.w.

Liege ich richtig?


Always learn from history, to be sure you make the same mistakes again...
Re: max_particles [Re: Uhrwerk] #362281
03/07/11 16:30
03/07/11 16:30
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Ja, die Idee ist richtig.

Widi zeichnet 3D Punkte. Diese benötigen jeweils einen Partikel und existieren genau einen Frame lang.

Er reserviert 10000 Partikel und zeichnet 9000 Punkte. Diese werden auch korrekt dargestellt. 1000 Partikel sind danach noch übrig. Im nächsten Frame zeichnet er wieder 9000 Punkte, von den jetzt aber nur 1000 gezeichnet werden können, da es für den Rest keine Partikel mehr gibt. Im folgenden Frame stehen wieder 10000-1000 = 9000 Partikel zur Verfügung. Daher flackert das Bild dauernd zwischen 9000 und 1000 Partikeln hin und her.

Re: max_particles [Re: jcl] #362283
03/07/11 16:59
03/07/11 16:59
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
*Im Kalender rot markier*

Rätsel von JCL gelöst...


Always learn from history, to be sure you make the same mistakes again...
Re: max_particles [Re: Uhrwerk] #362408
03/07/11 22:22
03/07/11 22:22
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline OP
Serious User
Widi  Offline OP
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
Danke für den Hinweis.

EDIT: Habe in meinem Level immer noch probleme mit flackernden Punkten.
max_particles = 200000;
num_particles > 5000 und schon flackert es.
Aber mit dem Beispiel oben funktioniert es. Muss noch einige Tests machen wieso das so ist. Melde mich dann wieder.

EDIT 2: Konnte den Fehler noch nicht lokalisieren, mein Script ist schon sehr gross. Habe nur folgendes festgestellt: mit A7 keine Probleme. Bleibe aber dran an dem Problem

Last edited by Widi; 03/08/11 08:01.

Moderated by  jcl, Nems, Spirit, Tobias 

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