User:Mafm
From BRL-CAD
Personal Information
- Name: Manuel A. Fernandez Montecelo
- E-mail/GoogleTalk: manuel.montezelo
- IRC nickname (freenode network): mafm
- SourceForge username: mafm
GSoC (Google Summer of Code) 2008
- Project: OpenGL GUI Framework
- Example for interaction: http://brlcad.org/design/gui/ioe_proto_final.mov , recommended by Sean
- Another example in the form of a real program: wmii (Plan9 window manager) ( http://www.suckless.org/wiki/wmii ), recommended by Sean
Milestones
Milestones include (maybe some of them to be added or removed, to be discussed with the mentors and the community in general):
- Get logging working
- Get console working
- Being able to communicate with the back-end
- Displaying geometries
- Displaying various representations (wireframe, polygonal, etc)
- Rotating and positioning
- Input support (trackball, shift-grips)
- Clean cross-platform build system integration
Log
June 17:
- Preparing and uploading RBGui files (theme, shaders, images, fonts), OGRE config files are to be generated on the fly (they contain paths depending on installation options).
- Getting the current code to compile with CMake in a clean fashion (without hardcoded system, in example). I think that it's a good base and a very important step.
June 16:
- Take wmii (Plan9 window manager) ( http://www.suckless.org/wiki/wmii ) as a guide when designing the console (recommended by Sean)
- Trying to get the project to build with CMake
June 14:
- Creating Logging functionality.
- Starting to look into putting data files in place, creating a proper build system and all that.
June 13:
- Looking into ideas to implement the User Interface.
June 12:
- More work in the Console, getting lines to wrap instead of being cut; and fixing RBGui (with several hours of reasearch involved) so autorepeat does use an initial delay and you can actually write individual characters (instead of 'aaaaaaaa' when you press the key for only 200ms). See the screenshot of the day:
- A bit of work reorganizing code, making Doxygen documentation, removing leaks (even if the objects only are to be removed when the application closes anyway) and the like.
- I wrote to RBGui guys to know if they're interested in patches to support at least my platform (Debian GNU/Linux, amd64 -- but at least Linux and POSIX systems by extension) instead of having to maintain private patches.
- I need ideas and directions about what things to implement (e.g. how to implement console window, if I should use logging from libbu or making my own method, for a start).
June 11:
- Today I continued working in the Console, now at least the history functionality and the way to create and position windows it is basically stable (can be changed easily, but I mean that it's not a hack-ish/example-ish application). Screenshot:
- OIS (the input library) is giving problems with auto-repeat, a problem that already had several years ago: it disables auto-repeat from X, so the rest of the applications in that DISPLAY that capability, and if the application crashes before OIS restores it, you have to reset it by hand. This looks unacceptable to me, but I haven't devised any solution yet.
June 10:
- Mostly working in the Console window & functionality, still quite a lot of work to be finished.
June 9:
- Still working in the example application, but now it looks much better -- documented, code style, reorganizing things, making cursor visible (wasn't there in the POSIX version at least)... Screenshot:
June 8:
- Getting RBGui sample application to work, reading "administrative" information of rt^3 module and in general preparing for submitting the code.
- Commiting first patches, it's basically the example application coming with RBGui.
June 6:
- Patching and recompiling other branches needed of some of the components, RBGui doesn't work with the most recent stable versions of OGRE right away.
- Investigating a bit about other GUIs, updates on the considered GUIs, etc; with no interesting results: things are basically the same as when making the application.
June 5:
- Compiling OGRE and OIS (input system, needed for most applications using OGRE), since latest stable versions are not available in Debian. No big hassles.
- Compiling Mocha, a library needed by RBGui with misc utilities (3D math and the like) -- found a source RPM with minor patches for GNU/Linux systems, again no big problems.
- Compiling RBGui... this one is not so easy. Some CMake config files have to be modified, at least for my 64 bit system; and it's not in sync with OGRE (it seems to use some special function) so it doesn't compile successfully, yet.
- Thought: I'm starting to be a bit worried about RBGui... by the time of the application they had very recent releases adding support for [at least] GNU/Linux systems, apart from Windows. Now, even if there seems to be people porting it to MacOS X too, the developers seem are mostly silent and inactive. In general, it seems that this complicates the ease of installation for BRL-CAD users, and thus RBGui seems less convenient now than a while ago...
June 4:
- Misc. preparations: compiling up-to-date BRL-CAD, re-enabling subscriptions to mailing lists, and checking the tools to use (OGRE, RBGui). Not a very productive day, but not so bad to be the 1st day after weeks of overworking and travelling... and at least it's a start!
June 3:
- Back to Lisbon, at last. Hopefully tomorrow I'll start coding!
May 26:
- SoC program starts :)
- Due to some personal problems and exam dates (as already noted when submitting the application) I couldn't start coding or submitting patches to get commit access, note sure if I'll be able to start before June 5th or so.