Gotta get answers; Gotta post, Gotta credit people

Blitz3D Forums/Blitz3D Beginners Area/Gotta get answers; Gotta post, Gotta credit people

Mikorians(Posted 2012) [#1]
I'm trying to finish the work of a lifetime and am enjoying BB3D a great deal, but--
I really need your help finding the answers to why I cannot load a large scene.
I'm trying to move away from creating an engine (I've been at it for 30 years now) and move more into the actual 3D artwork facet of my project.
I'm looking at a rewrite in BB3D, but am finding the the Managed DX8 was able to handle much larger file sizes that BB.
I am wondering whether it will be practical to use it...

It is very fast and uses a DX7 based engine - nothing wrong with this in my book since I'm not looking for effects that are outside the scope of its abilities.

I want to finish up, post my engine, and make sure that all the contributors get credited (I have a habit of hodgepodging code, but I do it for the benefit of mankind here)
So when I'm done, if you recognize your code - I'm terribly disorganized - I'd like to have folks speak up so I can post their names as part of my project.

My project is called tourist, and it's basically a virtual reality simulator with animals, scenery, a skybox, sun, moon, weather, and quite a few levels. I'm keeping it simple and non-violent because I have no idea what folks will want to turn it into later.

Anyone who wishes to contribute, please pipe up, I am VERY interested in collaboration to get this all done because I also want to make live virtual movies using it as well.
This dedication springs from the fact that this represents 2 of my 3 bucket list items.
1. a 3D game of my own design
2. a 3D movie maker for my own spiritual edification

The level loader and my current troublesome level (the biggest one in the game) are here:

http://sites.google.com/site/mikorians/ArcGBldg.zip

The .bb file is meant to be compiled and used as a drag and drop.

You can rename the two .b3d files to non-numeric appendages to load them separately to see what I'm talking about.
They load, but not together.

Last edited 2012


Mikorians(Posted 2012) [#2]
I know that the author of Blitz has occasioned the boards and wondered if he'd consider a small financial contribution as encouragement towards this end...?


PowerPC603(Posted 2012) [#3]
Is it Blitz3D which cannot handle such big scenes? Or is the problem within DX7?

You could try the Xors3D engine, try the demo first. The demo has the same functions as the full version, only limitation is a timer which kills your app after running it for 30mins.
It's a DX9 engine, built inside a DLL, and it's based on Blitz3D's command set.
Too bad development has stopped, but the engine is quite functional and some people have already created good games with it.

Most commands of the engine are the same and have the same parameters, only each function has an "x" in front of it ("LoadMesh" becomes "xLoadMesh" for example).


Mikorians(Posted 2012) [#4]
thank you for your suggestion, I will keep in mind when I've worked out what is wrong. Nobody seems to want to try loading my level.

Last edited 2012


Kryzon(Posted 2012) [#5]
Hi.

The level loader and my current troublesome level (the biggest one in the game) are here:

[...]

The .bb file is meant to be compiled and used as a drag and drop.

You got too much going on to actually debug anything out of it and figure out why it's not loading your level.

Purely as a scientific experiment: strip all the redundant stuff from your program. Rewrite new code - from scratch - that's purposed to just load the scene and render it. Don't do anything special.
If you manage to get that up and running then you can extend it further.


Mikorians(Posted 2012) [#6]
If you have a more basic loader for b3d scenes, I`d sure like to know about it.
Did you load my scene?


Mikorians(Posted 2012) [#7]
Sorry- But if you did, what were the results?


Kryzon(Posted 2012) [#8]
What I meant was, if you want to test if the Blitz3D engine can load your level at all, then strip all redundant code that could potentially be a problem as well (you want to get rid of 'variables' - in the scientific sense).

A simple test would be the following:
[bbcode]
Graphics3D 800,600,0,2

scene = LoadAnimMesh("scene.b3d")

camera = CreateCamera()
MoveEntity camera,30,20,-50
PointEntity camera,scene

RenderWorld()
Flip()
WaitKey()

End[/bbcode]
Yeah, that simple x)


Matty(Posted 2012) [#9]
Scene loads fine...
Graphics3D 800,600,0,2
SetBuffer BackBuffer()
camera=CreateCamera()
MoveEntity camera,-100,100,-100
AlignToVector camera,1,-1,1,3,1
mesh = LoadAnimMesh("test01.b3d")
mesh2 = LoadAnimMesh("test11.b3d")

RenderWorld
Flip
WaitKey
End


Haven't looked at your code but I see nothing wrong with the scenes as such...


Matty(Posted 2012) [#10]
Ahh I see what it is....you have one surface with 336960 vertices...that's going to be a problem with directx in any system not just blitz3d...break it into smaller chunks..directx maximum vertex count is about 30k roughly for most system...related to directx...blame microsoft.


Mikorians(Posted 2012) [#11]
Thank you both for testing!

I made an even simpler posting of the loader - I do need to traverse the scene for the error to show up sometimes.

I thought the limit was 65K verts per mesh abs. max.
By loading as animmesh, the hierarchy isn`t collapsed.
There should be no mesh with more than 20k verts anywhere.

336k would be the whole scene. Although in my old engine, I never had a problem with even larger test scenes...


Mikorians(Posted 2012) [#12]
If you can show me how you arrived at this data, perhaps which object is relevant?