[WIP] Ogre Toolbox

A place for users of OGRE to discuss ideas and experiences of utilitising OGRE in their games / demos / applications.
Mr. Turner
Halfling
Posts: 88
Joined: Sun Sep 05, 2004 7:01 pm
Location: Belgium

[WIP] Ogre Toolbox

Post by Mr. Turner »

[ Goto http://ogretoolbox.sourceforge.net for the latest version and info! ]

My goal with Ogre Toolbox is to create an editor for the dot scene format and maybe integrate some physics.

Current features:
* Create, Open, Save a scene
* Add and delete nodes
* Rotate, move, scale nodes manually and with controls
* Create and attach entities to a node
* Create and attach lights to a node
* Detach objects from a node
* Edit properties of lights and entities (basic)
* Command line (Open with in Windows)

Screenshot:

Image

Download:
Binary: Download zip
Source: Download source zip

Notes:
* Controls: r for rotate, m for move and s for scale
* Movement: drag left mousebutton for x and y axes drag with both mousebuttons for the z axis
* You can attach/detach by doubleclicking on a node in the tree.
* To add/delete a node right click on a item in the tree.
* You have to copy all the directories from ogrenew/samples/Media to the Media directory in the zip. I excluded it to save you guys some bandwidth.

I've posted it to get some feedback on the design.

Thanks for looking at it.

Mr. Turner
Last edited by Mr. Turner on Sun Mar 13, 2005 6:04 pm, edited 5 times in total.
User avatar
LordMyth
Gremlin
Posts: 181
Joined: Thu Jan 06, 2005 10:19 pm
Location: Belgium
Contact:

Post by LordMyth »

And again no Linux versions........... I HATE IT. But ehh, looks C00L! It really does!
Have a kiss from me!
Gentoo Linux on AMD64 3200+
NForce4 Chipset
Dual Channel DDR 2x512MB
PCX 16 GeForce 6600 256MB
User avatar
NeLo
Halfling
Posts: 43
Joined: Mon Oct 07, 2002 3:45 pm
Location: Valencia (Spain)

Post by NeLo »

Great joob!
I'm spanish. Sorry for my english.
Mr. Turner
Halfling
Posts: 88
Joined: Sun Sep 05, 2004 7:01 pm
Location: Belgium

Post by Mr. Turner »

But ehh, looks C00L! It really does!
Thanks.
And again no Linux versions........... I HATE IT.
I know, one of my goals is to be crossplatform so I used only crossplatform libraries (Ogre & wxWidgets). So I guess the code should be crossplatform.
But I don't have a clue how to get it compiled on linux.
If someone wants to do the port, PM me.
Tyrion
Gnoblar
Posts: 1
Joined: Sat Dec 04, 2004 10:31 pm
Location: Grenoble, France

Post by Tyrion »

Good job !

But in your .zip file you don't have include all file require to start application
At first I have been an execption OgreCore.zip no found so fix by copy Media directory of Ogrenew

But now I have this error and don't have any possibility to find solution...
-----------------------------------
Details:
-----------------------------------
Error #: 9
Function: ZipArchive::checkZzipError
Description: Media/packs/se.zip - error whilst opening archive: Unable to read zip file..
File: \Mijn documenten\Peter\Projecten\ogrenew\OgreMain\src\OgreZip.cpp
Line: 254
Stack unwinding: <<beginning of stack>>
17:46:56: OgreApp::Init() - Exception:
An exception has been thrown!
User avatar
pjcast
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 2543
Joined: Fri Oct 24, 2003 2:53 am
Location: San Diego, Ca
x 2
Contact:

Post by pjcast »

Nice work!

The user interface feels like it needs some more polishing.. but, an awesome start at a Ogre .scene editor! Keep up the good work.
Have a question about Input? Video? WGE? Come on over... http://www.wreckedgames.com/forum/
Mr. Turner
Halfling
Posts: 88
Joined: Sun Sep 05, 2004 7:01 pm
Location: Belgium

Post by Mr. Turner »

To fix this:
Open up the resources.cfg and remove the last line:

Code: Select all

Zip=Media/packs/ogretestmap.zip
Zip=Media/packs/skybox.zip
Zip=Media/packs/se.zip    <<<<< REMOVE THIS!
se.zip is something I made.

NOTE: I've updated this in the new version.
User avatar
LordMyth
Gremlin
Posts: 181
Joined: Thu Jan 06, 2005 10:19 pm
Location: Belgium
Contact:

Post by LordMyth »

owww... I thought you where using Win32! It's fine if you use wxWidgets, if you want I can look at it in a week's time. Maybe I'll even manage to actually build it on Linux 8)
Have a kiss from me!
Gentoo Linux on AMD64 3200+
NForce4 Chipset
Dual Channel DDR 2x512MB
PCX 16 GeForce 6600 256MB
Mr. Turner
Halfling
Posts: 88
Joined: Sun Sep 05, 2004 7:01 pm
Location: Belgium

Post by Mr. Turner »

If there's anyone interested to join the development 'team' (currently me), PM me.

I think I need maybe 1 other developer to speed things up a bit. wxWidgets experience would be nice but is not a requirement (It's so easy to use).
User avatar
Clay
OGRE Community Helper
OGRE Community Helper
Posts: 518
Joined: Wed Mar 17, 2004 4:14 am
Contact:

Post by Clay »

I wish I had the time to commit to it. I always wanted to write one of these. Maybe after I get my PythonWrapper going. =)
alphabeta
Kobold
Posts: 34
Joined: Mon Jan 03, 2005 5:07 am

Post by alphabeta »

looks great! especially since Chronos doesn't seem to be in development any more
Mr. Turner
Halfling
Posts: 88
Joined: Sun Sep 05, 2004 7:01 pm
Location: Belgium

Post by Mr. Turner »

Hi,

I've updated the editor with:
* support for lights.
* a Movable Objects tab for creating and editing entities and lights without attaching them to a node.
* a proper about screen
* integration with MeshViewer (note: see question below)

Next on the list are:
* quick entity and light creation (point and click) for users that just want to put an object on the screen.
* add all properties to light object.
* fixing the controls (especially scale) Done
* bug fixing


BTW1: don't forget to drag the Ogre Media dir over the Media dir in the zip.
BTW2: the developer position is still open.

Does anyone know how to get the path of an Ogre::Mesh ?

Mr. Turner
Last edited by Mr. Turner on Wed Mar 02, 2005 7:55 pm, edited 1 time in total.
User avatar
Clay
OGRE Community Helper
OGRE Community Helper
Posts: 518
Joined: Wed Mar 17, 2004 4:14 am
Contact:

Post by Clay »

Mind posting up the source for this? I wanted to dig through it. Even if it's not in a fully clean state, you should still post it...you might attract someone who wants to work on it faster that way.

I'd like to see what's going on behind the scenes, and maybe add a few things.
Mr. Turner
Halfling
Posts: 88
Joined: Sun Sep 05, 2004 7:01 pm
Location: Belgium

Post by Mr. Turner »

Hi,

I've uploaded the source code. (also see in the first post).

Greetings,

Mr. Turner
User avatar
Clay
OGRE Community Helper
OGRE Community Helper
Posts: 518
Joined: Wed Mar 17, 2004 4:14 am
Contact:

Post by Clay »

Do you have an email address I can contact you at? =)

Also, have you considered putting the product in a source repository like SourceForge or BerliOS (my favorite)?
Mr. Turner
Halfling
Posts: 88
Joined: Sun Sep 05, 2004 7:01 pm
Location: Belgium

Post by Mr. Turner »

Yes, I'll be adding it to Sourceforge as soon as a basic version 0.1 is done.

For the e-mail: see PM.

Mr. Turner
JasonW
Gnoblar
Posts: 18
Joined: Thu Feb 10, 2005 7:14 am
Location: Mackay, QLD, Australia

Post by JasonW »

Mr Turner.. I'd just like to say great job so far.
I have found one bug though so far - when you add an addition scene node and forget to change it's name the program crashes out with an exception "Scene node aready exists with this name" (that is not the exact error as I didn't jot it down - but you get the drift).
Could be simply solved with a dialog box asking for a unique scene node name before the user can continue.

Also.. do you plan to implement any sort of terrain features.

(BTW... I'm am sorry to bother you if you already new about this bug.)
Mickael
Gnoblar
Posts: 13
Joined: Thu Jan 22, 2004 12:41 pm
Location: France,grenoble

Post by Mickael »

It's good but i prefer chronos (sorry :()
Mickael
Mr. Turner
Halfling
Posts: 88
Joined: Sun Sep 05, 2004 7:01 pm
Location: Belgium

Post by Mr. Turner »

I have found one bug though so far - when you add an addition scene node and forget to change it's name the program crashes out with an exception "Scene node aready exists with this name" (that is not the exact error as I didn't jot it down - but you get the drift).
Yes I'm aware of this. I'm working on it for the next version (0.1)
Also.. do you plan to implement any sort of terrain features.
Yes, but first I want some sort of a stable editor. I got it implanted in some version, but my Ray Scene Queries for quering which object has to be selected crash when using the terrain scene manager. Currently I don't have a solution on how to fix them, so it kind of moved to 0.2, but if someone can fix them I'm glad to include them 0.1.
It's good but i prefer chronos (sorry )
I don't blame you. I know that chronos is currently in a much further development stage then Ogre Toolbox. I started working on this editor, because I'm able to use Ogre for rendering in the editor, so what you see is what you get and it offers me some more flexibility. It also allows me to use the great addon projects (like dotSceneInterface) that Ogre has and I'm learning new options every day.

I'm going to apply for an SF project, so I can get a basic dev page.

Thanks for looking at my editor.

Mr. Turner
MadLion
Halfling
Posts: 97
Joined: Wed Aug 25, 2004 8:14 am
Location: Germany

Post by MadLion »

Mr. Turner wrote:but if someone can fix them I'm glad to include them 0.1.
I have implement it successful for TSM. Maybe i could help you.
Mr. Turner
Halfling
Posts: 88
Joined: Sun Sep 05, 2004 7:01 pm
Location: Belgium

Post by Mr. Turner »

Thanks, the current code is:

Code: Select all

RaySceneQuery *raySceneQuery = mOgreApp->getSceneManager()->createRayQuery( cameraRay ); 
RaySceneQueryResult& res = raySceneQuery->execute();
RaySceneQueryResult::iterator it = res.begin();
Ogre::MovableObject *closestObject = NULL; 
float closestDistance = LONG_MAX; //used to be real 

if(it != res.end())
{
    closestObject = it->movable; 
    if(closestObject->getMovableType()=="Entity"){
        Ogre::Entity *TestEntity = (Entity *)closestObject;
        if(TestEntity->getParentSceneNode()->getShowBoundingBox()==false){
            String name = TestEntity->getParentSceneNode()->getName();

            // Do stuff with name...
        }
        else
            TestEntity->getParentSceneNode()->showBoundingBox(false);
    }

}else{
    SetStatusText("no object found"); 
}  
It seems to crash when no object is found. Any ideas?
MadLion
Halfling
Posts: 97
Joined: Wed Aug 25, 2004 8:14 am
Location: Germany

Post by MadLion »

If i remember right,

Code: Select all

closestObject = it->movable;
could be NULL.
I think this is because the ray intersects with the terrain.
But it is not a MoveableObject so NULL is returned.

You should use query flags/masks for the objects you want to select.

If i get the toolbox running on my linux box i could implement some code.
Mickael
Gnoblar
Posts: 13
Joined: Thu Jan 22, 2004 12:41 pm
Location: France,grenoble

suggest if you want :)

Post by Mickael »

Ok , i f you want i have a suggest :)

* BETTER INTERFACE ( :lol: )

Because see chronos editor , he has a good interface i think :)
you editor is good , very good again , but the interface is capitally ^^

you use QT FREE VERSION ?

Thanks

Mickael
Mickael
Mr. Turner
Halfling
Posts: 88
Joined: Sun Sep 05, 2004 7:01 pm
Location: Belgium

Post by Mr. Turner »

* BETTER INTERFACE
I'm well aware of that. I think what you are referring to are dockable windows, so a user can basically alter the whole interface to his/her needs. The current wxWidget for that is crap, but I just discovered a community contribution wxIFM. It has just gone beta-2. I'm going to look into this and see what I can do with it. Maybe I can get rid of the tab control that way.

I can compile chronos stable 0.3 from the digital sentience site, but it doesn't do anything here. I can't open, save, ...

I use wxWidgets, not QT.

Mr. Turner
User avatar
Clay
OGRE Community Helper
OGRE Community Helper
Posts: 518
Joined: Wed Mar 17, 2004 4:14 am
Contact:

Re: suggest if you want :)

Post by Clay »

Mickael wrote:It's good but i prefer chronos
Mickael wrote:Ok , i f you want i have a suggest :)

* BETTER INTERFACE ( :lol: )
Sheesh, talk about some trolling. It's a highly experimental tool that's a couple of weeks old, you are comparing it to a much more mature tool. So, great. Why not suggest what should be changed instead of saying "chronos is better" and "BETTER INTERFACE"? That would actually be beneficial to the development.
Post Reply