It's me, lug.
I've been working on this new project for a day and a half now. It combines everything that i've done in irrWizardPostCustomizer (never released), irrPreSettings, and irrShowMesh. You can probably gather by the name what it does.
It can display up to 5 irrlicht device views that can run different display drivers (software in one, d3d in another, etc) each in its own thread of execution at the same time:
It's at a very early stage right now. It only runs in a debug build at the moment. Also, OpenGL isn't displaying correctly (maybe because I'm runnning an earlier SVN build 276).
If you're on a single core cpu, the 5 irrlicht threads will cause a huge impact on the system. It ran fine on my amd dual core x2 system .. but my notebook gasped for air (pentium M 1.3 ghz)! Of course you don't have to run 5 irrlichts at a time. Also, since the user can only display one tab view at a time, I can have code that will "pause" the views that aren't shown then "un-pauses" when that tab page is shown.
But the goal is to be able to browse any of the tutorials that comes with irrlicht easily in my place. Also, I was thinking of adding some of the other nice forum contributions to it as well.
For the brave ones, you can try out the debug build (win32 not x64 -- yet):
http://www.megaupload.com/?d=BFN47ZCH
You've been warned! The windows haven't been coded to startup automatically like in the pic above. Right now you'll have to manually drag them around yourself.
Update:
Okay, I can make a release build for x64 but I can't seem to make one for the win32 version. For some reason, it keeps giving me an exception on the "return 0" line of main().
Update 2:
lug head hurts from dealing with/managing three separate windows. That's going to be scrapped in favor of a single window instead. It's much easier/less complex to do for now. There's too many variables with three windows when given that the user can do all kinds of thing with them. That's kinda tough to anticipate in code.
Update 3:
lug rules!!! Here's the new single window layout:
You can't tell from the screen shot but you can pull and move the inside borders so that you can make one side larger than and other. So, don't worry about not having enough room to view stuff.
Here's a demo of the gui functionality if you want to see what I'm talking about (win32/doesn't have any irrlicht or crazy threading in it):
http://www.megaupload.com/?d=81CU1ZCL
You can see how the description and source viewer looks like by dragging and dropping a text, html, xml doc onto the empty space of the description area in the program. All three are web aware. But the drag and drap feature will be disabled for release.
Update 4:
Yeah! lug has finished porting over the code from the old 3 windows version. I've also figured out why the win32 release build did not work. It's because I forgot to switch to regular /clr and had it left set to /clr:pure. Heh, heh...lug's not pure.
So, now everything worked great. Unfortunately, opengl is still a no go.
irrDemoBrowser
lug, here. irrDemoBrowser can now load source files, knows which views to show irrlicht in based on whichever tab is shown/active at the time, displays size and date for source files, and shows the description.
Also, it stops and starts the irrlicht displays on the fly via thread communication since each irrlicht display uses it's own separate thread.
Anyways, it's progressing nicely. Once I get the first 2 demos to work, then the rest should be easy.
Also, it stops and starts the irrlicht displays on the fly via thread communication since each irrlicht display uses it's own separate thread.
Anyways, it's progressing nicely. Once I get the first 2 demos to work, then the rest should be easy.
Yes, that is the intent of the program. I'm glad you like it.JP wrote:Looks pretty cool
I guess it would be good for showing people what the engine can do rather than them having to download the samples themselves and having to work out how to run them etc.
This is a quick update. I've added a new "maximize active view" button. So if you click on the button the active view opens in a separate window. This way, you can see the demo in action better. The "preview" window can be configured in the "customize" tab for window size and what video driver type you want to use. It's not 100% functional yet. I'll upload a screen capture of it once it becomes presentable to the public.
The "Maximize Active View" is now functional.
default customize options:
screen resolution dropdown (code stolen from my irrPreSettings program
):
preview window display based on height and width from screen resolution dropdown:
preview window maximized when the "Start Maximized" checkbox is checked:
Hmmm...come to think. Maybe the button name "Maximize Active View" isn't such a good name now that the user can choose not to maximize or set a different resolution/screen size.
Oh, yeah. The hot pink for the viewport is the color for view 1. I've made it so that each view has a distinct color. This way you can tell right away which view is shown/running in the preview window.
Also, the preview window runs in its own thread. So, counting the two views, we can have a maximum of 4 threads running at the same time.
Update:
Bummer. Well, after some hard thinking and seeing how the current code is growing quite large, lug has decided it's too much for lug to support multiple view ports.
At least for now, lug will focus on one view port and try to get everything that lug wants into the program first. Then maybe go back and add in additional view ports.
This is due to many complicated gui coding challenges that lug doesn't have the technical skills to overcome at this point in time. But when lug acquires such skills, they will be re-visited in future update of the program.
So, lug is just code cleaning right now and getting all the basic functionality operational and tested. This task is growing bigger by the hour.
default customize options:
screen resolution dropdown (code stolen from my irrPreSettings program
):
preview window display based on height and width from screen resolution dropdown:
preview window maximized when the "Start Maximized" checkbox is checked:
Hmmm...come to think. Maybe the button name "Maximize Active View" isn't such a good name now that the user can choose not to maximize or set a different resolution/screen size.
Oh, yeah. The hot pink for the viewport is the color for view 1. I've made it so that each view has a distinct color. This way you can tell right away which view is shown/running in the preview window.
Also, the preview window runs in its own thread. So, counting the two views, we can have a maximum of 4 threads running at the same time.
Update:
Bummer. Well, after some hard thinking and seeing how the current code is growing quite large, lug has decided it's too much for lug to support multiple view ports.
At least for now, lug will focus on one view port and try to get everything that lug wants into the program first. Then maybe go back and add in additional view ports.
This is due to many complicated gui coding challenges that lug doesn't have the technical skills to overcome at this point in time. But when lug acquires such skills, they will be re-visited in future update of the program.
So, lug is just code cleaning right now and getting all the basic functionality operational and tested. This task is growing bigger by the hour.
-
- Posts: 616
- Joined: Wed Nov 01, 2006 6:26 pm
- Location: Cairo,Egypt
- Contact: