digitalmars.D.announce - Hybrid GUI beta release - an IM+RM GUI toolkit for games, multimedia,
- Tom S (19/19) May 20 2008 Here's a beta release of Hybrid - a pretty fresh approach to GUI
- Leonid S. Krashenko (4/27) May 21 2008 I've launched the box.exe example, and it works well, but when I try to
- Leonid S. Krashenko (2/30) May 21 2008 and probably with other examples.
- Tom S (7/13) May 21 2008 Sorry for that, it's an issue with some windows systems, afaik. It will
- Lutger (3/3) May 21 2008 Looks beautiful! Compliments on the website too, damn nice documentation...
- Mike Parker (2/25) May 21 2008 Good work Tom. I've been waiting for this.
- Koroskin Denis (10/25) May 21 2008 Looks great! Is there any way to browse your source apart from
- Tom S (11/19) May 21 2008 You can currently only clone the repo in read-only mode, e.g. by
- janderson (3/26) May 21 2008 Wow that looks really kick ass. Does it support multi-line textboxes?
- Tom S (10/11) May 21 2008 Thanks! No multi-line textboxes yet, sorry. But I'm planning to
- Sebastian Beschke (14/16) May 21 2008 -----BEGIN PGP SIGNED MESSAGE-----
- janderson (4/14) May 21 2008 Yes scintilla in openGL would be awesome and would be closer to what I
- Mike (9/9) May 21 2008 On Wed, 21 May 2008 06:34:26 +0200, Tom S
- Tom S (28/32) May 21 2008 Well, normal GUIs idle most of the time, only doing a redraw and a state...
- Mike (12/12) May 21 2008 On Wed, 21 May 2008 22:33:33 +0200, Tom S
- Koroskin Denis (3/31) May 22 2008 How about enabling vsync? This should reduce CPU usage signaficantly.
- Lutger (4/4) May 22 2008 I'm getting a black window, unfortunatly. Anything I should look for to
- Tom S (12/17) May 22 2008 Are you getting the same black window with the demos from
- Lutger (14/29) May 27 2008 Hi, the demos give the same result. xf.dog.testThreads.d also a black
- Lukas Pinkowski (10/24) May 27 2008 I've got the same problems; though, I found by accident, that in the
- e-t172 (2/15) May 27 2008 Indeed, it's a BCD bug: http://www.dsource.org/projects/bcd/ticket/4
- Tom S (7/8) May 27 2008 "Opened 1 year ago" ? Ouch... Looks like it will require manual fixing.
- Tom S (19/42) May 27 2008 Thanks for checking it out!
- Tom S (8/8) May 28 2008 The missing 'extern(C)' has been added to the generated bindings, xf86vm...
- Lukas Pinkowski (35/39) May 28 2008 Hi,
- Tom S (10/11) May 28 2008 Thanks a lot for the comprehensive report :)
- Lukas Pinkowski (7/15) May 28 2008 I've just found out that the problem lies with reshaping the window. Aft...
- Tom S (7/13) May 28 2008 I think you must be running for the top tester award... It definitely
- Lukas Pinkowski (6/16) May 31 2008 Once again; I found out, that it's the wrapped OpenGL-calls that don't w...
- Clay Smith (3/26) May 22 2008 Awesome! Look very professional.
- Clay Smith (6/33) May 22 2008 Scintilla support would be great as well, because besides being my
- Tom S (10/17) May 22 2008 Thanks! I'm actually focusing on Deadlock and its in-game scripting, as
- Chad J (23/46) Jun 06 2008 When I execute one of the examples, it goes like this:
Here's a beta release of Hybrid - a pretty fresh approach to GUI toolkits which combines Immediate Mode GUIs with Retained Mode GUIs. // Tango-only at the moment. Quoting the wiki, "Hybrid is a Graphical User Interface toolkit for the D programming language. It is primarily aimed at games (for menus, in-game options, debug consoles, HUDs), their tools and other sorts of multimedia applications, where the GUI can change dynamically." More info at http://hybrid.team0xf.com/ As for info not mentioned on the wiki, I'm planning to use Hybrid in Deadlock and its level, animation, shader, etc. editors. In fact, the prototype for Hybrid was used in Deadlock before and has worked very well. This release is a complete redesign and rewrite. Hybrid is licensed under the MIT license. PS. Make sure to see the immediate-mode API to Menu creation. Lazy evaluation and typesafe variadics do wonders there :) -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
May 20 2008
Tom S пишет:Here's a beta release of Hybrid - a pretty fresh approach to GUI toolkits which combines Immediate Mode GUIs with Retained Mode GUIs. // Tango-only at the moment. Quoting the wiki, "Hybrid is a Graphical User Interface toolkit for the D programming language. It is primarily aimed at games (for menus, in-game options, debug consoles, HUDs), their tools and other sorts of multimedia applications, where the GUI can change dynamically." More info at http://hybrid.team0xf.com/ As for info not mentioned on the wiki, I'm planning to use Hybrid in Deadlock and its level, animation, shader, etc. editors. In fact, the prototype for Hybrid was used in Deadlock before and has worked very well. This release is a complete redesign and rewrite. Hybrid is licensed under the MIT license. PS. Make sure to see the immediate-mode API to Menu creation. Lazy evaluation and typesafe variadics do wonders there :)I've launched the box.exe example, and it works well, but when I try to close the application it stops responding. The same situation with calc.exe.
May 21 2008
Leonid S. Krashenko wrote:Tom S пишет:and probably with other examples.Here's a beta release of Hybrid - a pretty fresh approach to GUI toolkits which combines Immediate Mode GUIs with Retained Mode GUIs. // Tango-only at the moment. Quoting the wiki, "Hybrid is a Graphical User Interface toolkit for the D programming language. It is primarily aimed at games (for menus, in-game options, debug consoles, HUDs), their tools and other sorts of multimedia applications, where the GUI can change dynamically." More info at http://hybrid.team0xf.com/ As for info not mentioned on the wiki, I'm planning to use Hybrid in Deadlock and its level, animation, shader, etc. editors. In fact, the prototype for Hybrid was used in Deadlock before and has worked very well. This release is a complete redesign and rewrite. Hybrid is licensed under the MIT license. PS. Make sure to see the immediate-mode API to Menu creation. Lazy evaluation and typesafe variadics do wonders there :)I've launched the box.exe example, and it works well, but when I try to close the application it stops responding. The same situation with calc.exe.
May 21 2008
Leonid S. Krashenko wrote:Leonid S. Krashenko wrote:Sorry for that, it's an issue with some windows systems, afaik. It will hopefully get fixed soon. -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenodeI've launched the box.exe example, and it works well, but when I try to close the application it stops responding. The same situation with calc.exe.and probably with other examples.
May 21 2008
Looks beautiful! Compliments on the website too, damn nice documentation. Exciting to see someone create an fresh approach to gui and make use of the strengths of D.
May 21 2008
GTom S wrote:Here's a beta release of Hybrid - a pretty fresh approach to GUI toolkits which combines Immediate Mode GUIs with Retained Mode GUIs. // Tango-only at the moment. Quoting the wiki, "Hybrid is a Graphical User Interface toolkit for the D programming language. It is primarily aimed at games (for menus, in-game options, debug consoles, HUDs), their tools and other sorts of multimedia applications, where the GUI can change dynamically." More info at http://hybrid.team0xf.com/ As for info not mentioned on the wiki, I'm planning to use Hybrid in Deadlock and its level, animation, shader, etc. editors. In fact, the prototype for Hybrid was used in Deadlock before and has worked very well. This release is a complete redesign and rewrite. Hybrid is licensed under the MIT license. PS. Make sure to see the immediate-mode API to Menu creation. Lazy evaluation and typesafe variadics do wonders there :)Good work Tom. I've been waiting for this.
May 21 2008
On Wed, 21 May 2008 08:34:26 +0400, Tom S <h3r3tic remove.mat.uni.torun.pl> wrote:Here's a beta release of Hybrid - a pretty fresh approach to GUI toolkits which combines Immediate Mode GUIs with Retained Mode GUIs. // Tango-only at the moment. Quoting the wiki, "Hybrid is a Graphical User Interface toolkit for the D programming language. It is primarily aimed at games (for menus, in-game options, debug consoles, HUDs), their tools and other sorts of multimedia applications, where the GUI can change dynamically." More info at http://hybrid.team0xf.com/ As for info not mentioned on the wiki, I'm planning to use Hybrid in Deadlock and its level, animation, shader, etc. editors. In fact, the prototype for Hybrid was used in Deadlock before and has worked very well. This release is a complete redesign and rewrite. Hybrid is licensed under the MIT license. PS. Make sure to see the immediate-mode API to Menu creation. Lazy evaluation and typesafe variadics do wonders there :)Looks great! Is there any way to browse your source apart from team0xf.com:8080? I was trying to sync the source using hg clone, but failed to do so. Following the guide at http://wiki.team0xf.com/index.php?n=Tools.MercurialWindows gave no result. Is it intended for developers only? It keeps asking for a password and I found no way to register anywere.
May 21 2008
Thanks for the feedback, folks! Koroskin Denis wrote:Looks great! Is there any way to browse your source apart from team0xf.com:8080? I was trying to sync the source using hg clone, but failed to do so. Following the guide at http://wiki.team0xf.com/index.php?n=Tools.MercurialWindows gave no result. Is it intended for developers only? It keeps asking for a password and I found no way to register anywere.You can currently only clone the repo in read-only mode, e.g. by following the steps here: http://hybrid.team0xf.com/wiki/Main/GettingStarted The 'Tools.MercurialWindows' on the team0xf wiki guide assumes that you've got a way to upload your public key to our server - which is restricted to, um, team0xf ;) -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
May 21 2008
Tom S wrote:Here's a beta release of Hybrid - a pretty fresh approach to GUI toolkits which combines Immediate Mode GUIs with Retained Mode GUIs. // Tango-only at the moment. Quoting the wiki, "Hybrid is a Graphical User Interface toolkit for the D programming language. It is primarily aimed at games (for menus, in-game options, debug consoles, HUDs), their tools and other sorts of multimedia applications, where the GUI can change dynamically." More info at http://hybrid.team0xf.com/ As for info not mentioned on the wiki, I'm planning to use Hybrid in Deadlock and its level, animation, shader, etc. editors. In fact, the prototype for Hybrid was used in Deadlock before and has worked very well. This release is a complete redesign and rewrite. Hybrid is licensed under the MIT license. PS. Make sure to see the immediate-mode API to Menu creation. Lazy evaluation and typesafe variadics do wonders there :)Wow that looks really kick ass. Does it support multi-line textboxes? -Joel
May 21 2008
janderson wrote:Wow that looks really kick ass. Does it support multi-line textboxes?Thanks! No multi-line textboxes yet, sorry. But I'm planning to investigate about writing a scintilla backend. I'd really like to edit scripts within a working game/engine. Or perhaps there's something more suitable for the code/text editing component? If you have any suggestions, I'd be glad to hear them :) -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
May 21 2008
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Tom S schrieb:Thanks! No multi-line textboxes yet, sorry. But I'm planning to investigate about writing a scintilla backend.Yes yes yes! That would be so awesome. The demos really look good, I'm going to investigate how I can use Hybrid in my project. Sebastian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFINFuUKb/1n5A2TAMRAlTSAJ9mr6Jnqj5P8T2SUDshyk50NEdxKgCeLHjn gYjMZZBTNx+bQgTIPnoMSW4= =EfAh -----END PGP SIGNATURE-----
May 21 2008
Tom S wrote:janderson wrote:Yes scintilla in openGL would be awesome and would be closer to what I need then simply a multiline textbox. -JoelWow that looks really kick ass. Does it support multi-line textboxes?Thanks! No multi-line textboxes yet, sorry. But I'm planning to investigate about writing a scintilla backend. I'd really like to edit scripts within a working game/engine. Or perhaps there's something more suitable for the code/text editing component? If you have any suggestions, I'd be glad to hear them :)
May 21 2008
On Wed, 21 May 2008 06:34:26 +0200, Tom S <h3r3tic remove.mat.uni.torun.pl> wrote: Looks great and very impressive. However, calc.exe skyrocketed to 25% CPU here (this is a fairly decent gaming machine, it even runs Crysis nicely), and half a core just for such a little thing seems a bit surprising. What values are usually expected? -Mike -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
May 21 2008
Mike wrote:Looks great and very impressive. However, calc.exe skyrocketed to 25% CPU here (this is a fairly decent gaming machine, it even runs Crysis nicely), and half a core just for such a little thing seems a bit surprising. What values are usually expected?Well, normal GUIs idle most of the time, only doing a redraw and a state update when it's more or less necessary. Hybrid draws and updates its stuff in a loop, thus without any sleeping or yielding, it will use one core completely. When such a GUI is used within a game or some application which has to redraw its display continuously, this is not an issue. Main page of the wiki says: "Hybrid does not currently support any form of lazy updating or rendering, thus may not be suited for applications that don't redraw and update their state every frame." ... and the Overview section states it again: "The most serious drawback of Hybrid is that it's tricky to do lazy state updates with it. In order for it to have an immediate-mode API, some code has to be executed once per frame (once per mouse move / keyboard press in the best case). So far, lazy updating remains a distant option and not a top priority, but to some extent, it should be possible in the long run." If your app has a mostly static GUI and should not use the CPU, Hybrid may not be a good option for you. But even adding a simple Thread.yield() at the end of the loop will make it go nicely with other apps. AFAIK, most desktop operating systems increase the thread priority of the top-most window's process, so switching to another app that needs the CPU power will get it the CPU cycles. Decreasing the thread priority is also an option. Hope this makes it a bit clearer -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
May 21 2008
On Wed, 21 May 2008 22:33:33 +0200, Tom S <h3r3tic remove.mat.uni.torun.pl> wrote: Ok, I downloaded the demos and was too lazy to read anything. (I had an Excel introducation seminar today and a very demanding group ... that's enough for one day :) ) I hope I'll find some time to try it out on the weekend. I'm building an audio app and it could be just the thing to replace my current Cairo-based GUI-ish thing (which isn't even remotely near half done due to time constraints and stupid design mistakes). -Mike -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
May 21 2008
On Thu, 22 May 2008 00:33:33 +0400, Tom S <h3r3tic remove.mat.uni.torun.pl> wrote:Mike wrote:How about enabling vsync? This should reduce CPU usage signaficantly.Looks great and very impressive. However, calc.exe skyrocketed to 25% CPU here (this is a fairly decent gaming machine, it even runs Crysis nicely), and half a core just for such a little thing seems a bit surprising. What values are usually expected?Well, normal GUIs idle most of the time, only doing a redraw and a state update when it's more or less necessary. Hybrid draws and updates its stuff in a loop, thus without any sleeping or yielding, it will use one core completely. When such a GUI is used within a game or some application which has to redraw its display continuously, this is not an issue. Main page of the wiki says: "Hybrid does not currently support any form of lazy updating or rendering, thus may not be suited for applications that don't redraw and update their state every frame." ... and the Overview section states it again: "The most serious drawback of Hybrid is that it's tricky to do lazy state updates with it. In order for it to have an immediate-mode API, some code has to be executed once per frame (once per mouse move / keyboard press in the best case). So far, lazy updating remains a distant option and not a top priority, but to some extent, it should be possible in the long run." If your app has a mostly static GUI and should not use the CPU, Hybrid may not be a good option for you. But even adding a simple Thread.yield() at the end of the loop will make it go nicely with other apps. AFAIK, most desktop operating systems increase the thread priority of the top-most window's process, so switching to another app that needs the CPU power will get it the CPU cycles. Decreasing the thread priority is also an option. Hope this makes it a bit clearer
May 22 2008
I'm getting a black window, unfortunatly. Anything I should look for to debug, setup my env differently, etc.? Thanks. System: mandriva linux 2008.1 running compiz on Geforce 6600GT with nvidia's driver, compiled with dmd 1.030.
May 22 2008
Lutger wrote:I'm getting a black window, unfortunatly. Anything I should look for to debug, setup my env differently, etc.? Thanks. System: mandriva linux 2008.1 running compiz on Geforce 6600GT with nvidia's driver, compiled with dmd 1.030.Are you getting the same black window with the demos from http://hybrid.team0xf.com/Demos.7z ? I'm not sure if anyone has tested Hybrid/Dog with compiz yet. If e.g. glxgears works for you, I could try comparing its (GL)X code with Hybrid's bit by bit, and perhaps something will stand out. Other than that... you might check if any of the Dog demos work (xf.dog.test / xf.dog.testThreads) and don't yield black windows. -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
May 22 2008
Tom S wrote:Lutger wrote:Hi, the demos give the same result. xf.dog.testThreads.d also a black window. With xf.dog.test.d I get this assertion: "tango.core.Exception.AssertException xf.dog.ext.ARB_shader_objects(369): Assertion failure" (this is gl.GetString returning null on querying the extension strings) glxgears works fine. I've ported this example program to D: http://www.opengl.org/wiki/index.php/Programming_OpenGL_in_Linux:_GLX_and_Xlib This also works ok with derelict and the x11 bindings from gld and might be somewhat simpler than glxgears. I get the same result btw. when compiz is not enabled, it could very well be something in my setup, perhaps it's linking to mesa or something like that. I still haven't figured out how all these opengl libs + glx work under linux, it's all quite messy imho.I'm getting a black window, unfortunatly. Anything I should look for to debug, setup my env differently, etc.? Thanks. System: mandriva linux 2008.1 running compiz on Geforce 6600GT with nvidia's driver, compiled with dmd 1.030.Are you getting the same black window with the demos from http://hybrid.team0xf.com/Demos.7z ? I'm not sure if anyone has tested Hybrid/Dog with compiz yet. If e.g. glxgears works for you, I could try comparing its (GL)X code with Hybrid's bit by bit, and perhaps something will stand out. Other than that... you might check if any of the Dog demos work (xf.dog.test / xf.dog.testThreads) and don't yield black windows.
May 27 2008
Tom S wrote:Lutger wrote:I've got the same problems; though, I found by accident, that in the platform related libraries like glx.d and Xlib.d the function pointer aliases have D linkage: alias void function(void *, char *, int, int, char * *) _BCD_func__849; There is no extern(C): at the start of the files. It should of course read: alias extern(C) void function(void *, char *, int, int, char * *) _BCD_func__849; I can't test it right here, since I've got no xf86vm (why is this needed at all?)I'm getting a black window, unfortunatly. Anything I should look for to debug, setup my env differently, etc.? Thanks. System: mandriva linux 2008.1 running compiz on Geforce 6600GT with nvidia's driver, compiled with dmd 1.030.Are you getting the same black window with the demos from http://hybrid.team0xf.com/Demos.7z ? I'm not sure if anyone has tested Hybrid/Dog with compiz yet. If e.g. glxgears works for you, I could try comparing its (GL)X code with Hybrid's bit by bit, and perhaps something will stand out. Other than that... you might check if any of the Dog demos work (xf.dog.test / xf.dog.testThreads) and don't yield black windows.
May 27 2008
Lukas Pinkowski a écrit :I've got the same problems; though, I found by accident, that in the platform related libraries like glx.d and Xlib.d the function pointer aliases have D linkage: alias void function(void *, char *, int, int, char * *) _BCD_func__849; There is no extern(C): at the start of the files. It should of course read: alias extern(C) void function(void *, char *, int, int, char * *) _BCD_func__849; I can't test it right here, since I've got no xf86vm (why is this needed at all?)Indeed, it's a BCD bug: http://www.dsource.org/projects/bcd/ticket/4
May 27 2008
e-t172 wrote:Indeed, it's a BCD bug: http://www.dsource.org/projects/bcd/ticket/4"Opened 1 year ago" ? Ouch... Looks like it will require manual fixing. Thanks for bringing this up! -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
May 27 2008
Lutget wrote:Hi, the demos give the same result. xf.dog.testThreads.d also a black window. With xf.dog.test.d I get this assertion: "tango.core.Exception.AssertException xf.dog.ext.ARB_shader_objects(369): Assertion failure" (this is gl.GetString returning null on querying the extension strings)Thanks for checking it out! A relatively sane reason for this behavior is that the GL context is not created, somehow. glGetString could theoretically return null if it's called within glBegin .. glEnd, but this is not the case.glxgears works fine. I've ported this example program to D: http://www.opengl.org/wiki/index.php/Programming_OpenGL_in_Linux:_GLX_and_XlibThanks! I'll look at it.I get the same result btw. when compiz is not enabled, it could very well be something in my setup, perhaps it's linking to mesa or something like that. I still haven't figured out how all these opengl libs + glx work under linux, it's all quite messy imho.Well, it should work well with Mesa. At least it works for me, in the Debian Etch I've got set up in VMWare Player. Lukas Pinkowski wrote:I've got the same problems; though, I found by accident, that in the platform related libraries like glx.d and Xlib.d the function pointer aliases have D linkage: alias void function(void *, char *, int, int, char * *) _BCD_func__849; There is no extern(C): at the start of the files. It should of course read: alias extern(C) void function(void *, char *, int, int, char * *) _BCD_func__849;:o Hrm, this doesn't look too good, I'll pass the info to Ralith / Benjamin who's created the GLX backend. Such an error should cause it to crash on his GDC under FreeBSD and my VM'd debian... Weird. Thanks a lot for testing and finding it out :)I can't test it right here, since I've got no xf86vm (why is this needed at all?)It appears that it's used for changing display modes for fullscreen support, tho I'm sure Ralith would be able to give you more info :} -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
May 27 2008
The missing 'extern(C)' has been added to the generated bindings, xf86vm has been replaced by randr. The Demos.7z package has been updated as well. So far, it's been tested on Ralith's FreeBSD and my Debian Etch in a VM. -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
May 28 2008
Tom S wrote:The missing 'extern(C)' has been added to the generated bindings, xf86vm has been replaced by randr. The Demos.7z package has been updated as well. So far, it's been tested on Ralith's FreeBSD and my Debian Etch in a VM.Hi, it works under Ubuntu Gutsy (which my university is using), but it doesn't work under openSUSE 10.3: This is the output: ... ... Registering widget: FramedTopLevelWindow Registering widget: GLViewport Creating widget: FramedTopLevelWindow object.Exception: Unable to create double-buffered visual X Error: BadWindow (invalid Window parameter) My Graphics Card: OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce 7600 GS/PCI/SSE2/3DNOW! OpenGL version string: 2.1.2 NVIDIA 169.12 The test-program 'runs' when I make the following change to GLX.d (though I get only a black window): int[] attrListDbl = [ GLX_RGBA, GLX_DOUBLEBUFFER, GLX_RED_SIZE, 1, GLX_GREEN_SIZE, 1, GLX_BLUE_SIZE, 1, GLX_DEPTH_SIZE, _depthBits, None]; I also tried RED_SIZE 5, GREEN_SIZE 6, BLUE_SIZE 5, which results in a black window, too. Although, the program seems to react to clicks, just nothing is rendered (tried a different color for glClear). Btw. the test.d in the Dog-package crashes with: tango.core.Exception.AssertException xf.dog.ext.ARB_shader_objects(369): Assertion failure And testThreads shows black windows only. Cheers
May 28 2008
Lukas Pinkowski wrote:(...)Thanks a lot for the comprehensive report :) I'll look into this stuff as soon as I get some univ stuff sorted out, perhaps I'll even get a real Linux setup :P The GLX backend dude will surely get this info as well :> I'm sure that with a bit of hacking it will be able to run (almost) everywhere. -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
May 28 2008
Tom S wrote:Lukas Pinkowski wrote:I've just found out that the problem lies with reshaping the window. After clearing with yellow (glclear(1,1,0,1)) the window indeed was yellow. But after this, the contents of the window were not changed. Even worse, when the window was resized, it became a black window. Hope this helps with finding the problem! Cheers(...)Thanks a lot for the comprehensive report :) I'll look into this stuff as soon as I get some univ stuff sorted out, perhaps I'll even get a real Linux setup :P The GLX backend dude will surely get this info as well :> I'm sure that with a bit of hacking it will be able to run (almost) everywhere.
May 28 2008
Lukas Pinkowski wrote:I've just found out that the problem lies with reshaping the window. After clearing with yellow (glclear(1,1,0,1)) the window indeed was yellow. But after this, the contents of the window were not changed. Even worse, when the window was resized, it became a black window. Hope this helps with finding the problem!I think you must be running for the top tester award... It definitely will help :D Thanks again! -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenode
May 28 2008
Tom S wrote:Lukas Pinkowski wrote:Once again; I found out, that it's the wrapped OpenGL-calls that don't work. It seems that somehow the loadFuncFromLib doesn't work correctly. I assign OpenGL-functions like this: fp_glClear = &glClear; Then the wrapped-calls succeed. I may check this further.I've just found out that the problem lies with reshaping the window. After clearing with yellow (glclear(1,1,0,1)) the window indeed was yellow. But after this, the contents of the window were not changed. Even worse, when the window was resized, it became a black window. Hope this helps with finding the problem!I think you must be running for the top tester award... It definitely will help :D Thanks again!
May 31 2008
Tom S wrote:Here's a beta release of Hybrid - a pretty fresh approach to GUI toolkits which combines Immediate Mode GUIs with Retained Mode GUIs. // Tango-only at the moment. Quoting the wiki, "Hybrid is a Graphical User Interface toolkit for the D programming language. It is primarily aimed at games (for menus, in-game options, debug consoles, HUDs), their tools and other sorts of multimedia applications, where the GUI can change dynamically." More info at http://hybrid.team0xf.com/ As for info not mentioned on the wiki, I'm planning to use Hybrid in Deadlock and its level, animation, shader, etc. editors. In fact, the prototype for Hybrid was used in Deadlock before and has worked very well. This release is a complete redesign and rewrite. Hybrid is licensed under the MIT license. PS. Make sure to see the immediate-mode API to Menu creation. Lazy evaluation and typesafe variadics do wonders there :)Awesome! Look very professional. ~ Clay
May 22 2008
Clay Smith wrote:Tom S wrote:Scintilla support would be great as well, because besides being my favorite editor, it would be the one component I would need to edit AI scripts in WarBots in-game, if I ever get around to that project. Were you thinking of using in-game Scintilla support for the Fragbots? ~ ClayHere's a beta release of Hybrid - a pretty fresh approach to GUI toolkits which combines Immediate Mode GUIs with Retained Mode GUIs. // Tango-only at the moment. Quoting the wiki, "Hybrid is a Graphical User Interface toolkit for the D programming language. It is primarily aimed at games (for menus, in-game options, debug consoles, HUDs), their tools and other sorts of multimedia applications, where the GUI can change dynamically." More info at http://hybrid.team0xf.com/ As for info not mentioned on the wiki, I'm planning to use Hybrid in Deadlock and its level, animation, shader, etc. editors. In fact, the prototype for Hybrid was used in Deadlock before and has worked very well. This release is a complete redesign and rewrite. Hybrid is licensed under the MIT license. PS. Make sure to see the immediate-mode API to Menu creation. Lazy evaluation and typesafe variadics do wonders there :)Awesome! Look very professional. ~ Clay
May 22 2008
Clay Smith wrote:Thanks! I'm actually focusing on Deadlock and its in-game scripting, as well as tweaking shaders and perhaps other code (which might be recompiled and loaded dynamically) from within a game/editor. But in the longer run, when I finally get around to reanimating Fragbots, that would be an option as well. -- Tomasz Stachowiak http://h3.team0xf.com/ h3/h3r3tic on #D freenodeAwesome! Look very professional. ~ ClayScintilla support would be great as well, because besides being my favorite editor, it would be the one component I would need to edit AI scripts in WarBots in-game, if I ever get around to that project. Were you thinking of using in-game Scintilla support for the Fragbots?
May 22 2008
Tom S wrote:Here's a beta release of Hybrid - a pretty fresh approach to GUI toolkits which combines Immediate Mode GUIs with Retained Mode GUIs. // Tango-only at the moment. Quoting the wiki, "Hybrid is a Graphical User Interface toolkit for the D programming language. It is primarily aimed at games (for menus, in-game options, debug consoles, HUDs), their tools and other sorts of multimedia applications, where the GUI can change dynamically." More info at http://hybrid.team0xf.com/ As for info not mentioned on the wiki, I'm planning to use Hybrid in Deadlock and its level, animation, shader, etc. editors. In fact, the prototype for Hybrid was used in Deadlock before and has worked very well. This release is a complete redesign and rewrite. Hybrid is licensed under the MIT license. PS. Make sure to see the immediate-mode API to Menu creation. Lazy evaluation and typesafe variadics do wonders there :)When I execute one of the examples, it goes like this: ... Registering widget: TopLevelWindow Registering widget: FramedTopLevelWindow Registering widget: GLViewport derelict.util.exception.SharedLibLoadException: Failed to load shared library Failed to load shared library libIL.so This is on Gentoo Linux. I have DevIL installed: $ ls /usr/lib | grep libIL.so libIL.so libIL.so.1 libIL.so.1.0.0 $ I managed to run them in wine, though. Only problem then is that as I drag them around my screen, they start to jitter and shoot off in the direction of the last mouse movement. Other than those technical issues, I must say I like where this is going. MIT license & portability (linux!) & good documentation, ftw. It also looks pretty. Once finals are over I'll have to play with it and see if I enjoy the design as much. I'm excited about it. Thank you for doing this!
Jun 06 2008