Looks like a great base for an OpenGL engine. Very neat code too. I tried something like this myself as a learning experience, but I couldn't keep it neat ( as anyone who saw it will confirm ) so it's great to see how I should have done it.
Code archives/3D Graphics - Mesh/3D OpenGL Include 04.06.2006
This code has been declared by its author to be Public Domain code.
Download source code
| Can do Load3DS (without Anim) Entitys (with Parent:) Entiy Position Rotate Move Turn Translate add Meshes Meshes like Plane , Cube , Heightmap , TerrainBorder , Torus , Disc , Cylinder , Planar UV Map XZ . Sphere/Sphere Collision System Mesh Copy Meshes compile ! Meshes move und rotate Mesh Create Bounding Box Surfaces for Meshes with colors like Ambient,Shininess Surface Copy Texturen for Surfaces , Position , Rotate , Scale Texture Clamp U,V Maskcolor for Textures (you can use MaskColor RGB Values) Vertices for Surfaces Vertex Copy Scaleable and Turning Bitmap Font in 3D Change a Char with an Image Show Font with Alpha --- 03.09.2005 --- TVertex.Free TSurface.Free TMesh.Free TEntity.Free TIntersectTree.Free TTriangle.Free TLine.Free TCollision.Free TEntityList.Free TEntityList.EntityFree T3DFont.Free TEntityList.LoadStatic3DS as Single Mesh :) TEntityList.FreeAllTextures --- 04.06.2006 --- BlitzMax 1.20 some changes :Int() to :Byte Prt() Example show you a little Flightsim : 1(3) Camera(s) 1 Light Created highmap from file with tiled texture . Terrain border Moving Sky Bell Helicopter you can move with cursor keys,PageUp,PageDown,Del,End (now with rotor sound) For joystick Press J once , again for Keyboard RETURN goto start C= Camera Fix or in Heli Space , Cam Below Helicopter E = Engine On/Off You can collect the Crates on Terrain . The Object are now Limit to Scene and can't fly away . Rotation about axes (no gimbal lock) Hosted by BlitzSupport (James L Boyd) Run Heli.bmx first ! 1.2 MByte http://www.hi-toro.com/blitz/MR_BMOpenGL.zip ![]() |
See the Link ;-) |
Comments
Wow, very nice! This would be really cool with some high level procedural functions to wrap the OO stuff so it's really Blitz3D-like -- I might fiddle with this myself at some point. Thanks for sharing your hard work!
@All 20.7
I have add a Mesh Disc and Cylinder and Planar UV Mapping for XZ .
Little Func. to Limit the XYZ Pos.
Masking Textures only if you will .
Split Joy/Keyboard handling , so you must enable joystick
with J Key .
And the Camera on the fly are turning a little bit with
the 'ship'
@Sybixsus
Thanks:)
@BlitzSupport
I like BlitzMax with the easy Blitz3D handling !
So ,feel free to use anything from it :-)
But the most wanted are loading/saving functions
for the objects with texture info and animation .
Next time i add a Key or Func. List that store or set pos. rot. and so on .
I have add a Mesh Disc and Cylinder and Planar UV Mapping for XZ .
Little Func. to Limit the XYZ Pos.
Masking Textures only if you will .
Split Joy/Keyboard handling , so you must enable joystick
with J Key .
And the Camera on the fly are turning a little bit with
the 'ship'
@Sybixsus
Thanks:)
@BlitzSupport
I like BlitzMax with the easy Blitz3D handling !
So ,feel free to use anything from it :-)
But the most wanted are loading/saving functions
for the objects with texture info and animation .
Next time i add a Key or Func. List that store or set pos. rot. and so on .
Markus
Awesome job on this so far
Just wondering but is the 3ds loading function still being worked on? When I try to load a 3ds model the program just hangs.
Awesome job on this so far
Just wondering but is the 3ds loading function still being worked on? When I try to load a 3ds model the program just hangs.
great markus !
thanks to share
thanks to share
I get an Identifier 'FlushMem' not found Error
Delete this line !
And that runs !
And that runs !
Flushmem has been removed from version 1.12+ so there is no need for that command in any source now.
One way around it is at the start of the program, create...
Or better still, search for all "flushmem()" and remove them!
One way around it is at the start of the program, create...
function flushmem() ; End Function
Or better still, search for all "flushmem()" and remove them!
Thanks Shagwana, Progi1984
there are several things now that dont work with this I cant seem to fix them all :(
Ok,
i see that someone it uses .
a new update comes in a few days ;-)
@ckob
please check the 3ds file version and look at the 3ds loader .
i see that someone it uses .
a new update comes in a few days ;-)
@ckob
please check the 3ds file version and look at the 3ds loader .
ckob and others. I have converted the code to 1.12 for you.
(I hope you don't mind, Markus)
Here you go:
This is the new MR_Heli.bmx
And here is the new MR_OpenGL.bmx
Just save these files over the old ones. It works perfectly for me.
(I hope you don't mind, Markus)
Here you go:
This is the new MR_Heli.bmx
And here is the new MR_OpenGL.bmx
Just save these files over the old ones. It works perfectly for me.
