Main forum > Bug Reports

Problem with the maximum number of 3D objects.

(1/4) > >>

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