threedslider wrote: Thu Aug 15, 2024 10:58 am @ultimzeus : Why not to keep in google drive forever ? Your website, I think it will be not longer to keep from time and so it will be disappear by the way ...
If it is open source you can keep as well in github![]()
I have not tested yet because of that and not everyone will no jump to test your library ...Sorry to sound a little hard but you need to bright more safe and good visibility.
Thanks to your effort and good luck too![]()
bE3D Engine Wrapper for purebasic
Re: bE3D Engine Wrapper for purebasic
Re: bE3D Engine Wrapper for purebasic
The website is too bare bones. Add documentation (also good for search results), examples, and even a demo video show casing. Short comparison with other frameworks (why choose this instead of x), a very low price deal for introduction/pioneers. Be transparent about its origin and goals.
"Clean, easy to understand, and well documented API with demo examples.": should be right away proven on website.
Also look at proton support for Linux/Steamdeck compatibility.
They way it presented right now, it will not find its audience, however good it may be.
"Clean, easy to understand, and well documented API with demo examples.": should be right away proven on website.
Also look at proton support for Linux/Steamdeck compatibility.
They way it presented right now, it will not find its audience, however good it may be.
Re: bE3D Engine Wrapper for purebasic
Thanks for advices. Will take them seriously.Rinzwind wrote: Sun Aug 18, 2024 10:05 am The website is too bare bones. Add documentation (also good for search results), examples, and even a demo video show casing. Short comparison with other frameworks (why choose this instead of x), a very low price deal for introduction/pioneers. Be transparent about its origin and goals.
"Clean, easy to understand, and well documented API with demo examples.": should be right away proven on website.
Also look at proton support for Linux/Steamdeck compatibility.
They way it presented right now, it will not find its audience, however good it may be.
- Distorted Pixel
- Enthusiast

- Posts: 323
- Joined: Sun Aug 29, 2021 4:34 am
Re: bE3D Engine Wrapper for purebasic
I have tried twice to get the demo to no avail. I tried with and without my VPN on.
To be popular is way to much work. I just want to be me, myself and I. Oh no, does that mean I'm bipolar? 
No one cares how much you know until they know how much you care
No one cares how much you know until they know how much you care
Re: bE3D Engine Wrapper for purebasic
Try thisDistorted Pixel wrote: Mon Aug 19, 2024 3:05 pm I have tried twice to get the demo to no avail. I tried with and without my VPN on.
https://drive.google.com/file/d/1BQ7wTF ... drive_link
- Distorted Pixel
- Enthusiast

- Posts: 323
- Joined: Sun Aug 29, 2021 4:34 am
Re: bE3D Engine Wrapper for purebasic
Thank you very much, I will give it a try tonight or tomorrow and post backultimzeus wrote: Tue Aug 20, 2024 3:44 pmTry thisDistorted Pixel wrote: Mon Aug 19, 2024 3:05 pm I have tried twice to get the demo to no avail. I tried with and without my VPN on.
https://drive.google.com/file/d/1BQ7wTF ... drive_link
To be popular is way to much work. I just want to be me, myself and I. Oh no, does that mean I'm bipolar? 
No one cares how much you know until they know how much you care
No one cares how much you know until they know how much you care
bE3D Engine Game Showcase
https://postimg.cc/n940gQkh
A simple game : C++ and bE3D (no dll)
Only 2 files : the .exe and the .dat file (game assets)
https://drive.google.com/file/d/12SuXO1 ... drive_link
A simple game : C++ and bE3D (no dll)
Only 2 files : the .exe and the .dat file (game assets)
https://drive.google.com/file/d/12SuXO1 ... drive_link
Last edited by ultimzeus on Fri Aug 23, 2024 2:19 pm, edited 1 time in total.
Re: bE3D Engine Wrapper for purebasic
Error: libgcc_sjlij-1.dll and libstdc++-6.dll doesn't found 
- vividpixel
- User

- Posts: 10
- Joined: Tue Aug 09, 2022 9:36 am
- Location: United States
Re: bE3D Engine Wrapper for purebasic
It would be nice as Irrlicht since that engine is cross-platform.
PureBasic supporter
Re: bE3D Engine Wrapper for purebasic
Sorry , a compilation problems solved. TryCaronte3D wrote: Thu Aug 22, 2024 6:48 am Error: libgcc_sjlij-1.dll and libstdc++-6.dll doesn't found![]()
https://drive.google.com/file/d/12SuXO1 ... drive_link
Re: bE3D Engine Wrapper for purebasic
Workin on itvividpixel wrote: Fri Aug 23, 2024 2:01 pmIt would be nice as Irrlicht since that engine is cross-platform.
Re: bE3D Engine Wrapper for purebasic
Looks nice retro, a bite slow, but nice.ultimzeus wrote: Fri Aug 23, 2024 2:18 pmSorry , a compilation problems solved. TryCaronte3D wrote: Thu Aug 22, 2024 6:48 am Error: libgcc_sjlij-1.dll and libstdc++-6.dll doesn't found![]()
https://drive.google.com/file/d/12SuXO1 ... drive_link
If do you make tutorials about how to import animated models, skeletal models, how to use materials that shows good, etc, etc, it would be useful.
Re: bE3D Engine Wrapper for purebasic
A loader for MS3D modelsCaronte3D wrote: Fri Aug 23, 2024 3:06 pmLooks nice retro, a bite slow, but nice.ultimzeus wrote: Fri Aug 23, 2024 2:18 pmSorry , a compilation problems solved. TryCaronte3D wrote: Thu Aug 22, 2024 6:48 am Error: libgcc_sjlij-1.dll and libstdc++-6.dll doesn't found![]()
https://drive.google.com/file/d/12SuXO1 ... drive_link
If do you make tutorials about how to import animated models, skeletal models, how to use materials that shows good, etc, etc, it would be useful.
Code: Select all
; MS3D ASCII Loader for PureBasic
Structure _Vertex
x.f
y.f
z.f
u.f
v.f
nx.f
ny.f
nz.f
EndStructure
Structure _TextureCoordinatesUV
u.f
v.f
EndStructure
Structure _Normals
x.f
y.f
z.f
EndStructure
Structure _Triangle
a.w
b.w
c.w
EndStructure
Structure MS3D_Mesh
vertices.l
Material.l
normals.l
triangles.l
EndStructure
Dim Meshes.MS3D_Mesh(1)
Global NewList LoadMS3D_Lines.s()
Procedure LoadMS3D(file$,start_mesh,scale.f)
Dim Meshdata._vertex(0)
Dim Meshtri._triangle(0)
ClearList(LoadMS3D_Lines())
file = ReadFile(#PB_Any,file$)
If file
Repeat
line$ = ReadString(file)
If line$ And Left(line$,2)<>"//"
AddElement(LoadMS3D_Lines())
LoadMS3D_Lines() = line$
EndIf
Until Eof(file)
CloseFile(file)
If FirstElement(LoadMS3D_Lines())=0
ProcedureReturn 0
EndIf
Frames = Val(StringField(LoadMS3D_Lines(),2," "))
Debug "Frames: "+Str(Frames)
NextElement(LoadMS3D_Lines())
Frame = Val(StringField(LoadMS3D_Lines(),2," "))
Debug "Frame: "+Str(Frame)
NextElement(LoadMS3D_Lines())
Meshes = Val(StringField(LoadMS3D_Lines(),2," "))
Debug "Meshes: "+Str(Meshes)
NextElement(LoadMS3D_Lines())
Dim MeshInfo.MS3D_Mesh(Meshes)
mesh=CreateMesh(#PB_Any)
For a = 1 To Meshes
AddSubMesh()
Name$ = StringField(LoadMS3D_Lines(),1," ")
Debug "Mesh: "+Name$
Flags = Val(StringField(LoadMS3D_Lines(),2," "))
Debug " Flags : "+Str(Flags)
MeshInfo(a)\Material = Val(StringField(LoadMS3D_Lines(),3," "))
Debug " MaterialIndex: "+Str(MeshInfo(a)\Material)
NextElement(LoadMS3D_Lines())
Vertices = Val(LoadMS3D_Lines())
MeshInfo(a)\vertices = Vertices
Debug " Vertices: "+Str(Vertices)
NextElement(LoadMS3D_Lines())
ReDim Meshdata(Vertices)
For b = 1 To Vertices
MeshData(b)\x = ValF(StringField(LoadMS3D_Lines(),2," "))
MeshData(b)\y = ValF(StringField(LoadMS3D_Lines(),3," "))
MeshData(b)\z = ValF(StringField(LoadMS3D_Lines(),4," "))
MeshData(b)\u = ValF(StringField(LoadMS3D_Lines(),5," "))
MeshData(b)\v = ValF(StringField(LoadMS3D_Lines(),6," "))
NextElement(LoadMS3D_Lines())
Next b
Normals = Val(LoadMS3D_Lines())
MeshInfo(a)\normals = Normals
Debug " Normals: "+Str(Normals)
NextElement(LoadMS3D_Lines())
For b = 1 To Normals
MeshData(b)\nx = ValF(StringField(LoadMS3D_Lines(),1," "))
MeshData(b)\ny = ValF(StringField(LoadMS3D_Lines(),2," "))
MeshData(b)\nz = ValF(StringField(LoadMS3D_Lines(),3," "))
NextElement(LoadMS3D_Lines())
;*normals + SizeOf(_Normals)
Next b
Triangles = Val(LoadMS3D_Lines())
MeshInfo(a)\triangles = Triangles
Debug " Triangles: "+Str(Triangles)
NextElement(LoadMS3D_Lines())
ReDim Meshtri._triangle(triangles)
For b = 1 To Triangles
Meshtri(b)\a = Val(StringField(LoadMS3D_Lines(),2," "))
Meshtri(b)\b = Val(StringField(LoadMS3D_Lines(),3," "))
Meshtri(b)\c = Val(StringField(LoadMS3D_Lines(),4," "))
NextElement(LoadMS3D_Lines())
;*triangles + SizeOf(_Triangle)
Next b
SetMeshData(mesh,smesh,MeshData(),#PB_Mesh_Vertex | #PB_Mesh_Normal | #PB_Mesh_UVCoordinate , 1, ArraySize(MeshData()))
SetMeshData(mesh,smesh,Meshtri(),#PB_Mesh_Face , 1, ArraySize(Meshtri()))
smesh+1
Next a
Materials = Val(StringField(LoadMS3D_Lines(),2," "))
Debug "Materials: "+Str(Materials)
NextElement(LoadMS3D_Lines())
For a = 1 To Materials
mesh = start_mesh+a-1
; material name
Debug " loading: "+LoadMS3D_Lines()
NextElement(LoadMS3D_Lines())
ambient_r.f = ValF(StringField(LoadMS3D_Lines(),1," "))
ambient_g.f = ValF(StringField(LoadMS3D_Lines(),2," "))
ambient_b.f = ValF(StringField(LoadMS3D_Lines(),3," "))
NextElement(LoadMS3D_Lines())
diffuse_r.f = ValF(StringField(LoadMS3D_Lines(),1," "))
diffuse_g.f = ValF(StringField(LoadMS3D_Lines(),2," "))
diffuse_b.f = ValF(StringField(LoadMS3D_Lines(),3," "))
NextElement(LoadMS3D_Lines())
specular_r.f = ValF(StringField(LoadMS3D_Lines(),1," "))
specular_g.f = ValF(StringField(LoadMS3D_Lines(),2," "))
specular_b.f = ValF(StringField(LoadMS3D_Lines(),3," "))
NextElement(LoadMS3D_Lines())
; skip emmisive colors
NextElement(LoadMS3D_Lines())
; skip shininess
NextElement(LoadMS3D_Lines())
; skip transparency
NextElement(LoadMS3D_Lines())
; colormap (texture)
texture$ = Trim(LoadMS3D_Lines())
texture$ = Left (texture$,Len(texture$)-1) ; remove "
texture$ = Right(texture$,Len(texture$)-1) ; remove "
Debug " -> File: "+texture$
If LoadTexture(mesh,texture$)=0
Debug "Cant load texture "+texture$+" !!!"
If CreateTexture(mesh,64,64)
If StartDrawing(TextureOutput(mesh))
Box(0,0,64,64,$00FFFF)
Box(5,5,54,54,$FF0000)
StopDrawing()
EndIf
Else
ProcedureReturn 0
EndIf
EndIf
If CreateMaterial(mesh,TextureID(mesh))
MaterialShadingMode (mesh, #PB_Material_Flat)
SetMaterialColor(mesh,#PB_Material_DiffuseColor,RGB(diffuse_r *$FF,diffuse_g *$FF,diffuse_b *$FF))
SetMaterialColor (mesh,#PB_Material_AmbientColor, RGB(ambient_r *$FF,ambient_g *$FF,ambient_b *$FF))
SetMaterialColor(mesh, #PB_Material_SpecularColor,RGB(specular_r*$FF,specular_g*$FF,specular_b*$FF))
Else
ProcedureReturn 0
EndIf
NextElement(LoadMS3D_Lines())
; skip alphamap
NextElement(LoadMS3D_Lines())
Next a
;mesh=CreateMesh(#PB_Any)
For a = 1 To Meshes
mesh = start_mesh+a-1
If CreateEntity(mesh,MeshID(mesh),MaterialID(start_mesh+MeshInfo(a)\Material),0,0,0)=0
ProcedureReturn 0
EndIf
ScaleEntity(mesh, scale, scale, scale)
Next a
ClearList(LoadMS3D_Lines())
ProcedureReturn a-1
EndIf
ProcedureReturn 0
EndProcedure
Re: bE3D Engine Wrapper for purebasic
The old MS3d isn't the best election actually, if I remember well... it only can use one bone per vertex 
