Main forum > Bug Reports
Problem with the maximum number of 3D objects.
SnooPI:
Normally, GENX_OBJ() only returns -1 if there is not enough memory but that is not the case.
It seems that GLBASIC don't allow more than 4096 3d object.
------
EDIT
------
In fact, the GENX_OBJ() function gives 4095 at the beginning and decreases with each call, it has nothing to do with the memory, this function is probably just in relation to a memory array of 4096.
It is very restrictive that the maximum number of objects is not related to the available memory (as the help says), but only with a precalculated memory array, because a 3D world can often contain more than 4096 objects :(
Hemlos:
actually its 4224=4096+128 objects, but whos counting anyways? lol
i realize this defeats the purpose of having no extra files to load, yet...
u can reuse object ID numbers, and can save infinite amounts of objects to drive.
--- Code: (glbasic) ---INC num, 1 ////etc etc etc
CreateCube(num, sz)
// ------------------------------------------------------------- //
// -=# CREATECUBE_NO_TEXTURE: Fast but without texture #=-
// ------------------------------------------------------------- //
FUNCTION CreateCube_no_texture: num, sz
// Diese Variablen sind als LOCAL definiert:
// num, sz,
// 2-4-3-1
// | | | |
// 6-8-7-5
// | |
// 6-5
// | |
// 2-1
// | |
// 4-3 Strip: 4 3 8 7 5 3 1 4 2 8 6 5 2 1
// Normals + culling is wrong!!
LOCAL s[], n, m, x,y,z
DIM s[14]
s[0]=4; s[1]=3; s[2]=8; s[3]=7; s[4]=5
s[5]=3; s[6]=1; s[7]=4; s[8]=2; s[9]=8
s[10]=6;s[11]=5;s[12]=2;s[13]=1
X_OBJSTART 0
FOR m=0 TO 13
n=s[m]-1
x = MOD(n, 2)
y = 1-INTEGER(n/4)
z = 1-MOD(INTEGER(n/2), 2)
X_OBJADDVERTEX x-.5, y-.5, z-.5, 0, 0, RGB(255,255,255)
NEXT
X_OBJEND
X_SAVEOBJ "Filename" + num + ".png", 0
ENDFUNCTION
--- End code ---
SnooPI:
Hmm, I think you didn't understand the problem, but perhaps I'm poorly explained.
While you were answering me I wrote a modification in my first message, maybe it's clearer no?
If you exceed the number of 4096 objects in your program, your program crashes completely.
Hemlos:
ye, sounds like an array crash
SnooPI:
Yes :(
By cons, you are right in my test program it's not 4096 but 4224 the max :D :S
I'm going to bed, this bug gives me a headache :sick:
Thank You Hemlos.
Navigation
[0] Message Index
[#] Next page
Go to full version