PB3.50 Win32 - Orge 3D Engine DLL

Everything else that doesn't fall into one of the other PB categories.
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by MrVainSCL.

Hi Fred!
Its nice to have finally a long awaited 3D Engine support in PureBasic! I have only some things i dont really know what i should thing about... (Please do not take the following badly or personally! - Its just only my personally opinion.)

DLL instead linked Libs?:
As it seems, the PureBasic 3D Orge Engine is only based on a DLL version of the Orge Source. So, why havent you tried to create a splitted Lib as all other commands in PureBasic known, are based?
Esp. this is one big feature of PureBasic instead to BlitzBasic for example! (maybe only, to have it mutch easier and to be flexible to convert new Orge Source Versions to PureBasic i think!?) I would always prefer to have a build in (to the exe) 3D engine like BlitzBasic and other languages are!

To big (blowed up) DLL:
Seems any PureBasic created exe using the Orge 3D Engine needs not only the "3DEngine.dll" - instead it require the "STLPort_vc645.dll" which are both packed in the official PureBasic package, so people dont see the real size of the Engine... I have just unpacked both DLLs and was a bit shocked...

Code: Select all

    Engine3D.dll         1.708.032 Bytes unpacked
    STLPort_vc645.dll      774.144 Bytes unpacked
This means, a program using just a simple 3D effect will always need about nearly to 2,5 MB only for the 3D engine... (without the mainprogram and datafiles - not included here). I think the Engine may good as she is... but take a look to BlitzBasic for example... Creating a Program with Blitz3D (full program, including mainprogram and 3D Engine) will only take about 1 MB...

I have tried to compile following Blitz3D codesnip to compare with the PureBasic Engine...

Code: Select all

    ; Graphics3D Example - Blitz3D
    ; ----------------------------

    ; Sets 3D graphics mode
    Graphics3D 640,480,16,0
    SetBuffer BackBuffer()

    camera=CreateCamera()
    light=CreateLight()

    cone=CreateCone( 32 )
    PositionEntity cone,0,0,5

    While Not KeyDown( 1 )
    RenderWorld
    Flip
    Wend

    End
This with Blitz3D v1.67 generated executeable will take just only 909.312 bytes unpacked!!! And you may know, that BlitzBasic will build in (link) ALL stuff/commands... like UDP, Sprites, and more...

I really respect your work of PureBasic but i think if someone of the Blitz comunity will take a closer look to the new PureBasic 3D Engine and if they see that we (the PB comunity) need always baout 2,5 MB only for a Engine - where Blitz3D will create it all in just only about 1 MB... they will laught about us and you... Hope you can understand what i mean...?

So i think its not really good for marketing PureBasic and getting new users (maybe from Blitz3D to PureBasic). I think first priority for the PB comunity is to have some more commands for apps/network and for having a more stable version, before we should try to add a 3D engine in my eyes... 3D is ofcourse nice... but not on this way i think... (its just my personaly opinion... so please.. please dont feel to be attacked by me!)

Thats all for the first...
Thanks for your attention and stay cool...
Anyway nice work!

PIII450, 256MB Ram, 80GB HD + 6,4 GB, RivaTNT, DirectX8.1, SB AWE64, Win2000 + all Updates...

greetz
MrVainSCL! aka Thorsten
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Henrik.

What do you mean ? how did you unpacked the dll?
Mine is by default
Engine3D.dll 659.968 Bytes
STLPort_vc645.dll 330.752 Bytes

Is that an okay size for them then?

Cuz, i can't run a' damn thing of the 3D stuff.

And btw. I was hopping that i could impress one of my BlitZ'er friends
but i think i keep a low profile for a while.

Anyway i think it's okay that 3D Stuff is about 2Mb if it's works ;o)

And it will i'am sure ;o)
Keep up the good work Fred it's only the beginning.
Cu
Henrik.

And Btw extra. Nobody is using v1.67 of blitz
with v 1.8 the size of your example is 1.085.440 bytes
hmm
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by MrVainSCL.

Hi Henrik,
you are right and i know too, that its only just a beginning to have 3D support in Pure...

Your file sizes are right as the DLL´s are originally packed and spreaded with the PurePackage... Seems Fred has packed the DLL´s with UPX (it´s a good exe/dll packer/cruncher)... So the DLL´s are ofcourse originally bigger as you think at the first moment... So i have just tried to unpack the packed DLL´s to see there originally (unpacked) filesize... (i think there is mutch not needed, maybe some not needed debugging and other stuff included in the C++ source / dll!?)

Its correct that its not so very important to have a very small Engine, if its modern and works fine... On the other side, just compare Blitz3D and PureBasic 3DEngine exe (incl. the 3D engine part)... I think its strange, that the Pure3D is about 3 times bigger as a complete Blitz3D exe... Isnt it?

And if you think 2,5 MB (only for a 3D engine) is not mutch... take a look to some demo-scene related stuff... (i dont want fix you now on 64k intros including great 3d engines and more...) noooo... just take only a look to some very great and modern DX supported SceneDemos! This guys would laught about people using a 2,5 Mb big 3D engine! :wink:
(but this all is just only my personal opinion... i dont have any problems to discuse about this stuff in all ways.. :wink:


PIII450, 256MB Ram, 80GB HD + 6,4 GB, RivaTNT, DirectX9.0, SB AWE64, Win2000 + all Updates...

greetz
MrVainSCL! aka Thorsten
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by VPureBasic.

Hi all

I find that it is very interesting to have 3D support for PB, but I can't see what kind of game we will be able to create with it for now... OGRE doesn't have COLLISION DETECTIONS yet! I think that we will have to wait... But that's a good start!

Roger
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by MrVainSCL.

I agree with you... there are some more important things (commands) still missing atm... ;(
Just take a look to the Wish forum, i will continue there..

PIII450, 256MB Ram, 80GB HD + 6,4 GB, RivaTNT, DirectX9.0, SB AWE64, Win2000 + all Updates...

greetz
MrVainSCL! aka Thorsten
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by fred.

Exactly the reactions I was expecting to have :).

Why using DLL instead of lib ? Because OGRE is fully object oriented (C++) which is not possible to call easily except from a DLL. It could may be change later.

Why I've packed the DLL ? Because they was to big else. It's packed with UPX, you can unpack it if need (I don't see the point tough).

About changing the OGRE source to fit the PB env, good luck ! It's a 10 mb source package and I've spend lot of time to integrate it tightly to PureBasic (you even don't know than OGRE is used if you don't know it, you can mix 2D sprite over 3D env etc...)

About the size, we are talking about game developpement and 1 Mb packed isn't too much for a nice 3D Engine. The fact is I've implemented only a few part of OGRE, but all is already in the DLL, so it will not grow anymore in future (at least not sinficantly). About the comparaison about Blitz3D, it's of course stupid as the 3D functions has just appear and are in heavy development. Let's see what will be done later. My goal was just to let PB user playing with 3D.

Fred - AlphaSND
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Berikco.

As new computers now have at least 256 megabytes RAM, i dont see the point for 1 or 2.5 Mb dll.
VB needs this RAM for a stupid 'hello world' app :)

Regards,

Berikco

http://www.benny.zeb.be/purebasic.htm
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by crown.

I agree,

thanks Fred for the great update, can`t wait
to see more 3D commands :)

(registered PureBasic user)
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Kendrel.

Iam sorry that i have to say this, but i have to agree with MrVAIN in all points.

At the current stage the 3D support seems to be useless.

1. Projekt will be too big...
2. You have to include the DLL's (most hated here)
3. You cannot even create primitives

Well, iam using Purebasic because of its speed and its small independet exe's, but i wont use it for any 3D games if it will stay like this.

Iam also owner of Darkbasic and Blitzbasic, and these communitys also had discussions about the BSP format... it seems that you cannot sell your games which make use of the BSP format.

Purebasic will be my favourite language for 2D stuff and Applications, but i cannot and wont use it for 3D stuff... sorry, but that is the truth... i think many ppl will be disapointed...

so long,

Kendrel
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by MrVainSCL.

Hi Kendrel!
I agree with you... it would be nice to see 3D support in PureBasic... but as long as the engine is DLL based only and in my eyes with about 2,5 MB unpacked to big (blowed up) - even if modern computers having 80 GB HD and 512 MB of Ram... this dont means that we have to waste this resources if it could be mutch smaller (just only take a look to Blitz3D, other languages or at least to the DemoScene for example "FR-08.exe" a 64k intro - that is a bit to heavy - but only to let you see and know what would be possible ... http://www.farb-rausch.de)

I own Blitz2D, Blitz3D too... so i will use PureBasic mainly only for appz and some 2D games... not for 3D games (i agree here in all points with Kendrel and understand him and his statement! as they are like my opinion)


PIII450, 256MB Ram, 80GB HD + 6,4 GB, RivaTNT, DirectX9.0, SB AWE64, Win2000 + all Updates...

greetz
MrVainSCL! aka Thorsten
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by fred.

About commands, I fully agree than it's very weak and it was not intended to be complete. Just some bunch of commands to play with. About the size, I've already answered. Of course, the 3D part is optionnal and you free to not use it. I don't force anyone to use it, please remember this. I offer a new possibility and I guess than in 6 months, it will be a good and mature solution.

Fred - AlphaSND
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Kendrel.

Whatever...

i wanted to say that the file size is sometimes VERY important when it comes to games.. lemme give you a little shareware example...

if you finally want to release your game as shareware, you would probably sell a downloadable version of it,right?

also alot of shareware game publishers recommend that the game should be not larger than 5mb (max 10mb mostly) including all media, and that is not much...

considering that not everybody has a cable or dsl connection, you will have to watch the filesize of your game.

MrVain: these 64kb demos you are talking about are often coded in opengl with c/c++ (or asm), and i bet it would be possible to have an opengl based 3d lib... someone like Traumatic could have done that maybe, but i guess he left the pb scene... so who could do that then? well... Danilo could handle it :)
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by MrVainSCL.

Hi Fred,
i think, or hope... you know that we (me too) really like to have a 3D engine in PureBasic and respect you and your work! I think my person and maybe some others too have only sayed there personaly opinion to some points of the new Pure3D engine... :)

PIII450, 256MB Ram, 80GB HD + 6,4 GB, RivaTNT, DirectX9.0, SB AWE64, Win2000 + all Updates...

greetz
MrVainSCL! aka Thorsten
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by MrVainSCL.

Hi Kendrel,
you may be right... a lot of intros (esp. from new groups or old groups dont wanted learn new stuff, based on OGL due fact its more easy to learn and code as some scene coders told me. But there are a lot of popular scene groups using only DX or changed from OGL to DX, due fact OGL is death and not supported by modern graphics cards (only via emulation of the drivers... most people dont know this) ;(

So i would never use OGL in today days... (esp not on Windows System)

As the 64k intro from the group farb-rausch i told you... this guys would never use OGL... all there Intros/Demos are DX8.1+ based... Just take a look to their 64k intro called "fr-08.exe - final" and i am sure you will not believe what you will see :wink:)) http://www.farb-rausch.de/fr08_final.zip

greetz
Thorsten


PIII450, 256MB Ram, 80GB HD + 6,4 GB, RivaTNT, DirectX9.0, SB AWE64, Win2000 + all Updates...

greetz
MrVainSCL! aka Thorsten
BackupUser
PureBasic Guru
PureBasic Guru
Posts: 16777133
Joined: Tue Apr 22, 2003 7:42 pm

Post by BackupUser »

Restored from previous forum. Originally posted by Rings.

you are free to include everything you need for your game/intro into 1 file using EXTRACTBinary (Remember ? Tips&Tricks-Topic) routines,
also some 3D-Dlls.sure you have to unpack them before Init3D().
And there are other solutions to pack all files into one.......
(for example : http://www.srings.de/Downloads/xtract3.zip )

remember, this is the first version of Purebasic-3D's Commandset.
I guess that more will follow.And that the Port to linux-plattform is
easier as you believe.

just my 2 cents

Its a long way to the top if you wanna .....CodeGuru
Post Reply