libOpenB3D Win32/64 Linux32/64

Headers, Bindings, Libraries for use with FreeBASIC, Please include example of use to help ensure they are tested and usable.
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

libOpenB3D Win32/64 Linux32/64

Post by D.J.Peters »

I share my personal version of MiniB3D/OpenB3D with you I name it libOpenB3D.
I fixed some small bugs and changed all color arguments and added new stuff also.

I wrote "openb3d.bi" completely new.
All in #lang "FB" OOP style now

download a FreeBASIC package and some tests: libOpenB3D-1.25.zip last upload: Aug 31 2019
(openb3d.bi libOpenB3D-32.so libOpenB3D-64.so OpenB3D-32.dll OpenB3D-64.dll)

source code with Code::Blocks project libOpenB3D-1.25-src.zip last upload: Aug 29, 2019
(source code and pre compiled static libs of gLee are included Win32/64 Linux32/64)

I commented the most command's but not all 400 in the include file "openb3d.bi" !

Most commands was documented from BlitzBasic 3D (so far I know)
but the commercial BB3D site is down and was published as open source.

I found other places with documentations.
help: english
Hilfe: german

Joshy
Last edited by D.J.Peters on Oct 12, 2022 18:15, edited 9 times in total.
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: libOpenB3D Win32/64 Linux32/64

Post by D.J.Peters »

The 32-bit DLL in the zip file was out of date is fixed now.

Joshy
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: libOpenB3D Win32/64 Linux32/64

Post by D.J.Peters »

new upload available (see first post)
I added a small fix: viewtopic.php?f=14&t=15409&p=256248#p256248

Joshy
veggie
Posts: 75
Joined: May 17, 2009 12:52

Re: libOpenB3D Win32/64 Linux32/64

Post by veggie »

Thanks for this Joshy.

As a long time past user I've recently reacquainted myself with OpenB3D. It used to have quite a few bugs, are there any bugs in the latest version I need to be aware of?
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: libOpenB3D Win32/64 Linux32/64

Post by D.J.Peters »

New upload available (see first post)

I added some new commands (now ~400 before 324)
All new stuff marked with NEW: optional (new) arguments commented with NOTE:

I improved the shadow object with an optional second mesh argument.
compare file "shadow.bas" with "shadownew.bas"

I added many comments in file "openb3d.bi" read it or let it :-)

I improved many parts of the C++ source code search for !!! with your favorite IDE you will find more than 150 places with changes.

Joshy
Last edited by D.J.Peters on Aug 27, 2019 22:56, edited 1 time in total.
Knatterton
Posts: 165
Joined: Apr 19, 2019 19:03

Re: libOpenB3D Win32/64 Linux32/64

Post by Knatterton »

Another project that worked out of the box here on Mint 19,2 64.
Gunslinger
Posts: 103
Joined: Mar 08, 2016 19:10
Location: The Netherlands

Re: libOpenB3D Win32/64 Linux32/64

Post by Gunslinger »

Wow this is some very nice work, and yes i did not know that the lipOpenB3d is so different from OpenB3D.
I need to study this one later, first this.

I had to change a line in your openB3D.bi

Code: Select all

declare sub      ScaleTexture   (byval _Texture as tTexture, byval fUScaleFactor as single, byval fVScaleFactor as single)
to

Code: Select all

declare sub      ScaleTexture   (byval _Texture as tTexture ptr, byval fUScaleFactor as single, byval fVScaleFactor as single)
The loadtexture function returns a tTexture pointer
I think this counts for more lines, RotateTexture, PositionTexture, ...
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: libOpenB3D Win32/64 Linux32/64

Post by D.J.Peters »

@Gunslinger good find I will fix it.

Joshy
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: libOpenB3D Win32/64 Linux32/64

Post by D.J.Peters »

All fixed and added some error check's for all loading stuff in the *.bas files !

Joshy

Code: Select all

var craft = LoadMesh("fighter.3ds")
if craft = 0 then 
  windowtitle "fatal error: loading 'fighter.3ds'"
  beep:sleep:end 1
end if 
kryton9
Posts: 3
Joined: Nov 05, 2019 13:22

Re: libOpenB3D Win32/64 Linux32/64

Post by kryton9 »

Hi Joshy, long time since we last messaged on the forums.

I am on linux mint 64 bit and downloaded your zip file.
I am able to compile your test program FluidBlob.bas, but when I try to run it
I get a message that it can't find the libOpenB3D-64.so file.

I placed both the .a and .so files in my freebasic lib folder under /usr/local/lib/freebasic/linux-x86_64

Can you tell me what I am doing wrong, thanks.
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: libOpenB3D Win32/64 Linux32/64

Post by D.J.Peters »

delete the copy of the *.so and *.a file you made before
and copy only the *.so to the right library folder (32/64-bit)
maybe:
/usr/lib/
or
/usr/local/lib/
or
...

Joshy
kryton9
Posts: 3
Joined: Nov 05, 2019 13:22

Re: libOpenB3D Win32/64 Linux32/64

Post by kryton9 »

Yes, thanks. Putting it in usr/local/lib did the trick.

Also thanks for your work on this and all your other prolific work on other libs.
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: libOpenB3D Win32/64 Linux32/64

Post by D.J.Peters »

UBUNTUx86-64: wrote:joshy@UBUNTUx86-64:~$ wget http://shiny3d.de/public/libs/libOpenB3D-1.25.zip
libOpenB3D-1.25.zip 100%[===================>] 2,89M 1,38MB/s in 2,1s
joshy@UBUNTUx86-64:~$ unzip libOpenB3D-1.25.zip
joshy@UBUNTUx86-64:~$ cd libOpenB3D-1.25
joshy@UBUNTUx86-64:~/libOpenB3D-1.25$ sudo cp libOpenB3D-64.so /usr/lib
joshy@UBUNTUx86-64:~/libOpenB3D-1.25$ fbc FluidBlob.bas
joshy@UBUNTUx86-64:~/libOpenB3D-1.25$ ./FluidBlob
badidea
Posts: 2586
Joined: May 24, 2007 22:10
Location: The Netherlands

Re: libOpenB3D Win32/64 Linux32/64

Post by badidea »

I am trying this code (on Linux), but there seems of be a bug with loading things.
LoadSprite("file") does not return 0 when the file does not exist. Same for e.g. LoadBrush("file").
The examples (e.g Shadow.bas) test for 0 as failure, but this never seems to happen.

Errors are displayed, but not by the example itself.
Image
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: libOpenB3D Win32/64 Linux32/64

Post by D.J.Peters »

Linux 32 or 64 bit how do you run it from console or from IDE like geany ?

I tested it on Windows XP, Windows 7, Windows 10, Linux Slackware 32-bit and on Ubuntu 64-bit and have no problems here !

Joshy

EDIT:
The relativ path is ./media/ and not ./mediaX/ as you posted ?
If a file can't be loaded the object are created and the pointer to the class are returned !

Ok I see:
if a file can't be loaded the class self are created and so no NULL is returned I will lock for a workaround !
Image
Last edited by D.J.Peters on Oct 12, 2022 18:16, edited 2 times in total.
Post Reply