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

3D OpenGL Include 04.06.2006 by Markus Rauch
(Posted 22 years ago)
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

Gabriel
(Posted 22 years ago)
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.

BlitzSupport
(Posted 22 years ago)
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!

Markus Rauch
(Posted 22 years ago)
@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 .

ckob
(Posted 21 years ago)
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.

Pedro
(Posted 21 years ago)
great markus !

thanks to share

RGR
(Posted 21 years ago)
I get an Identifier 'FlushMem' not found Error

Progi1984
(Posted 21 years ago)
Delete this line !
And that runs !

Shagwana
(Posted 21 years ago)
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...

function flushmem() ; End Function


Or better still, search for all "flushmem()" and remove them!

RGR
(Posted 21 years ago)
Thanks Shagwana, Progi1984

ckob
(Posted 21 years ago)
there are several things now that dont work with this I cant seem to fix them all :(

Markus Rauch
(Posted 21 years ago)
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 .

Dubious Drewski
(Posted 21 years ago)
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.

Code Archives Forum