3D Level Test

Community Forums/Showcase/3D Level Test

TeraBit(Posted 2004) [#1]
Hi all,

I'm not sure how well this will run on a Mac, but seems to work fine on the PC beta.

A Maplet Level to run around. :)

Let me know how you get on.

Download (700kb)


Perturbatio(Posted 2004) [#2]
nice :)


TeraBit(Posted 2004) [#3]
This example has the much improved .B3D Loader, so if you want use one the loaders from my demos, the one included here is the one to start with rather than GLHead.


AdrianT(Posted 2004) [#4]
cool :).
was messing around with another GL B3D loader earlier, don't suppose yours does heirarchies. There were some rotation problems with children when loading my objects created in B3d pipeline. have a feeling that Bmax and GL have a right handed coordinate system as does 3dsmax, whilst blitz3d D3D is left handed.

I'm assuming somethings going wrong in the translation :(

will have to check yours out.


LarsG(Posted 2004) [#5]
It doesn't work on the mac.. ran fast on the win32 beta though.. nice work.. :)

but back to the mac; it compiles just fine, but when it starts, it shows the turret on the tanx and the wall, but the whole screen flickers, and it doesn't respond to the "w" key, or the mouse... the text is not drawn to the screen either.. but pressing esc works..


matt!(Posted 2004) [#6]
The room also seems round on the Mac.


Perturbatio(Posted 2004) [#7]
The room also seems round on the Mac.

Maybe the smoothing flag is being ignored?


Loonie(Posted 2004) [#8]
i get same behavior as LarsG on the mac


matt!(Posted 2004) [#9]
"Round" as in the level/room is not square like most Maplet levels.


TeraBit(Posted 2004) [#10]
don't suppose yours does hierarchies


Yes it does.

On the issue of problems on the Mac,

If any Mac people could take a look at the code to see if you can figure out what's going on. I only have the Win32 version, so I can't really comment on the problems there.

I would guess it is in the 3DEngine.bmx probably in the Begin3D/End3D functions.


Murilo(Posted 2004) [#11]
162 FPS here. Nice.


Jeremy Alessi(Posted 2004) [#12]
Very nice! Working off the Win32 version though so can't help with the Mac issues just yet.


VIP3R(Posted 2004) [#13]
This is great, good work Lee :)

One thing though, everything is completely upside down here (both the tank and level).
I can fall through the mesh and float upwards!?

Using Win32 beta with ATI Radeon 9800.


Perturbatio(Posted 2004) [#14]
As a note, I got about 412fps running this, which is much niceness in my book :)


TeraBit(Posted 2004) [#15]
Ok, updated to stop you starting upside down (It was a mouse move issue, as I didn't zero the delta at start up).

No idea what is causing the Mac issues yet?


LarsG(Posted 2004) [#16]
I have no idea what happens regarding the mac verison.
I checked to see, and the keys and mousebuttons are all checked, so the game loop is working as it should (I guess).
It's likely that it has something to do with the begin and end3d functions, as you said earlier.
Unfortunately, I'm no 3D guru, so I can't really mess with anything, because I don't know what's what..


AntonyWells(Posted 2004) [#17]
Runs fine here. 45Fps, g5-5600.

One tip: Use mip-mapping on those textures, it'll remove all the banding that occurs on distant geo when you move.


Craig Watson(Posted 2004) [#18]
I'm getting between 20 and 24FPS on my craptastic laptop with Radeon IGP 340. Which is pretty good for this setup.


TeraBit(Posted 2004) [#19]
@ Antony,

I am using mipmapping (I tried it without and it looks craptastic!). But the filter type is just normal point linear so maybe that's it?


VIP3R(Posted 2004) [#20]
Sweet, everything is the right way up now :) 134fps


Kanati(Posted 2004) [#21]
Bumped up the res to 1600x1200 and am getting 203fps. Nice. :)


Grisu(Posted 2004) [#22]
1280x1024 at around 230 fps here... really nice stuff!


EOF(Posted 2004) [#23]
I find toggling wireframe/point slows things to a crawl (less than 1 fps). Works fine in solid mode.

Tested using Win32 beta on:
laptop (3Ghz 512MB Ati Mobility 9200)
169 fps


Robert(Posted 2004) [#24]
Hi TeraBit,

Is there a reason why you have chosen to Include the BMX files rather than Import them?


TeraBit(Posted 2004) [#25]
Is there a reason why you have chosen to Include the BMX files rather than Import them?

I Never got around to making them into a module.


AntonyWells(Posted 2004) [#26]

@ Antony,

I am using mipmapping (I tried it without and it looks craptastic!). But the filter type is just normal point linear so maybe that's it?
-



Try
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
need to specify mipmap filtering in the min filter.


TeraBit(Posted 2004) [#27]
Hi Anthony,


glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);



It's at Line 122 of Engine3D.BMX


AntonyWells(Posted 2004) [#28]
Hmm well that is wierd. I used maplet levels in vivid and didn't get banding using that method.(ages ago)

Do you get any banding yourself? might just be dodgy drivers on my part.


EOF(Posted 2004) [#29]
By banding do you mean this(?) ...

I get that effect if I'm looking down a long corridor.


AntonyWells(Posted 2004) [#30]
That's the change over into different mip map levels(most likely anyway.)

By banding(Although you may be correct in calling the above banding..i'm useless at remembering right names) I mean the stary formations of pixels that wave in and out like a lsd trip on textures in the distance.
Maybe a different lod bias will solve it or more levels.


TeraBit(Posted 2004) [#31]
Strange. You can see what I see by the screenshot.



I think there may be some driver issues going on here, but I'm far from being an expert on OpenGL. This demo was written as a learning experience, so it will likely contain...erm...issues that need to be resolved.


flying willy(Posted 2004) [#32]
Cool work so far!

Lee, have you considered bigendian:: / littleendian:: as the culprit for it not working properly under mac?


TeraBit(Posted 2004) [#33]
Should be ok, as the .B3D loader automatically appends the endianess to the file name (look at the B3DLoader.bmx to see where it happens).

file$="littleendian::"+file$


In my experience, the endian issue stopped it loading at all.


Damien Sturdy(Posted 2004) [#34]
Hey Terabit....

VERY VERY VERY nice work, as always!

the engine im doing to teach myself stuff is 100% b3d compatible but because i made it with the glhead demo, it can only load the head (b3d loader fexxored ;) )
So, my question is, can i use a few bits of this code to continue making a 100% b3d compatible engine for n00bs?

Dont worry, i have no intention of selling it. (hey, its mostly your code just been moved around!!!!)

[edit]

Mine probly wont go anywhere as ive seen what i have to do now... and im too lazy!!!


TeraBit(Posted 2004) [#35]
It's demo code (it would have been included with the GLHead demo, but the Problems on the Mac weren't ironed out yet).

So the answer is yes, use any of it as you like.


Damien Sturdy(Posted 2004) [#36]
Just like to add that i abandoned my code to work on yours- and ive added a few blitz3d compatible commands that simply wrap yours rather than doing my own.

I also modified your code to support multiple cameras that automatically render... and added the cameraviewport command too ;)


This has been great fun to learn with, hasnt it! :D


flying willy(Posted 2004) [#37]
Deep Joy.

I'm still waiting for the official 3D module as I'm the sort of bloke that likes to get stuff done rather than tinker endlessly.

Great work though Lee!


TeraBit(Posted 2004) [#38]
I'm still waiting for the official 3D module


Me too! :)


Damien Sturdy(Posted 2004) [#39]
Me too, but theres no harm in playing about now is there? ^.^


dmoc(Posted 2004) [#40]
Poss the banding can be corrected by anisotropic filtering settings? Just checked on my sys and I don't get them... hmm... but I have filtering set to off, hmmm, but I have Force Mipmaps = bilinear, so maybe that's it? Anyway, this is a 600MHz PIII GF2 MX, giving ~60fps.

PS: Nice demo lee. Only problem I see, and it's in your gfx above, is mismatched texturing.


Damien Sturdy(Posted 2004) [#41]
I think thats to do with the model rather than the engine- but it depends on what youre on about. I dont know if lee's still playing with this... but i am too... il give it a go (im learning stuff y'see....) if you explain what part is mis textured?

to me this bit of code was an excelent, additional xmas present i must say ^.^if anyones using this and they want multiple cameras, drop me a line.

It isnt that impressive, but here it is using alpha (alphas already in there- i didnt do it ;) ) and my modified renderworld code to do split screen.

click here because my ISP or Redirector wont let me directly link


Takuan(Posted 2005) [#42]
Huh?
I could swear a GF2 has anisotropic filtering support.
I am wrong?
Anyway, its good news some guys are working on a B3DLoader for OGlide.


Dreamora(Posted 2005) [#43]
GF2 has no anisotrop but trilinear mipmap filtering which solves the banding issue as well.

actual cards use brilinear filtering, a adaptive and "intelligent" version of bilinear which solves the banding without the performance break ins of trilinear ;)


xlsior(Posted 2005) [#44]
bleh, this one gave me motionsickness, big time.

I ran around in there for maybe a minute, and still feel lightheaded & like I have to throw up, now several minutes later.

Probably at least in part because it looks like things were going WAY to fast, near impossible to direct where I was going. 412FPS (Athlon 2800+, Radeon 9600Pro)

Impressive though, pretty speedy.

Should come with a warning label. ;-)

("Lee: the only person who's software has almost succeeded in making me thow up -- xlsior" ;-)


xlsior(Posted 2005) [#45]
(let me update that to 'may caused prolonged nausia', over half an hour later now, and only just beginning to clear up. ;-)