Message Board


Message Board > Fenix / Bennu / Gemix / DIV > Fenix3D

February 4, 2008, 05:52
link3rn3l
Whiskered
78 posts
New fenix site only for 3D libraries

visit us:
http://3dm8ee.blogspot.com/
____________
#
February 16, 2008, 16:20
link3rn3l
Whiskered
78 posts
new preview with physics available...
____________
#
March 24, 2008, 01:02
link3rn3l
Whiskered
78 posts
New directx drivers

fast and stable
____________
#
March 27, 2008, 17:55
Rincewind
programmer
1538 posts

The screenshots on your blog look great, but I cannot get the examples to compile. Upon compiling I keep getting "m8ee.h: file not found" even though that file is in the same directory. When I try to compile m8ee.h itself I get "Error in file H:\Programs in\bennu3d r21032008\prg\m8ee.h at line 12: The library is not Fenix compatible ("bennu3d")".

It is probably a Bennu version difference. I am using the latest BGDC from www.fenixdocs.com, but maybe I need something more recent?
____________
Personal website: http://www.loijson.com
#
March 27, 2008, 18:27
DTM
Earthling!
820 posts

It would be good if the examples were compiled and runnable for lazy people like myself :)
____________
:o
#
March 27, 2008, 21:14
Fiona
games are terrible
-9616558 posts

If someone can get this working with a speed that's good enough for real-time games i'll love them forever.
____________
laffo
#
March 28, 2008, 18:53
link3rn3l
Whiskered
78 posts
yes , thanks for test,

bennu last version is required
download here
http://bennupack.blogspot.com/
____________
#
March 28, 2008, 20:36
Sandman
F3n!x0r
1194 posts

They are perfectly compilable and runnable using Bennu and not Fenix. So don't try to run it using Fenix. fenixdocs.com doesn't have the latest Bennu sources, I could throw them on there though... ok I'll do that.

[EDIT]
There we go.

[Edited on March 28, 2008 by Sandman]
____________
BennuWiki
Yes, my avatar has grey borders in IE (so get a decent browser)
ROOFLEZ ROOFLEZ
#
March 28, 2008, 23:12
Rincewind
programmer
1538 posts

I got that error using BGDC.exe. The error remains with the newest Bennu version from either Fenixpack or Fenixdocs, so it's probably not a version issue after all.

Perhaps someone that has it working could zip up Bennu3D with the newest Bennu version compiled and runnable, so I can see what's going wrong? Thanks.



Edit: Pfooh, got it working! It doesn't compile (and gives that error) when I drag the .prg to the BGDC, but it does compile correctly using a console. What to think of that. :F

The demos look great Linkernel (and the frog one is brilliant), I really appreciate it you're making this library. :) Maybe you could get it into Bennu as a module by default?

@Fiona, it's very fast and certainly good enough for real-time games. In fact, the demos are going so fast that it's probably a good idea if Linkernel would limit the FPS by default in the test programs.

[Edited on March 29, 2008 by Rincewind]
____________
Personal website: http://www.loijson.com
#
March 29, 2008, 02:57
Sandman
F3n!x0r
1194 posts

That is because the working directory is not that directory when dragging. Fenix will tell you the same thing and it's no reason to think any less of Bennu or the Bennu3D library for it. It has never been a strong point of Fenix (or Bennu for the time being), the proper inclusion of resource directories, like we see in C/C++. In this case it can't find m8ee.h, because the folder in which that file resides is not included, as only the directory where the compiler was called from is included by default.

While there is an option to include directories when looking for files, there is no IDE to make use of it. Why? I don't know. What I do know is that the batchfiles for ConTEXT on fenixdocs are designed to avoid this problem and include the 3 most important directories: compiler directory, working directory and the directory containing the source. The use of the batches is explained on the ConTEXT Setup page. You can easily adapt them to Bennu.

[Edited on March 29, 2008 by Sandman]
____________
BennuWiki
Yes, my avatar has grey borders in IE (so get a decent browser)
ROOFLEZ ROOFLEZ
#
March 29, 2008, 11:58
Fiona
games are terrible
-9616558 posts

Okay this is pretty exciting. Those demos are great, the code is pretty simple too. I agree that the demos are too fast, but simply capping the FPS to 60 seemed to work fine for me.

Nice to see that they work great at high resolutions too, but they didn't want to open at 1680 x 1050, is no-widescreen a limitation of Fenix/Bennu?

What model formats are we allowed? I see md2, obj and even 3ds. What about texture formats? I see JPG and PCX.

I noticed hightmapped terrains, what's the maximum size for those?

It loads bsp formats too. Quake 1? Quake 2? Quake 3? Source engine? (hopeful)

Will Fenix/Bennu never render anything to the screen above the 3d? Are we limited to using M8E_TEXTDRAW and M8E_IMAGEDRAW? What about ttf fonts?

How come Test10 doesn't think HW T&L or any sort of Vertex or Pixel shader is supported on my video card? I have a Radeon 3870 HD I can assure you it supports them all, and the demos that use them work.

Test14 completely bugged out for me. The water flickers and artifacts float to the stop of the screen...

Test16 says "M8ee init failed" for anything other than OpenGL.

The helper functions for collisions, distances and physics are great.

A comprehensive list of all the commands would be nice, even if it's just a big list of commands on the wiki

I have a feeling a lot of my questions will be answered on the Irrlicht website. Speaking of Irrlicht, what are the chances of it's dynamic lighting, shadows and particle generators making it's way into this dll?

I find this whole thing awesome, it's about time Fenix could finally be used for 3D work. Amazing job link3rn3l!

[Edited on March 29, 2008 by Fiona]
____________
laffo
#
March 29, 2008, 12:37
Sandman
F3n!x0r
1194 posts

Documentation is a MUST and even that big list would be helpful. I second the motion on putting it on FenixWiki.

I tried them some more and I must agree that this is good work. The physics add to the coolness also. But like said, documentation is a must, else it'll be another trial and error thing and that's not gonna do it for me.

Keep it up, Link3rn3l.

[EDIT]
I noticed my mousecursor is thrown back to the center of the screen, even though I had another window focused.

[Edited on March 29, 2008 by Sandman]
____________
BennuWiki
Yes, my avatar has grey borders in IE (so get a decent browser)
ROOFLEZ ROOFLEZ
#
March 29, 2008, 13:18
Rincewind
programmer
1538 posts

Quoting Fiona:
Nice to see that they work great at high resolutions too, but they didn't want to open at 1680 x 1050, is no-widescreen a limitation of Fenix/Bennu?


Apparently there's a screen width limit of 1600 pixels in Fenix/Bennu, although I don't know whether it's still the case in the newest versions. In this thread Sandman links to a dll that can bypass the restriction.

I had the same problem with test 14 by the way. Hopefully Linkernel can answer some of the questions asked in this thread.

[Edited on March 29, 2008 by Rincewind]
____________
Personal website: http://www.loijson.com
#
March 29, 2008, 13:40
Fiona
games are terrible
-9616558 posts

That setmode.dll...

Quote:
at line 73: Undefined procedure ("SCR_SETMODE")


yeah
____________
laffo
#
March 29, 2008, 14:02
DTM
Earthling!
820 posts

I think .bsp is just Quake 3. Irrlicht's best formats are .b3d and .x (there is a good b3d exporter for blender) Also .ms3d I think. Textures: jpg, png, tga, bmp...

If they wrap the irrlicht loadScene function then you could use irredit...
____________
:o
#
March 29, 2008, 14:11
Rincewind
programmer
1538 posts

Quoting Fiona:
That setmode.dll...

Quote:
at line 73: Undefined procedure ("SCR_SETMODE")

yeah

It would probably have to be recompiled for Bennu, seems the current version is for Fenix.

Quoting DTM:
If they wrap the irrlicht loadScene function then you could use irredit...

That certainly looks nice.
____________
Personal website: http://www.loijson.com
#
March 30, 2008, 03:57
Fiona
games are terrible
-9616558 posts

I poked around the DLL and found this list... Now we just need some parameters to go with these...

Fenix code:
/*
 * Engine initialisation
 */


M8E_INIT()
    // Initialise the engine
M8E_INIT_DRIVER(int engine)
    // Initialise the engine with a specific driver, EDT_OPENGL, EDT_DIRECT3D8, EDT_DIRECT3D9
M8E_FREE()
    // The engine frees completely from the system resources
int M8E_GETDRIVER()
    // Returns the current driver being used,
    // returns one of the same values that M8E_INIT_DRIVER() takes

/*
 * Miscellaneous crap
 */


? M8E_SETVIEWPORT(int view_pos_from_left, int view_pos_from_top, int view_width, int view_height)
    // Similar to defining regions in DIV/Fenix. This lets you set the size of the "window"
    // that will be rendered at the next call to M8E_RENDER. Width and height, and the coords
    // of the top-left corner. Multiple viewports appear to be broken. (As per test14.prg)
? M8E_SCRSHOT(string path)
    // Saves a jpg screenshot of the current view to the path defined.
int M8E_GETDISTANCE(model_1, model_2)
   // Get the distance between two models, or nodes. Not sure what the coordinate system actually is, but it's an integer based one.
? M8E_SETSTRPARAM(string parameter name, string value)
   // Lets you set some internal variables to other values. Not sure what kind of values...
? M8E_CLEARSCENE()
   // Removes all models and textures from the current scene
? M8E_SETAMBIENTLIGHT(int alpha, int red, int green, int blue)
   // Sets the global illumination of the current scene.
? M8E_SETFOG(int red, int green, int blue, int begin_distance, int falloff)
   // Set's the fog of the current scene.
M8E_SETTEXTFLAG(int flag, bool state)
   // Seems to set some sort of flags that relate to loading textures. Set them before
   // loading textures, takes true/false. The only ones I've seen are ETCF_OPTIMIZED_FOR_SPEED
   // and ETCF_CREATE_MIP_MAPS
M8E_MODELREMOVE(int model)
   // Take a model or node out of the scene
node_obj M8E_ADDSKYBOX(tex_obj up, tex_obj down, tex_obj left, tex_obj right, tex_obj front, tex_obj back)
   // Creates a skybox, all of the parameters are pointers to loaded textures returned
   // by M8E_LOADTEXTURE. Returns the skybox model.
tex_obj M8E_LOADTEXTURE(string image_path)
   // Loads a texture from a path and returns the pointer to it.
   // Formats are psd, jpg, png, tga, pcx, bmp.

/*
 * Animations
 */


anim_obj M8E_ADDANIMCIRCLE(node_obj model, int centre_x, int centre_y, int centre_z, int radius, float speed)
   // Automates models moving in a circular movement around a mid-point.
   // For some reason. How do you change the axis?
anim_obj M8E_ADDANIMLINE(node_obj model, int start_x, int start_y, int start_y, int end_x, int end_y, int end_z, int time_taken, bool loop)
   // Moves an object between two given points. time_taken in miliseconds. Looping just
   // makes it do the animation again, it doesn't snap back.
anim_obj M8E_ADDANIMROTATION(obj_node model, int x_axis_speed, int y_axis_speed, int z_axis_speed)
   // Rotates an object around a specified axis.  
anim_obj M8E_ADDANIMTEXTURES(obj_node model, tex_arr_obj texture_list, int change_time, bool loop)
   // Makes a model change it's texture given a list. Ex:
   // tex_list = M8E_ADDTEXTURELIST();
   // M8E_TEXTURELISTADD(tex_list, M8E_LOADTEXTURE("blah.jpg"));
   // M8E_TEXTURELISTADD(tex_list, M8E_LOADTEXTURE("blah2.jpg"));
   // animation = M8E_ANIMTEXTURES(mymodel, tex_list, 500, true);
   // That will make mymodel change it's texture every 500 miliseconds from blah.jpg to blah2.jpg.
tex_arr_obj M8E_ADDTEXTURELIST()
   // Creates a texture array for M8E_ANIMTEXTURES.
M8E_TEXTURELISTADD(tex_arr_obj texture_list, obj_tex texture)
   // Adds a texture to the texture animate list for M8E_ANIMTEXTURES.
anim_obj, M8E_ADDANIMDELETE(obj_node model, int time)
   // Will remove the model after the specified amount of time in milliseconds.
anim_obj M8E_ADDANIMPOINTS(obj_node model, points_arr list, float speed, float closeness)
   // Moves an object along a spline given the points like M8E_ADDANIMTEXTURES. Ex:
   // point_list = M8E_ADDPOINTLIST();
   // M8E_POINTLISTADD(point_list, 10, 10, 10);
   // M8E_POINTLISTADD(point_list, 10, 15, 30);
   // M8E_POINTLISTADD(point_list, 10, 5, 50);
   // M8E_ADDANIMPOINTS(model, point_list, 1, 0.5);
   // Creates a spline of three points and moves the object smoothly across it.
points_arr M8E_ADDPOINTLIST()
   // Creates and returns point list for M8E_ADDANIMPOINTS.
M8E_POINTLISTADD(points_arr, int x, int y, int z)
   // Adds a point to the point list for M8E_ADDANIMPOINTS.
M8E_MODELREMOVEANIM

/*
 * Collision system
 */


M8E_ADDCOLTERRAIN
M8E_ADDCOLMAP
M8E_ADDCOLBBOX
M8E_ADDANIMCOL
M8E_RAYCOL
M8E_ADDCOLLIST
M8E_COLLISTADD
M8E_ADDSCNCOL
M8E_GETMODELFROMCAM
M8E_GETMODELFROMRAY
M8E_GETMODELFROM2DPOS
M8E_GETPOS2DFROM3DPOS
M8E_SCREENEXIST
M8E_RENDER
M8E_OPTIONEXIST
M8E_LOADSCN
M8E_ADDZIPFILE

/*
 * Model and object loading
 */


M8E_LOADTERRAIN
M8E_LOADMATRIX
M8E_LOADWATER
M8E_LOADANIMODEL
M8E_LOADMODELEX
M8E_LOADCUBEMODEL
M8E_LOADSPHEREMODEL
M8E_ANIMODEL
M8E_MODELANIMSPEED
M8E_MODELANIMSETFRAME
M8E_MODELANIMMD2
M8E_GETMODELANIMCURFRAME
M8E_MODELSETMATERIAL
M8E_LOADTEXMODEL
M8E_MODELADDCHILD
M8E_POSMODEL
M8E_GETPOSMODEL
M8E_MODELROTATION
M8E_GETROTMODEL
M8E_MODELSCALE
M8E_MODELVISIBLE
M8E_MODELMATTYPE

/*
 * Camera stuff
 */


M8E_GETACTIVECAM
M8E_SETACTIVECAM
M8E_GETCAMTARGET
M8E_ADDCAM
M8E_ADDCAMFOLLOW
M8E_CAMFOLLOWUPDATE
M8E_ADDCAMFPS
M8E_CAMTARGET
M8E_CAMSETFAR
M8E_CAMSETASPRATIO
M8E_CAMSETFOV
M8E_CAMSETNEAR
M8E_CAMSETUPVECTOR

/*
 * Lights
 */


M8E_ADDLIGHT

/*
 * Flat mode7/8 like sprites
 */


M8E_ADDBOARD
M8E_BOARDSIZE

/*
 * Text
 */


M8E_ADDTEXT
M8E_TEXTDRAW
M8E_TEXTCHANGE

/*
 * Images
 */


M8E_IMAGEDRAW

/*
 * GUI
 */


M8E_GUIREMOVE(int gui_item)
   // No real idea how to use these functions :what:
M8E_GUIMOVE
M8E_GUIADDFADER
M8E_GUIREMOVEALL

/*
 * Urm
 */


M8E_FADERINSET
M8E_FADEROUTSET
M8E_FADERREADY

/*
 * Particles
 */


M8E_ADDPARTICLE
M8E_PARTICLEADDBOXEMITTER
M8E_PARTICLEADDPOINTEMITTER
M8E_PARTICLEADDFADEOUTAFFECTOR
M8E_PARTICLEADDGRAVITYAFFECTOR
M8E_PARTICLESETSIZE

/*
 * Shaders
 */


M8E_ADDSHADER
M8E_ADDSHADERFILE

/*
 * Physics system
 */


M8E_PHYSINIT
M8E_PHYSADDMODEL
M8E_PHYSADDCUBE
M8E_PHYSADDCHARCONTROL
M8E_PHYSCHARCONTROLUPDATE
M8E_PHYSMATERIAL
M8E_PHYSADDCAR
M8E_PHYSCARUPDATE
M8E_PHYSADDFORCE
M8E_PHYSADDGLOBALFORCE
M8E_PHYSADDIMPULSE
M8E_PHYSADDLOCALFORCE
M8E_PHYSADDTORQUE
M8E_PHYSENABLE
M8E_PHYSANGULARDAMPING
M8E_PHYSLINEARDAMPING
M8E_PHYSOMEGA
M8E_PHYSBODYPOS
M8E_PHYSGETBODYPOS
M8E_PHYSBODYROT
M8E_PHYSGETBODYROT
M8E_PHYSTORQUE
M8E_PHYSVELOCITY
M8E_PHYSREMOVE
M8E_PHYSADDJOIN


I notice some function names relating to the particle system... I wonder if they work.

[Edited on March 30, 2008 by Fiona]
____________
laffo
#
March 30, 2008, 16:33
Rincewind
programmer
1538 posts

Thanks, that's most useful.
____________
Personal website: http://www.loijson.com
#
March 30, 2008, 20:24
Fiona
games are terrible
-9616558 posts

Yeah, I've been messing with the dll and what not and found that I really, really want Skydomes

If I had the code I could do it myself...
____________
laffo
#
April 1, 2008, 19:21
link3rn3l
Whiskered
78 posts
please move directxdrivers directory dlls
on prg examples... and ready..!!!

thanks for testing..

use skybox now,
skydome are be implemented soon..

docs is very big, any functions implemented,
but not docummented, in this moment are be work on her..

formats supported is explained in pdf attached..

soon IA functions, style darkbasic

[Edited on April 1, 2008 by link3rn3l]
____________
#
April 1, 2008, 21:05
Htbaa
Perl
368 posts

Wow that post was quite hard to understand. Especially the part about the docs :).

Any screenshots by the way? I can't (be arsed to) try it out here.
____________
blog.htbaa.com
#
April 2, 2008, 04:55
link3rn3l
Whiskered
78 posts
http://www.mediafire.com/?z3tmnmbdvyx

skydome prg
____________
#
April 2, 2008, 19:26
Htbaa
Perl
368 posts

Not for Linux I guess?
____________
blog.htbaa.com
#
April 3, 2008, 16:14
link3rn3l
Whiskered
78 posts
bennu is beta,

bennu not available in linux for now.

m8ee are be available in linux while bennu will be.
____________
#
July 29, 2008, 20:38
Mezzmer
Square-theorist
792 posts

Any more news on this? Fiona?

I'll download the examples and have a look.

Yes, it needs proper documentation. I hope this happens and that it's all included in the next Bennu release.

[Edited on July 29, 2008 by Mezzmer]
____________
#

Page 1 , 2


Message Board > Fenix / Bennu / Gemix / DIV > Fenix3D

Quick reply


You must log in or register to post.
Copyright 2005 Booleansoup.com
Questions? Comments? Bug reports? Contact us!