Wrecked Games

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're just that awesome.

Pages: [1] 2

Author Topic: .Net Editor..  (Read 10450 times)

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +1/-0
  • Posts: 2661
    • View Profile
    • http://www.wreckedgames.com
.Net Editor..
« on: June 11, 2006, 02:18:30 PM »

I've playing around with OgreDotNet + MagicLibrary (Provides VC7/7.1 type of control docking/tab style).. And have managed to get a little framework going. I am contemplating designing this further, and making another svn repository for the editor. I understand that using .Net in particular tends to be Windows only (though, mono is progressing nicely), but I have also chosen to use Magic lib, which I think is pretty win32 specific.. However, using C# + Winforms for an editor is a lot simpler then using wxWidgets or Qt or whatever. And definately a lot easier then using CEGUi for in game forms IMO. There is also an issue with GL that also makes this work only with D3D9 renderer at the moment (a threading issue, OpenGL can only make rendering calls from the same thread that created Ogre, which is a different thread in this editor that drives the render loop). And, I cannot create Ogre in the same thread, as then there is an issue with WinForms being created in other context's then the one it is used in.. So, a pita, but only d3d9 right now.

However, because time is important and costly right now, I think for this, sticking to one platform for now is the easiest.

The current editor is plugin based, with plugin's providing many of the features. Though, currently, it doesn't do much more then create some blank controls, and an Ogre renderwindow in the main tab pane.. But, I plan to get a DotScene Plugin working that will allow .scene files to be imported and exported. I still havn't designed what features it will implement, or what type of "Ogre" project it will consist of (as, what is an ogre project?).

But, I imagine that you would be able to setup your main app's directory, along with the plugin.cfg and other config files so that it loads up much the same as your ogre app would.. Or, you could setup the plugin's and resource directory manually via the editor.

Anyway, I'll post some screen shots later, and will see about uploading this to svn soon.
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +1/-0
  • Posts: 2661
    • View Profile
    • http://www.wreckedgames.com
.Net Editor..
« Reply #1 on: June 11, 2006, 02:29:28 PM »

This image shows Ogre window (in second tab window) plus two other docked controls:


This one shows the easy drag from docked to floating + combine seperate controls into a tabbed group:


I know, it doesn't really do anything useful at the moment. But, its a start at getting a little editor together to help making content for WGE projects (and Ringo :) )
Logged

FuSiON

  • Regular
  • *
  • Karma: +0/-0
  • Posts: 34
    • View Profile
.Net Editor..
« Reply #2 on: June 11, 2006, 10:34:26 PM »

I don't know if using .net for  tools is that much faster to write as opposed to c++. I've been thinking this too but this blog entry from Niko, the creator of the Irrlicht engine, has made me rethink this position.
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
.Net Editor..
« Reply #3 on: June 12, 2006, 05:20:16 AM »

Heh, very nice.  :D
Are you planning on releasing the source?
Is this going to be a general ogre editor, or WGE specific, or perhaps its integrated with WGE?
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +1/-0
  • Posts: 2661
    • View Profile
    • http://www.wreckedgames.com
.Net Editor..
« Reply #4 on: June 12, 2006, 06:50:04 AM »

Mostly a general editor. It may get Squirrel script editing debuggin though :) So, in that way more geared towards WGE. But, since it is supposed to be plugin based, I am hoping that it could be used for any Ogre projects.

I plan to release the source of course to svn here. Though, I think maybe it willbe a non-opensource project. Though, build's will be made available once there is a stable (or at least useable) application. Kinda like ofusion - although, the community edition will be completely free for any use. The professional version would pack more bells and whistles, and cost a small amount. Just a thought though.
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +1/-0
  • Posts: 2661
    • View Profile
    • http://www.wreckedgames.com
.Net Editor..
« Reply #5 on: June 12, 2006, 12:10:25 PM »

Wel, here is the large do little editor so far ;)
http://www.wreckedgames.com/files/VisualOgreCoreMSInstall.msi
Logged

OvermindDL1

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 288
    • View Profile
    • http://www.overminddl1.com/forum/
.Net Editor..
« Reply #6 on: June 12, 2006, 03:17:53 PM »

For gui stuff, I like using Juce.  By far the easiest gui to code for I have encountered thus far.  It is gpl, not lgpl unfortunately... but it is wonderful to use.  The maker is making a visual editor for it currently and it is coming along quite impressively.  Good forum too if you have any questions about it.  Too little too late for your stuff now I'd wager, but good to look into for the future.
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +1/-0
  • Posts: 2661
    • View Profile
    • http://www.wreckedgames.com
.Net Editor..
« Reply #7 on: June 12, 2006, 04:40:01 PM »

Wow, that does look pretty good. And, I wouldn't have to use any .Net bidings for Ogre. However, I have decided to stick with c# for the time being. I don't really have a lot of time at the moment for diving off into many different libs languages. Though, thanks for that link, I may perhaps use that in a different project someday.
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +1/-0
  • Posts: 2661
    • View Profile
    • http://www.wreckedgames.com
.Net Editor..
« Reply #8 on: June 12, 2006, 08:46:41 PM »

Well, when working on the SceneVIewer plugin, I quickly realised that getting the scenenode iterator from OgreDotNet wrapper was problematic. However, some quick help on the OgreDotNet forum shows a fix. Though, I have to recompile the bindings myself. Not so bad I suppose, just have to install Swig.. I've used it before for python and am a little familiar with installing/setting it up. Depending on my time tomorrow, I might get to continuing on this.
Logged

mysterycoder

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 447
    • View Profile
.Net Editor..
« Reply #9 on: June 12, 2006, 09:30:27 PM »

Quote
I plan to release the source of course to svn here.

Quote
Though, I think maybe it willbe a non-opensource project.


Do you mean a svn server closed to the public, or am I missing something?  :?
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +1/-0
  • Posts: 2661
    • View Profile
    • http://www.wreckedgames.com
.Net Editor..
« Reply #10 on: June 13, 2006, 06:47:24 AM »

Yes, exactly. An Svn repositoy that is not anonymous read ;)
Logged

OvermindDL1

  • Administrator
  • Veteran
  • *****
  • Karma: +0/-0
  • Posts: 288
    • View Profile
    • http://www.overminddl1.com/forum/
.Net Editor..
« Reply #11 on: June 13, 2006, 12:35:31 PM »

Just for fun, I will probably make a Juce component soon that puts an Ogre rendered view inside.  There is already a Juce OpenGLComponent which is written with all of like 20 lines of code, so it shouldn't be too hard...
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +1/-0
  • Posts: 2661
    • View Profile
    • http://www.wreckedgames.com
.Net Editor..
« Reply #12 on: June 14, 2006, 09:46:46 AM »

SOunds good.. That's the main reason why I embedded Ogre into C#, to see if I could do it.. I know it has already been done though ;)

I've made some progress now. The SceneViewer plugin is what I am currently working on. It is the plugin that will handle traversing the Ogre scenegraph for nodes/objects/etc and create the treeview control of the whol scene. Currently, it traverses all SceneNodes, and after I fixed the bug in ODN and recompiled, that works great :). It needs some custom Icon imagery, cause, frankly, the standard treeview is freaking ugly to look at.

Anyway, I am going to get the PropertyManager (part of the actual IDE) working now, so that when a treenode is clicked, it's node's properties can be displayed (ala VisualStudio type of property window) - such as rotation, postion, name, etc etc. It should also be possible to edit the properties within the property control. Of course, there will be a plugin for editing the World Visually (not part of the SceneViewer plugin I don't think, but plugins can have more then one usefullness - and have components to server as an import/exporter, editor, project type, tools, etc). It will probably reside in a seperate system though, as it will need to do alot of stuff - selecting Objects (picking), drawing helper controls around the selected object in the 3d scene (such as orientation arraows), selection highliting, etc.

I plan to commit to cvs soon, I need to trim down the media folder soon. Core team members will have access to the source. However, I will probably start uploading (when it does somethin really useful) weekly builds, or nightly depending on the nature of the change/fix and urgency.
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +1/-0
  • Posts: 2661
    • View Profile
    • http://www.wreckedgames.com
.Net Editor..
« Reply #13 on: June 14, 2006, 05:10:42 PM »

I've gotten the initial TreeView + Clicking + PropertyGrid setup.

Issues so far:
Using a proxy class as the object for the PropertyGrid (ie instead of a OgreDotNet::Node, it is an PropertyNode class) - This serves a few purposes: avoid editing OgreDotNet source files, can only expose the proeprties we want, and serve as a place to make custom conversions (from string to vector for instance for Position editing). However, I'm having some issues getting the custom conversion working, but oh well, most editing will take place via the the Scene Window itself, with mouse moving/clicking. Who really wants to edit the position/orientation with raw numbers.. Though, I inderstand this is often useful, so it is planned, just borked atm.

The thing that really needs changing from there would be the node names (ie, for saving it out to a file).

Anyway, by the next post I will have uploaded the source ;)
Logged

pjcast

  • Administrator
  • Veteran
  • *****
  • Karma: +1/-0
  • Posts: 2661
    • View Profile
    • http://www.wreckedgames.com
.Net Editor..
« Reply #14 on: June 14, 2006, 08:42:50 PM »

Ok, I have committed the source tree. Of course, it is a private repository right now. THe dependencies are here: http://www.wreckedgames.com/files/VC8_VOS_Core.zip
Logged
Pages: [1] 2