3 registered members (dr_panther, Ayumi, 1 invisible),
708
guests, and 2
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
max_particles
#361478
03/03/11 04:49
03/03/11 04:49
|
Joined: Aug 2007
Posts: 1,922 Schweiz
Widi
OP
Serious User
|
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: jcl]
#361538
03/03/11 18:43
03/03/11 18:43
|
Joined: Aug 2007
Posts: 1,922 Schweiz
Widi
OP
Serious User
|
OP
Serious User
Joined: Aug 2007
Posts: 1,922
Schweiz
|
Hier ein Beispiel:
#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: jcl]
#362274
03/07/11 16:10
03/07/11 16:10
|
Joined: Jan 2002
Posts: 4,225 Germany / Essen
Uhrwerk
Expert
|
Expert
Joined: Jan 2002
Posts: 4,225
Germany / Essen
|
Also hier meine Vermutung: Das Handbuch sagt: 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: jcl]
#362283
03/07/11 16:59
03/07/11 16:59
|
Joined: Jan 2002
Posts: 4,225 Germany / Essen
Uhrwerk
Expert
|
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
OP
Serious User
|
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.
|
|
|
|