MiniB3d for FreeBasic
Re: MiniB3d for FreeBasic
thank you, i will ignore the message because I don't know how to rebuild anything... now I get to play!
Re: MiniB3d for FreeBasic
are there any sort of tutorials or manuals that go along with using this library? This thread has 56 pages... a bit much to plow through...
looked at the wiki, but some commands like 'LoadAnimMesh' are missing... actually, I would rather look at sample code while having a command reference available to look at - any tutorial/sample code depositories out there?
looked at the wiki, but some commands like 'LoadAnimMesh' are missing... actually, I would rather look at sample code while having a command reference available to look at - any tutorial/sample code depositories out there?
Re: MiniB3d for FreeBasic
Most of the library is based on blitz3d command set, that has a manual on site www.blitzbasic.com
Re: MiniB3d for FreeBasic
ah ok... thank you
Re: MiniB3d for FreeBasic
Are there any GUI commands? I can't find any :( There are some in Irrlicht - do you plan to add some of them?
Re: MiniB3d for FreeBasic
No, and I am not planning to add them, because a set of GUI commands means writing a complete new library.
Anyway, there already are some GUI libraries designed to work in opengl mode, you can use one of them.
Anyway, there already are some GUI libraries designed to work in opengl mode, you can use one of them.
Re: MiniB3d for FreeBasic
Minor release: version 1.12 is online
https://sourceforge.net/projects/minib3d/files/
V1.12
Fixed:
-Bug in planet rendering that caused irregularities in textures
-Bug in terrains that set wrong height in corners
-Bug that made particles crash
-many memory leaks
-wrong declaration in basic header for PositionTexture
Deprecated:
The file 2d.bi isn't included anymore
https://sourceforge.net/projects/minib3d/files/
V1.12
Fixed:
-Bug in planet rendering that caused irregularities in textures
-Bug in terrains that set wrong height in corners
-Bug that made particles crash
-many memory leaks
-wrong declaration in basic header for PositionTexture
Deprecated:
The file 2d.bi isn't included anymore
Re: MiniB3d for FreeBasic
Hmm, I'm trying to compile the library for Linux 64bit, but I get some errors:
Not sure why, maybe you can help me?
Code: Select all
$ make
g++ -Wall -O3 -shared -o libOpenB3D.so model.o string_helper.o surface.o bank.o bone.o brush.o collision.o entity.o functions.o geom.o global.o light.o matrix.o pick.o pivot.o project.o sprite.o tilt.o touch.o texture_filter.o tree.o animation.o animation_keys.o collision2.o maths_helper.o quaternion.o sprite_batch.o camera.o file.o mesh.o texture.o terrain.o stb_image.o 3ds.o collidetri.o shadow.o material.o stencil.o csg.o voxel.o x.o octree.o geosphere.o md2.o isosurface.o particle.o physics.o actions.o -lGL -lGLU
model.o: error adding symbols: unacceptable value
collect2: error: ld returned 1 exit status
makefile:8: recipe for target „main“ failed
make: *** [main] Error 1
-
- Posts: 8586
- Joined: May 28, 2005 3:28
- Contact:
Re: MiniB3d for FreeBasic
Westbeam do you use -fPIC ?
On Linux 64-bit I compile and link all libs with -fPIC.
Joshy
On Linux 64-bit I compile and link all libs with -fPIC.
Joshy
Re: MiniB3d for FreeBasic
The same error sadly :/
Re: MiniB3d for FreeBasic
If you use the file "model.cpp" from the previous version, what happens?
Re: MiniB3d for FreeBasic
Still doesn't work. Same error :/
Tried it with the "model.cpp" from 1.1
Tried it with the "model.cpp" from 1.1
Re: MiniB3d for FreeBasic
Version 1.1 did compile?
Re: MiniB3d for FreeBasic
No, same error.
I get many warnings when he needs to compile to ".o" first:
I get many warnings when he needs to compile to ".o" first:
Code: Select all
g++ -Wall -O3 -c model.cpp -o model.o
g++ -Wall -O3 -c string_helper.cpp -o string_helper.o
g++ -Wall -O3 -c surface.cpp -o surface.o
g++ -Wall -O3 -c bank.cpp -o bank.o
g++ -Wall -O3 -c bone.cpp -o bone.o
bone.cpp: In member function ‘virtual void Bone::FreeEntity()’:
bone.cpp:98:9: warning: deleting object of polymorphic class type ‘Bone’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
g++ -Wall -O3 -c brush.cpp -o brush.o
g++ -Wall -O3 -c collision.cpp -o collision.o
g++ -Wall -O3 -c entity.cpp -o entity.o
g++ -Wall -O3 -c functions.cpp -o functions.o
g++ -Wall -O3 -c geom.cpp -o geom.o
g++ -Wall -O3 -c global.cpp -o global.o
g++ -Wall -O3 -c light.cpp -o light.o
light.cpp: In member function ‘virtual void Light::FreeEntity()’:
light.cpp:126:9: warning: deleting object of polymorphic class type ‘Light’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
g++ -Wall -O3 -c matrix.cpp -o matrix.o
g++ -Wall -O3 -c pick.cpp -o pick.o
g++ -Wall -O3 -c pivot.cpp -o pivot.o
pivot.cpp: In member function ‘virtual void Pivot::FreeEntity()’:
pivot.cpp:94:9: warning: deleting object of polymorphic class type ‘Pivot’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
g++ -Wall -O3 -c project.cpp -o project.o
project.cpp: In function ‘GLint gluUnProject(GLfloat, GLfloat, GLfloat, const GLfloat*, const GLfloat*, const GLint*, GLfloat*, GLfloat*, GLfloat*)’:
project.cpp:30:59: warning: ‘*((void*)& m +60)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(3, 0) * in[0] + M(3, 1) * in[1] + M(3, 2) * in[2] + M(3, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +60)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:28:59: warning: ‘*((void*)& m +56)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(2, 0) * in[0] + M(2, 1) * in[1] + M(2, 2) * in[2] + M(2, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +56)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:26:59: warning: ‘*((void*)& m +52)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(1, 0) * in[0] + M(1, 1) * in[1] + M(1, 2) * in[2] + M(1, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +52)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:24:59: warning: ‘*((void*)& m +48)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(0, 0) * in[0] + M(0, 1) * in[1] + M(0, 2) * in[2] + M(0, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +48)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:30:51: warning: ‘*((void*)& m +44)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(3, 0) * in[0] + M(3, 1) * in[1] + M(3, 2) * in[2] + M(3, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +44)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:28:51: warning: ‘*((void*)& m +40)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(2, 0) * in[0] + M(2, 1) * in[1] + M(2, 2) * in[2] + M(2, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +40)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:26:51: warning: ‘*((void*)& m +36)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(1, 0) * in[0] + M(1, 1) * in[1] + M(1, 2) * in[2] + M(1, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +36)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:24:51: warning: ‘*((void*)& m +32)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(0, 0) * in[0] + M(0, 1) * in[1] + M(0, 2) * in[2] + M(0, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +32)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:30:33: warning: ‘*((void*)& m +28)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(3, 0) * in[0] + M(3, 1) * in[1] + M(3, 2) * in[2] + M(3, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +28)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:28:33: warning: ‘*((void*)& m +24)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(2, 0) * in[0] + M(2, 1) * in[1] + M(2, 2) * in[2] + M(2, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +24)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:26:33: warning: ‘*((void*)& m +20)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(1, 0) * in[0] + M(1, 1) * in[1] + M(1, 2) * in[2] + M(1, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +20)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:24:33: warning: ‘*((void*)& m +16)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(0, 0) * in[0] + M(0, 1) * in[1] + M(0, 2) * in[2] + M(0, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +16)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:30:15: warning: ‘*((void*)& m +12)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(3, 0) * in[0] + M(3, 1) * in[1] + M(3, 2) * in[2] + M(3, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +12)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:28:15: warning: ‘*((void*)& m +8)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(2, 0) * in[0] + M(2, 1) * in[1] + M(2, 2) * in[2] + M(2, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +8)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:26:15: warning: ‘*((void*)& m +4)’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(1, 0) * in[0] + M(1, 1) * in[1] + M(1, 2) * in[2] + M(1, 3) * in[3];
^
project.cpp:301:12: note: ‘*((void*)& m +4)’ was declared here
GLfloat m[16], A[16];
^
project.cpp:24:15: warning: ‘m’ may be used uninitialized in this function [-Wmaybe-uninitialized]
M(0, 0) * in[0] + M(0, 1) * in[1] + M(0, 2) * in[2] + M(0, 3) * in[3];
^
project.cpp:301:12: note: ‘m’ was declared here
GLfloat m[16], A[16];
^
g++ -Wall -O3 -c sprite.cpp -o sprite.o
sprite.cpp: In member function ‘virtual void Sprite::FreeEntity()’:
sprite.cpp:114:9: warning: deleting object of polymorphic class type ‘Sprite’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
g++ -Wall -O3 -c tilt.cpp -o tilt.o
g++ -Wall -O3 -c touch.cpp -o touch.o
g++ -Wall -O3 -c texture_filter.cpp -o texture_filter.o
g++ -Wall -O3 -c tree.cpp -o tree.o
g++ -Wall -O3 -c animation.cpp -o animation.o
animation.cpp: In static member function ‘static void Animation::AnimateMesh(Mesh*, float, int, int)’:
animation.cpp:77:12: warning: ‘t1’ may be used uninitialized in this function [-Wmaybe-uninitialized]
int t0, t1;
^
g++ -Wall -O3 -c animation_keys.cpp -o animation_keys.o
g++ -Wall -O3 -c collision2.cpp -o collision2.o
g++ -Wall -O3 -c maths_helper.cpp -o maths_helper.o
g++ -Wall -O3 -c quaternion.cpp -o quaternion.o
g++ -Wall -O3 -c sprite_batch.cpp -o sprite_batch.o
In file included from sprite_batch.cpp:10:0:
sprite_batch.h: In static member function ‘static void SpriteBatch::Clear()’:
sprite_batch.h:98:25: warning: deleting object of polymorphic class type ‘Mesh’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete sprite_batch->mesh;
^
g++ -Wall -O3 -c camera.cpp -o camera.o
In file included from camera.cpp:15:0:
sprite_batch.h: In static member function ‘static void SpriteBatch::Clear()’:
sprite_batch.h:98:25: warning: deleting object of polymorphic class type ‘Mesh’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete sprite_batch->mesh;
^
camera.cpp: In member function ‘virtual void Camera::FreeEntity()’:
camera.cpp:133:9: warning: deleting object of polymorphic class type ‘Camera’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
g++ -Wall -O3 -c file.cpp -o file.o
file.cpp: In member function ‘char File::ReadByte()’:
file.cpp:176:21: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
fread(&c,1,1,pFile);
^
file.cpp: In member function ‘short int File::ReadShort()’:
file.cpp:185:21: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
fread(&s,1,2,pFile);
^
file.cpp: In member function ‘int File::ReadInt()’:
file.cpp:194:21: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
fread(&i,1,4,pFile);
^
file.cpp: In member function ‘long int File::ReadLong()’:
file.cpp:203:21: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
fread(&l,1,8,pFile);
^
file.cpp: In member function ‘float File::ReadFloat()’:
file.cpp:212:21: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
fread(&f,1,4,pFile);
^
file.cpp: In member function ‘std::__cxx11::string File::ReadString()’:
file.cpp:223:25: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
fgets(c,length+1,pFile);
^
file.cpp: In member function ‘int File::Eof()’:
file.cpp:349:21: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
fread(&c,1,1,pFile);
^
g++ -Wall -O3 -c mesh.cpp -o mesh.o
mesh.cpp: In member function ‘virtual void Mesh::FreeEntity()’:
mesh.cpp:265:9: warning: deleting object of polymorphic class type ‘Mesh’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
g++ -Wall -O3 -c texture.cpp -o texture.o
g++ -Wall -O3 -c terrain.cpp -o terrain.o
terrain.cpp: In member function ‘virtual void Terrain::FreeEntity()’:
terrain.cpp:989:9: warning: deleting object of polymorphic class type ‘Terrain’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
terrain.cpp: In member function ‘virtual Terrain* Terrain::CopyEntity(Entity*)’:
terrain.cpp:128:41: warning: iteration 21u invokes undefined behavior [-Waggressive-loop-optimizations]
terr->level2dzsize[i] = level2dzsize[i];
^
terrain.cpp:127:19: note: containing loop
for (int i = 0; i<= ROAM_LMAX+1; i++){
^
gcc -c stb_image.c -o stb_image.o
g++ -Wall -O3 -c 3ds.cpp -o 3ds.o
gcc -c collidetri.c -o collidetri.o
g++ -Wall -O3 -c shadow.cpp -o shadow.o
g++ -Wall -O3 -c material.cpp -o material.o
g++ -Wall -O3 -c stencil.cpp -o stencil.o
g++ -Wall -O3 -c csg.cpp -o csg.o
g++ -Wall -O3 -c voxel.cpp -o voxel.o
g++ -Wall -O3 -c x.cpp -o x.o
g++ -Wall -O3 -c octree.cpp -o octree.o
octree.cpp: In member function ‘virtual void OcTree::UpdateTerrain()’:
octree.cpp:245:11: warning: deleting object of polymorphic class type ‘Mesh’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete m;
^
octree.cpp: In member function ‘virtual void OcTree::FreeEntity()’:
octree.cpp:606:11: warning: deleting object of polymorphic class type ‘Mesh’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete m;
^
octree.cpp:627:9: warning: deleting object of polymorphic class type ‘OcTree’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
g++ -Wall -O3 -c geosphere.cpp -o geosphere.o
geosphere.cpp: In member function ‘virtual void Geosphere::FreeEntity()’:
geosphere.cpp:1354:9: warning: deleting object of polymorphic class type ‘Geosphere’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
geosphere.cpp: In member function ‘virtual Geosphere* Geosphere::CopyEntity(Entity*)’:
geosphere.cpp:125:40: warning: iteration 21u invokes undefined behavior [-Waggressive-loop-optimizations]
geo->level2dzsize[i] = level2dzsize[i];
^
geosphere.cpp:124:19: note: containing loop
for (int i = 0; i<= ROAM_LMAX+1; i++){
^
g++ -Wall -O3 -c md2.cpp -o md2.o
g++ -Wall -O3 -c isosurface.cpp -o isosurface.o
isosurface.cpp: In member function ‘virtual void Fluid::FreeEntity()’:
isosurface.cpp:445:9: warning: deleting object of polymorphic class type ‘Fluid’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
isosurface.cpp: In member function ‘virtual void Fluid::Render()’:
isosurface.cpp:1162:12: warning: suggest parentheses around operand of ‘!’ or change ‘&’ to ‘&&’ or ‘!’ to ‘~’ [-Wparentheses]
if(!brush.fx&4){
^
isosurface.cpp: In member function ‘virtual void Blob::FreeEntity()’:
isosurface.cpp:1447:9: warning: deleting object of polymorphic class type ‘Blob’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
isosurface.cpp: In member function ‘virtual void FieldArray::FreeEntity()’:
isosurface.cpp:1566:9: warning: deleting object of polymorphic class type ‘FieldArray’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
g++ -Wall -O3 -c particle.cpp -o particle.o
particle.cpp: In member function ‘virtual void ParticleEmitter::FreeEntity()’:
particle.cpp:369:9: warning: deleting object of polymorphic class type ‘ParticleEmitter’ which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
delete this;
^
g++ -Wall -O3 -c physics.cpp -o physics.o
g++ -Wall -O3 -c actions.cpp -o actions.o
Re: MiniB3d for FreeBasic
How about other versions? Because I know of people who compiled it at 64 bit... is there an older version you managed to compile?