Welcome Guest. Please Login or Register  
You are here: Index > Announcements > Work in progress > Topic : modbox4d


Threaded Mode | Print  

 modbox4d (20 Replies, Read 12451 times)
_6__
Group: Studio Tester
Posts: 334
Status:
I'm porting my Blitz3d project to NF and reached a Milestone of getting the basic application working.  Even thought it's basic there was still a lot to learn and understand, so it took longer than I thought it would. So far I have:

  • Gtk+ running as the gui.  The icon containers and main window are adjustable with the mouse and the NF window in the middle auto-adjusts to fit properly.
  • Icons and models are loaded from an SQLite database.
  • manipulator widgets for translate, rotate and scale
  • Camera controls for navigation using the std w ,a, s, d keys
Lots of stuff yet to add, but its the material system next.  In the meantime, here's my first screenshot:




-----------------------
modbox4d.png
png modbox4d.png (192.64 KB, Downloads: 98)
IP: --   

modbox4d
dragon57
Group: Administrator
Posts: 1266
Status:
Very nice! Initial impressions was it reminds me of Sketchup. Looking forward to more.

-----------------------
Desktop: Intel Core i7 980 3.33GHz, 24GB ram, Win 7 64bit SP1, NVidia GTX 260
Laptop: Intel Core i7-2670QM 2.20GHz, 8GB ram, Win 7 64bit SP1, ATI Radeon HD 6770M
IP: --   

modbox4d
Prime_8
Group: Moderator
Posts: 12801
Status:
Nice makes me want to look into GTK+ again .
IM still using FLTK ~2 ish ?? LOL



-----------------------
www.ejectedcore.com
Processor: AMD A6-3410MX APU Quad Core +1 video card
OS: W7 (6.1) HPE SP1  RAM: 6144 MB DDR3 | Card 1 :dis HD6470M 1024MB | Card 0 :int HD6520G  512MB
IP: --   

modbox4d
matthew
Group: Administrator
Posts: 13039
Status:
Very nice!

-----------------------
Instructional video for making feature requests:
http://www.youtube.com/watch?v=DtMV44yoXZ0
IP: --   

modbox4d
_6__
Group: Studio Tester
Posts: 334
Status:

Materials now work.  Just diffuse and normal maps at the moment.

-----------------------
modbox4d-materials.png
png modbox4d-materials.png (402.70 KB, Downloads: 119)
IP: --   

modbox4d
Prime_8
Group: Moderator
Posts: 12801
Status:
sweet man

-----------------------
www.ejectedcore.com
Processor: AMD A6-3410MX APU Quad Core +1 video card
OS: W7 (6.1) HPE SP1  RAM: 6144 MB DDR3 | Card 1 :dis HD6470M 1024MB | Card 0 :int HD6520G  512MB
IP: --   

modbox4d
SteveElliott
Group: Studio Tester
Posts: 1483
Status:
Looks awesome.

-----------------------
Project S: loading...
Intel Core2 Duo E7200 @ 2.53Ghz, 3Gb RAM Intel G45 Express
IP: --   

modbox4d
T4r4ntul4
Group: Member
Posts: 97
Status:
very nice! looks like the interface of Cinema 4D
IP: --   

modbox4d
GaborD
Group: Member
Posts: 1122
Status:
Looks really great!
IP: --   

modbox4d
Prime_8
Group: Moderator
Posts: 12801
Status:
i quite like the look .

seems most editor have gone dark tones as of late . LOL

very cool dude , did you get any further ?

-----------------------
www.ejectedcore.com
Processor: AMD A6-3410MX APU Quad Core +1 video card
OS: W7 (6.1) HPE SP1  RAM: 6144 MB DDR3 | Card 1 :dis HD6470M 1024MB | Card 0 :int HD6520G  512MB
IP: --   

modbox4d
_6__
Group: Studio Tester
Posts: 334
Status:
Yep, still working on it, but got side tracked to work on some shaders. 

Added in the TreeView, but had a small issue with it as Gtk does return a constant pointer to a node when you add it to the tree.  If I select a node I can easily get a handle to the 3d object in the scene, but it's not so easy the other way round, i.e. click on an object and get the node handle.  I've had to set up an indexing system and loop through the tree each time an object is clicked on.  Not ideal, but it works.

I've also gone through a couple of iterations of the Material editor, and I think I'm happy with the way it's set up now.  I'm keeping it quite simple at the moment as I'm not sure how to export a material into a different engine/tool.  For example, I can create a damaged looking wall material that uses two blended diffuse maps and then bumped with parrallax offset mapping, but when I export the model to .dae, how does a program like UDK, Blender, Unity or lightwave etc create the same material?  This isn't a problem for NF or NB users though as they can just use the same .fx file as used in modbox4d.

Quote
very nice! looks like the interface of Cinema 4D


Ha, someone noticed!  I've been a user of Cinema4D for about 10 years now so it has influenced my design of modbox4d ( and I am using a couple of their icons as placeholders until I've redesigned my own ones ) Just a quick note to say I didn't add the 4D bit to Modbox because of Cinema4D.  I did it because the modbox domain name had already been taken :(

Quote
seems most editor have gone dark tones as of late . LOL


I quite like the Darktone interfaces, but users can swap the interface to any compatible Gtk+ gui they like, or even create their own.  This was one of the reasons I went with Gtk over other gui's.
IP: --   

modbox4d
Prime_8
Group: Moderator
Posts: 12801
Status:
yeah i use teh GTK skin in FLTK a fair bit in mine.

PS for indexing try this .

maka
std::vector<nodehadle> ItemsNodes;
\\ nodehadle is whatever data type/struct your node point with


the index in ItemsNodes holds  the node (nodehadle ) as it is in your tree , the vlaue
but the index is a of size_t  , or unsigned int . so ..

you can save that index in your scene's ent(s) data slot , say slot 4 .

so if you click on a ent .  check if it's 4th data slot is populated .
if so read that  as a uInt  , 
when you scan you ents into your scene graph populate their 4th user data slot with their index in your ItemsNodes
 
nodehadle TargetTreeNode = ItemsNodes.at((unsigned int)getentdata(target_ent, 3)))

auto indexinlook up works in both ways

because your tree has the ent NUKE , so you can find either very fast without iterating thorough anything , however you could make a search by index or some shiz .. if you need reverse search to be faster

Edited by Prime_8 : April 11, 2013, 6:02 pm

-----------------------
www.ejectedcore.com
Processor: AMD A6-3410MX APU Quad Core +1 video card
OS: W7 (6.1) HPE SP1  RAM: 6144 MB DDR3 | Card 1 :dis HD6470M 1024MB | Card 0 :int HD6520G  512MB
IP: --   

modbox4d
duffer
Group: Member
Posts: 17
Status:
(looking at first post) how did you manage to load in from a sqlite database and in to NB?


-----------------------
Awash with confusion...
IP: --   

modbox4d
Prime_8
Group: Moderator
Posts: 12801
Status:
op is using the c++ NF .

you can call any dll easy via c/c++

but you should be able to call most of all dlls in NB

-----------------------
www.ejectedcore.com
Processor: AMD A6-3410MX APU Quad Core +1 video card
OS: W7 (6.1) HPE SP1  RAM: 6144 MB DDR3 | Card 1 :dis HD6470M 1024MB | Card 0 :int HD6520G  512MB
IP: --   

modbox4d
_6__
Group: Studio Tester
Posts: 334
Status:
Hi,

Yes, I've used NF rather than NB.

I haven't tried calling a DLL from NB so I don't know if this will work. 

There isn't a DLL for SQLite as such so you need to compile your own version of the dll for your specific CPU/compiler combination.

SQLite also uses callback methods when executing queries on the DB, so I'm not sure if they would work NB.  Maybe, I just don't know.

As an example, this is how you would execute a SQL query:

rc = sqlite3_exec( db, "SELECT * FROM links order by par_row_id", load_containers, NULL, NULL );


for each record returned in the query, the callback is called:



int load_containers(void *NotUsed, int argc, char **argv, char **azColName)
{

  //Get row_id of record
  char *row_id = new char[100];
  strcpy(row_id, argv[0]);

  //Get parent row_id of record
  char *par_row_id = new char[100];
  strcpy(par_row_id, argv[1]);

  //Do other stuff

  return 0; //return success
}
IP: --   

modbox4d
Prime_8
Group: Moderator
Posts: 12801
Status:
one would have to code a wrapper in nf  , and use function pointers and such in nb once you build it with nf and make some link up / wrapper code .


-----------------------
www.ejectedcore.com
Processor: AMD A6-3410MX APU Quad Core +1 video card
OS: W7 (6.1) HPE SP1  RAM: 6144 MB DDR3 | Card 1 :dis HD6470M 1024MB | Card 0 :int HD6520G  512MB
IP: --   

modbox4d
_6__
Group: Studio Tester
Posts: 334
Status:

I've been quite busy working on Modbox4D, but I haven't posted much of an update for a while. 

I had to re-write the Treeview a few times, but I think I've cracked now.  With this Treeview you can drag-drop nodes, but you can also multi-select several nodes and then hit CTRL+G to group them all into a single 'Group' node.  The new grouped nodes also preserve the hierarchy of any child-parent relationships being moved into that group.

I've got the material editor pretty much working now too which is great.  Icons of the finished materials are saved to the DB and can be dragged/dropped onto the textures panel for a particular object.

Here is a picture of the editor in action.



-----------------------
materialEditor.jpg
jpg materialEditor.jpg (562.99 KB, Downloads: 60)
IP: --   

modbox4d
PrincessBexter
Group: Studio Tester
Posts: 518
Status:
*drool*
IP: --   

modbox4d
Prime_8
Group: Moderator
Posts: 12801
Status:
i gotta say way cool ,,

way further ahead of my current project .
haha i have not even started my tree view gadget yet !


-----------------------
www.ejectedcore.com
Processor: AMD A6-3410MX APU Quad Core +1 video card
OS: W7 (6.1) HPE SP1  RAM: 6144 MB DDR3 | Card 1 :dis HD6470M 1024MB | Card 0 :int HD6520G  512MB
IP: --   

modbox4d
_6__
Group: Studio Tester
Posts: 334
Status:

The Treeview was a real pain in the proverbial.  Gtk+ lets you build Treeviews very easily, but manipulating the nodes on a tree can get complicated as each node doesn't have a constant pointer, they change all the time and so I had to track everything with a custom index.  This Treeview consists of about 1,600 lines of code so far and I'm still not sure that it works properly!

IP: --   

modbox4d
Prime_8
Group: Moderator
Posts: 12801
Status:
im building my tree by hand from ground up using Kune 2d.

FLTK has amazing tree , but as you say has no solid node concept , so i had to sort of fudge one .

the current live node ptr was temporal , to say the least .

least now im not fighting a TK >> NF  ,  but i have a few small things as restrictions .  like blender all must happen inside a view port . ..

:: tree // scene graph  very tricky to get rite .

great stuff 6'


-----------------------
www.ejectedcore.com
Processor: AMD A6-3410MX APU Quad Core +1 video card
OS: W7 (6.1) HPE SP1  RAM: 6144 MB DDR3 | Card 1 :dis HD6470M 1024MB | Card 0 :int HD6520G  512MB
IP: --   

« Previous    Next »

Threaded Mode | Print  



Jump To :


Users viewing this topic
1 guests, 0 users.


All times are GMT -6. The time now is October 31, 2014, 12:02 am.

  Powered By AEF 1.0.8 © 2007-2008 Electron Inc.Queries: 12  |  Page Created In:0.110