Renderworld error

Blitz3D Forums/Blitz3D Programming/Renderworld error

Cousin Gilgamesh(Posted 2006) [#1]
I'm running into an intereseting runtime error. I have a function that details a landscape mesh based on heights stored in an array. Everything works for arrays smaller than 16384 but when they get bigger than that, the function still operates but calling renderworld causes a Memory Access Violation. I'm having trouble recreating this error in a controlled environment and I'm wondering if anyone can help me out? i know it's messy code, I wrote it a while back.
[code]
Function DetailLandscape()

row = 1
collumn = 1

x = 1
I = 1

While x < width*(height-1)

TS# = .25 ;terrain size
Va = AddVertex(surf, Float#(collumn), Float#(array(x)/10), row, TS*(collumn), TS*(row))
Vb = AddVertex(surf, Float#(collumn), array(x+width)/10, row + 1, TS*(collumn), TS*(row + 1))
Vc = AddVertex(surf, Float#(collumn + 1), array(x+width+1)/10, row + 1, TS*(Collumn + 1), TS*(row + 1))
Vd = AddVertex(surf, Float#(collumn + 1), array(x+1)/10, row, TS*(collumn + 1), TS*(row))


If DiagIndex(I) = 0 Then
AddTriangle(surf, Va, Vb, Vc)
AddTriangle(surf, Vc, Vd, Va)
Else If DiagIndex(I) = 1 Then
AddTriangle(surf, Vb, Vc, Vd)
AddTriangle(surf, Vd, Va, Vb)
Else
AddTriangle(surf, Va, Vb, Vc)
AddTriangle(surf, Vc, Vd, Va)
End If

x = x + 1
collumn = collumn + 1
If collumn = width Then
collumn = 1
row = row + 1
x = x + 1
End If
I = I + 1

Wend

EntityTexture landscape, planetex

End Function

[\code]
thanks guys


Beaker(Posted 2006) [#2]
Sounds like you are exceeding the maximum amount of vertices you are allowed under DirectX7.


Cousin Gilgamesh(Posted 2006) [#3]
ok, that makes sense... but number of vertices allowed where? in each surface? each mesh? or all together? Would it help if I broke it into different surfaces, or do I have to use multiple meshes? (thanks for the help, btw)


Steven Noyce(Posted 2006) [#4]
I am not sure, but I think that he means in each surface.


Dreamora(Posted 2006) [#5]
64k per surface (so 65536 vertices)
Older cards as well have a maximum of 32768 polygons until they will fail.


Cousin Gilgamesh(Posted 2006) [#6]
k thanks