| 00:03.34 | *** join/#brlcad dtidrow (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) | |
| 00:48.48 | Ralith | I don't suppose the SoC rules allow third parties to aid development? |
| 00:48.55 | Ralith | (not counting the mentor) |
| 00:58.36 | Ralith | Can one even get ahold of the code from the current SoC projects? |
| 01:00.38 | Ralith | Also, just how much of a task might a realtime shaded view be? |
| 01:12.28 | brlcad | Ralith: sure they do |
| 01:12.52 | brlcad | collaboration and integration is actually highly encouraged |
| 01:13.23 | brlcad | the student just can't use that as a crutch to not do work and the collaboration can't negatively impact their ability to do work |
| 01:15.24 | Ralith | oo! |
| 01:15.34 | Ralith | in that case, where can I get at the new GUI code? |
| 01:16.06 | brlcad | the main point of gsoc is actually to (hopefully) make them new (long-term) developers, build up our dev team .. not just for them to work on a project |
| 01:16.32 | brlcad | the new gui code is sitting in the rt^3 branch |
| 01:16.35 | brlcad | ~cadsvn |
| 01:16.36 | ibot | To obtain BRL-CAD from Subversion: svn checkout https://brlcad.svn.sourceforge.net/svnroot/brlcad/brlcad/trunk brlcad |
| 01:17.15 | Ralith | woo |
| 01:17.17 | Ralith | thanks |
| 01:17.18 | brlcad | replace brlcad/brlcad with brlcad/rt^3 (and brlcad with rt^3 |
| 01:17.33 | Ralith | is there summary of the branches anywhere? |
| 01:17.53 | brlcad | yeah, it's asking one of the devs in here or on the mailing list ;) |
| 01:18.01 | Ralith | consider yourself asked |
| 01:19.13 | brlcad | there are 5 top level "modules" that came over from our cvs repo, seen at http://brlcad.svn.sourceforge.net/viewvc/brlcad/ |
| 01:19.49 | brlcad | brlcad is the main codebase, core libraries, the big hot dog kahuna mamma million lines of cadness |
| 01:20.26 | Ralith | oh, so it's not actual code branches, just organization? |
| 01:20.41 | brlcad | jbrlcad is/was a test project by one of the core devs that implemented a (very very small) portion of our "librt" raytrace library in pure java |
| 01:20.51 | Ralith | heh |
| 01:21.19 | brlcad | there are also branches, potentially, for each of these modules -- though afaik, 'brlcad' is the only one that has branches and STABLE is the only one of interest atm |
| 01:21.21 | Ralith | a raytracing library in java; you don't hear about that every day |
| 01:21.44 | brlcad | it was actually a rather enlightening exercise |
| 01:21.48 | Ralith | oh? |
| 01:22.34 | *** join/#brlcad thing0 (n=ric@124-169-154-132.dyn.iinet.net.au) | |
| 01:22.41 | brlcad | not so much the java part but how we can go about restructuring our huge librt library into an object-oriented framework (hint: it surprisingly converts over very neatly) |
| 01:23.11 | brlcad | librt is at brl-cad's core, it provides the geometric representation, data i/o, primitives, boolean operations, ray-trace evaluation, etc |
| 01:23.42 | Ralith | is there much to be gained from such a restructure, though? |
| 01:24.36 | brlcad | rtcmp is another pet project for comparing librt ray-trace results against our libtie high-performance "triangle intersection" library (as well as another closed source lib) |
| 01:26.16 | brlcad | my bad, misspoke we wouldn't want to replace librt with such a restructuring -- s/restructuring our huge librt/structuring a new object-oriented API on top of our librt/ |
| 01:27.13 | brlcad | there is a pretty strong request to also have an oo c++ api in addition to and/or on top of our c libs |
| 01:27.32 | Ralith | ahh. |
| 01:27.50 | brlcad | continuing, the 'web' module is a stubbed (mostly empty) placeholder for revision controlling the website |
| 01:27.52 | Ralith | Isn't that a pretty simple (if lengthy) task? |
| 01:28.11 | brlcad | very lengthy |
| 01:28.23 | brlcad | mostly simple, there are some complex things to sort out |
| 01:28.41 | brlcad | especially how to best leverage our c libs, don't want to rewrite |
| 01:30.41 | brlcad | that leaves the last 'rt^3' module whose original purpose isn't so important, but has become a place to put the new gui and oo geometry engine infrastructure |
| 01:30.44 | brlcad | (don't want to mix C++ in with the brl-cad's C sources any more than we need to) |
| 01:31.30 | brlcad | plus we (directly) manage all external dependencies and the front-end gui has a hell of a lot of dependencies that have nothing to do with the rest of brl-cad |
| 01:31.42 | Ralith | yeah, I noticed that |
| 01:32.10 | Ralith | it seems kind of strange; one doesn't need all that much for such a purpose-specific app. |
| 01:33.03 | Ralith | Is there an existing wiki page buried somewhere that would be good for this info, or shall I start a new one? |
| 01:43.36 | brlcad | there are some pages on the wiki that relate to it |
| 01:44.30 | brlcad | http://brlcad.org/wiki/OpenGL_GUI_Framework and http://brlcad.org/wiki/User:mafm for starters |
| 01:45.04 | brlcad | otherwise there's not a lot up yet |
| 01:46.23 | Ralith | I was referring to the SVN branch info, actually |
| 01:55.47 | brlcad | oooh |
| 01:55.52 | brlcad | sure, go for it if you like |
| 01:56.36 | brlcad | hugs the wiki and hugs MinuteElectron |
| 02:00.42 | starseeker | Ralith: Actually, you'd be surprised how much a full featured GUI needs |
| 02:01.26 | brlcad | starseeker: that's pretty freaky relying on snprintf(null, 0) like that .. :) might want to pass a valid non-zero-length buffer just in case |
| 02:01.27 | starseeker | at least for something like CAD |
| 02:02.11 | starseeker | brlcad: sure, no problem - is that actually the "right way" to do it? |
| 02:02.25 | starseeker | the snprintf trick works, but eeek |
| 02:02.30 | brlcad | it's certainly "a" way |
| 02:02.38 | brlcad | and at least one supported by c99, dunno about c89 |
| 02:02.46 | starseeker | hmm. |
| 02:03.10 | starseeker | was looking for a "right" way, but will take working... |
| 02:03.45 | brlcad | curious, what doyou need dynamic size for? |
| 02:04.10 | brlcad | usually taboo and potential security issue to have non-const format specifiers |
| 02:05.06 | starseeker | strings with different numbers of digits - prim-0001.s up to prim-1000.s, prim-01.s to prim-10.s, etc |
| 02:05.35 | starseeker | %04d works for the first, %02d for the second |
| 02:06.16 | brlcad | hmm |
| 02:06.17 | starseeker | but if I don't specify the number of zeros needed up front, I get stuff like prim-1.s to prim-10.s |
| 02:06.22 | starseeker | bad |
| 02:06.29 | starseeker | doesn't list nicely |
| 02:06.34 | brlcad | sure |
| 02:07.05 | starseeker | I have a little test routine working using the snprintf trick, which could eventually get put into the get_name logic we discussed |
| 02:07.34 | brlcad | and ideally preserves the original padding, or automatically pads up to the 'n' specified (for cloning) that fits whatever increment |
| 02:07.35 | starseeker | I figured non-const was OK since it's defined in the routine itself based on the input params... |
| 02:07.44 | starseeker | exactly |
| 02:07.51 | brlcad | except the input params are user-provided |
| 02:07.58 | starseeker | right |
| 02:08.06 | starseeker | whoops, gotta run - biab |
| 02:08.08 | brlcad | means it's exactly the sort of case that would need to be extra-checked ;) |
| 02:09.08 | Ralith | starseeker: well, I've seen all sorts of GL-using programs do it *without* ogre |
| 02:09.22 | Ralith | and I have the strong (perhaps incorrect?) perception that ogre is about as heavy as they come |
| 02:09.54 | pacman87 | starseeker: i just remembered you could also use log|x| to find the number of digits |
| 02:09.58 | brlcad | i'd say that's not entirely correct .. ogre's one of the smallest "engines" out there |
| 02:10.17 | brlcad | especially given they only focus on the rendering |
| 02:10.46 | brlcad | iirc, osg was a fair bit bigger, cs is definitely bigger |
| 02:11.26 | Ralith | aren't these all designed for use with things like games? |
| 02:11.36 | brlcad | not at all |
| 02:11.44 | Ralith | I thought the requirements here were far simpler than what those libraries support. |
| 02:12.00 | brlcad | "graphics" applications for those three |
| 02:13.14 | Ralith | well, so long as it works, I suppose. |
| 02:13.23 | Ralith | nothing wrong with a nice, abstract interface |
| 02:13.27 | brlcad | the main reasons for ogre (or any engine) have been to provide proper scenegraph management, automatic LoD, automatic rendering styles, and cross-platform acceleration support |
| 02:13.50 | Ralith | rendering styles? |
| 02:14.29 | pacman87 | digits = floor( log10(number) ) + 1; |
| 02:14.47 | brlcad | home-grown usually has "no" scenegraph management beyond a simple "here display all this stuff" on/off, which is hell for exceptionally large models |
| 02:15.08 | Ralith | that makes sense, given the complexity of things done with brl-acd |
| 02:15.10 | Ralith | cad* |
| 02:15.21 | Ralith | pacman87: neat |
| 02:15.41 | brlcad | rendering styles like non-hidden wireframe, fully-shaded displays, cell-shaded, flat-shaded, hidden wireframe, etc |
| 02:16.22 | pacman87 | Ralith: thanks, my older brother told me about that trick a while ago |
| 02:16.23 | Ralith | so the new GUI's going to include a proper shaded display? :D |
| 02:17.29 | poolio | WOOHOO. NMG -> brep works for all arbs :D |
| 02:17.30 | brlcad | Ralith: yes, that is one of the primary goals |
| 02:17.40 | brlcad | poolio: woot! |
| 02:17.54 | pacman87 | poolio: congrats |
| 02:17.54 | poolio | pacman87: so yes, algorithm did work but it's awfully inefficient |
| 02:18.01 | pacman87 | which one? |
| 02:18.04 | poolio | I probably have ~2 hours worth of code cleanup/etc though |
| 02:18.14 | Ralith | brlcad: awesome! |
| 02:18.37 | brlcad | Ralith: though the main reason mged doesn't do shaded displays has much more to do with geometric representation -- unevaluated implicit surfaces with boolean operations have no intrinsic polygonal representation to send to opengl, it has to be evaluated |
| 02:19.36 | brlcad | to do proper shaded displays of arbitrary geometry requires what poolio is working on right now (unevaluated implicit primitives -> spline surface or polygonal boundary representation primitives) |
| 02:20.06 | brlcad | then CSG evaluation of brep on brep surfaces, then tessellation of breps |
| 02:20.16 | brlcad | *then* we have fully shaded displays of ANY geometry |
| 02:20.20 | poolio | pacman87: The project onto the arbitrary axes, calculate min u/v on that plane -> 3-space |
| 02:21.04 | poolio | It's also nice in that if you have a rotate arb with a rectangular face the surface w/out trimming curves matches up....although that's just nice for staring at /debugging brep output |
| 02:21.14 | brlcad | poolio: that's where coming in to talk with Ed would certainly help, he's great at finding ways to optimize/simplify an algorithm |
| 02:22.14 | brlcad | though I forgot to mention last week that there was something cool you could have gone to today .. :/ |
| 02:22.43 | brlcad | drinks a mt dew for dinner |
| 02:22.44 | poolio | aww man :( was it the tour? |
| 02:23.36 | poolio | brlcad: So do you think it's more important to continue and fully support all types of NMGs (multi-shell/region, inner wire loops, etc...) or supporting other primitives? |
| 02:26.52 | brlcad | poolio: yeah :( |
| 02:27.03 | brlcad | ordnance museum |
| 02:31.05 | brlcad | poolio: if you want to try out other primitives, go for it -- maybe add a section to the top-level TODO or to a doc in src/librt/primitives with details on where you left off at, what's working, and/or what's remaining |
| 02:44.54 | starseeker | brlcad: In this case, I think the check would be that the number of user supplied clones is between 1 and INT_MAX or some such |
| 02:45.11 | starseeker | brlcad: The string size follows directly and internally from that |
| 02:51.34 | brlcad | that's not quite what I mean |
| 02:53.22 | brlcad | if the user can provide the input string (which they are in this case), there's the potential to inject print specifiers of their own -- often in ways that can creatively overrun a buffer and jump to code of their own (security hole) |
| 02:55.08 | brlcad | it'd even be safer to count the number of digits in the pattern and do a for loop that iterates over printing "%c" to print each digit one at a time, or a case table that supports a set of sizes .. but all of them still using a constant format specifier |
| 03:02.25 | starseeker | I don't quite see - the user isn't providing the string, except to specify they want an incrementer in position x |
| 03:03.24 | starseeker | according to what you outlined this evening, they aren't supplying any strings at all except for an already valid primitive name |
| 03:05.08 | starseeker | Or are you thinking some operation that doesn't use an existing primitive? |
| 03:06.15 | starseeker | is just trying to envision an attack vector |
| 03:12.34 | brlcad | more around the idea that you're implementing a general librt routine for naming objects and don't really know where the input string comes from |
| 03:13.48 | brlcad | could come up with a variety of example, but say specific to clone's case, the modeler says "clone my_object_0000.c -n 100" .. |
| 03:14.47 | brlcad | that my_object_0000.c would be the pattern you'd want to fit to and probably even start from (at least dwayne has said as much, and I believe clone already tries to preserve such existing numerations) |
| 03:16.05 | brlcad | especially if the pattern in that case was something like {prefix}{num}{suffix}, so it matches 0000 and you'd expect to end up with my_object_0100.c and so on |
| 03:17.08 | starseeker | OK, that's a good argument for digit counting, if there are any, and comparing it to what is needed by the arg to -n |
| 03:18.15 | starseeker | but I still don't see how it presents an attack vector - in the end it's just a count of digits and reading them in as an int |
| 03:19.24 | starseeker | I suppose you could do an append operation to add chars as numbers one at a time, but ouch... |
| 03:24.03 | brlcad | could do lots of twisted things with something like: clone my_%n_0000.c |
| 03:24.27 | brlcad | and various variations thereof |
| 03:26.34 | poolio | oo. Never had "]]))" appear in my C code before :P |
| 03:26.48 | brlcad | the point wasn't so much to come up with a specific failure case, there are plenty of links throughout the web for tricks you can play ;) |
| 03:29.31 | brlcad | the point was more "try to structure the processing so you don't need dynamic format specifiers" -- just about any dynamic format specifier can be turned into a loop, then you just need to do some basic sanity checking |
| 03:35.55 | yukonbob | hello, cadheads |
| 03:36.36 | brlcad | howdy yukonbob |
| 03:37.08 | yukonbob | what's happening, my friend? |
| 03:39.51 | starseeker | brlcad: OK... I'll have to run it by you once I've got something written. (Maybe we could just disallow % in primitive names? ;-) |
| 03:40.24 | starseeker | hates having to deal with individual characters when there are more powerful tools available |
| 03:43.10 | starseeker | Oh, well... I guess that's life |
| 04:10.05 | *** join/#brlcad thing1 (n=ric@123.208.38.160) | |
| 04:13.32 | *** join/#brlcad Axman6 (n=Axman6@pdpc/supporter/student/Axman6) | |
| 04:23.09 | *** join/#brlcad thing0 (n=ric@124-169-154-132.dyn.iinet.net.au) | |
| 04:27.22 | brlcad | starseeker: like I said, you're making a new public api call -- that's where the checking needs to occur to be 'secure' regardless of whatever validation/limitations that mged or other apps impose on their end |
| 04:27.52 | poolio | brlcad: I think I'm getting some weird C/C++ header confusion. I'm including vmath.h but it's not picking up the constant definitions, like 'X', and 'Y' |
| 04:28.19 | poolio | If I also include 'dm.h' I get the X,Y, and Z but not W/H |
| 04:28.26 | brlcad | poolio: hum, perhaps some subsequent header is undefining them |
| 04:28.54 | brlcad | try adding it last to test |
| 04:28.58 | poolio | It's the last one included... but maybe one of the previous header includes it as well |
| 04:29.59 | poolio | ah hmm: |
| 04:30.09 | poolio | brep.h:#undef X |
| 04:31.05 | brlcad | yeah, I forget exactly what that was needed |
| 04:31.34 | brlcad | those are such general symbols, iirc there was some borkage deep in the c++ template headers |
| 04:31.42 | brlcad | or it was something in the openNURBS headers |
| 04:32.12 | poolio | Yeah...has a XXX ack, a hack comment. I can't force it because rtgeom.h includes vmath.h and then brep.h |
| 04:32.31 | poolio | The only thing to do seems to be to just add a definition myself |
| 04:32.58 | brlcad | you can change our header logic to accommodate |
| 04:33.17 | brlcad | conditionally def/undef or redef after undef, etc |
| 04:38.17 | poolio | brlcad: do you remember what it broke? |
| 04:52.39 | *** join/#brlcad IriX64 (n=mariodot@bas2-sudbury98-1128564908.dsl.bell.ca) | |
| 05:16.23 | Ralith | hm, Ogre seems to depend on CEGUI. I wonder if that can be cut out. |
| 05:45.47 | brlcad | Ralith: it doesn't/shouldn't depend on it, though some of their code samples may |
| 05:45.54 | brlcad | poolio: compilation ;) |
| 05:46.24 | Ralith | smacks ports |
| 05:46.29 | Ralith | I disabled code samples >:| |
| 06:00.50 | *** join/#brlcad clock_ (n=clock@217-162-111-193.dclient.hispeed.ch) | |
| 06:05.20 | brlcad | Ralith: bsder? |
| 06:05.34 | Ralith | yep |
| 06:05.35 | Ralith | freebsd |
| 06:05.42 | brlcad | awesome |
| 06:05.50 | Ralith | o/ |
| 06:05.55 | Ralith | wrestling with porting Mocha right now |
| 06:06.14 | Ralith | mafm come on here ever? |
| 06:06.20 | brlcad | you did hopefully see that the sources are in the rt^3 module I hope? :) |
| 06:06.28 | Ralith | yeah |
| 06:06.32 | brlcad | they require some minor patches and latest sources |
| 06:06.32 | Ralith | I'm worrying about deps |
| 06:06.42 | Ralith | oh, they're already made portable? |
| 06:06.42 | Ralith | cool |
| 06:06.51 | Ralith | oh! |
| 06:06.54 | Ralith | I see what you meant |
| 06:07.00 | brlcad | they're in src/other |
| 06:07.04 | Ralith | kk |
| 06:07.24 | brlcad | he included some makefile logic to build them |
| 06:07.51 | brlcad | but forewarning that it's not been tested by more than just a couple people so far, so not compilation-robust |
| 06:08.10 | Ralith | that's what I'm here for |
| 06:08.24 | Ralith | if I wasn't happy to be testing and making patches, I wouldn't have checked out SVN code. |
| 06:08.32 | brlcad | \o/ |
| 06:09.58 | Ralith | glad to see he's got the build problem largely addressed, though |
| 06:10.18 | Ralith | was worried when I saw the rbgui page stating non-windows was unsupported |
| 06:10.45 | brlcad | yeah, I rattled his cage for quite a while to try to make it more seamless and automatic to build |
| 06:11.09 | Ralith | argh |
| 06:11.20 | Ralith | why does NOTHING put /usr/local/include in the default search path >:| |
| 06:11.45 | brlcad | automatic dep management is a pretty big deal (and pet peeve) for the project in general, fully portably managing deps, not depending on anything being installed, not requiring the user go get stuff |
| 06:12.16 | brlcad | our main module does :) |
| 06:12.32 | Ralith | kudos |
| 06:13.43 | Ralith | oh this looks bad |
| 06:14.13 | Ralith | :D |
| 06:14.19 | Ralith | there's already freebsd patches for ois |
| 06:15.15 | *** join/#brlcad thing1 (n=ric@124-169-154-132.dyn.iinet.net.au) | |
| 06:15.43 | Ralith | hm, I wonder if these break non-freebsd |
| 06:16.05 | yukonbob | Ralith: add to brlcad's description the tension of being able to use a system's pre-installed libraries, etc. and it's "fun" with a capital "F". |
| 06:16.48 | Ralith | yukonbob: I don't entirely follow |
| 06:16.56 | Ralith | that's not tension so much as a useful feature |
| 06:17.23 | *** join/#brlcad esben (n=esben@0x573ff382.boanqu1.static.dsl.tele.dk) | |
| 06:17.24 | brlcad | yeah, tries to detect system libs and prefer them by default unless overridden, otherwise compiling the dep cleanly as if it were bundled |
| 06:17.34 | Ralith | nice. |
| 06:18.21 | brlcad | the hard part there is the plethora of versions, e.g. having a tcl/tk 8.4 but no itcl installed, yet our itcl requires 8.5, and a variety of combinations thereof |
| 06:18.38 | yukonbob | :) |
| 06:18.46 | yukonbob | Capital "F", I tell ya... |
| 06:19.42 | yukonbob | would you say I have a plethora of gifts? |
| 06:20.38 | brlcad | a plethora of .. something ;) |
| 06:20.42 | yukonbob | heh -- |
| 06:20.47 | Ralith | hehe |
| 06:20.52 | yukonbob | is channeling The Three Amigos |
| 06:21.05 | Ralith | brlcad: I don't suppose there's a makefile equivalent of #ifdef __FreeBSD__ ? |
| 06:22.43 | Ralith | well, I can always wrap the entire file in that |
| 06:22.47 | Ralith | but that's hacky |
| 06:22.48 | brlcad | those makefile(s) in src/other can change |
| 06:22.58 | brlcad | they're not going to stay that way |
| 06:23.11 | Ralith | yeah |
| 06:23.20 | Ralith | my idea was to be an agent of that change :P |
| 06:23.59 | brlcad | his project is also a mild experiment in cmake's flexibility, but he isn't very familiar with it (and doesn't really have time during gsoc to figure it out more than absolutely necessary) |
| 06:24.34 | brlcad | so the idea would be to eventually end up with something similar to our gnu build system infrastructure on the main trunk in cmake for rt^3 |
| 06:24.52 | brlcad | or just gut it for gbs if it turns out to be too much hassle |
| 06:25.11 | Ralith | well, this will still make it work on freebsd without breaking other stuff for the short term. |
| 06:25.17 | brlcad | having it be seemlessly cross-compilable to Windows would be a big win, though, which cmake offers |
| 06:26.49 | yukonbob | Ralith: I'm not entirely sure what you're working on, but you might consider patching as part of the build in ports, too, w/o touching the BRL-CAD tree... |
| 06:27.04 | Ralith | yukonbob: I'm taking the patches from ports, actually |
| 06:27.07 | yukonbob | s/entirely sure/sure at all/ |
| 06:27.11 | Ralith | except applying them nondestructively |
| 06:27.17 | Ralith | or should I not even bother, and just grab from there? |
| 06:28.22 | yukonbob | are you trying to get some FreeBSD-specific building happening that's not already addressed in the patches? |
| 06:28.46 | Ralith | I'm trying to apply what's in the patches nondestructively to the stuff in svn |
| 06:29.08 | yukonbob | ?"nondestructively" |
| 06:29.24 | Ralith | the existing patches kill a variety of things for the sake of making it work on FreeBSD, which doesn't actually support them in the first place |
| 06:29.40 | Ralith | gtg now, actually |
| 06:29.44 | Ralith | guess I'll leave the ois stuff alone for now |
| 06:29.51 | yukonbob | chat later :) |
| 06:30.11 | brlcad | cya later Ralith |
| 06:30.12 | Ralith | I'll probably be forced to make it up as I go along for other bits that aren't in ports, anyway |
| 06:30.30 | Ralith | seeya |
| 06:30.32 | brlcad | looks forward to seeing patches ;) |
| 06:30.44 | yukonbob | looks forward to hitting hay... |
| 06:30.50 | brlcad | yukonbob: crazy talk |
| 06:30.52 | brlcad | yawns |
| 06:31.42 | yukonbob | knows that brlcad seems to get by on .5h sleep/day, and an occasional sushi platter, but I'm not brlcad... so I sleep. |
| 06:32.15 | yukonbob | on that note... ciao for now, geeks. |
| 06:32.32 | brlcad | heh, cya |
| 06:32.46 | brlcad | wonders what timezone he's in |
| 06:33.20 | yukonbob | == pacific... 11:30 now -- 5am approaching too soon... |
| 06:58.57 | *** join/#brlcad Axman6_ (n=Axman6@pdpc/supporter/student/Axman6) | |
| 07:01.24 | *** join/#brlcad elmom_ (n=elmom@hoasnet-ff04dd00-187.dhcp.inet.fi) | |
| 07:15.52 | *** join/#brlcad clock_ (n=clock@84-72-91-240.dclient.hispeed.ch) | |
| 07:22.10 | *** join/#brlcad esben (n=esben@0x573ff382.boanqu1.static.dsl.tele.dk) | |
| 07:45.09 | *** join/#brlcad Axman6 (n=Axman6@pdpc/supporter/student/Axman6) | |
| 08:26.22 | *** join/#brlcad Axman6 (n=Axman6@pdpc/supporter/student/Axman6) | |
| 08:33.58 | *** join/#brlcad esben (n=esben@0x573ff382.boanqu1.static.dsl.tele.dk) | |
| 08:36.27 | *** join/#brlcad lleroy (n=chatzill@axsguard.bepco.com) | |
| 08:36.58 | lleroy | starseeker: printf("%*d", 4, i) |
| 08:40.36 | *** part/#brlcad lleroy (n=chatzill@axsguard.bepco.com) | |
| 08:40.48 | *** join/#brlcad mafm (n=mafm@elnet-111.lip.pt) | |
| 08:42.09 | mafm | hey |
| 08:45.50 | CIA-22 | BRL-CAD: 03mafm * r31846 10/rt^3/trunk/src/g3d/ (CameraModes.cxx CameraModes.h): Separating declaration and implementation of camera modes, since the code in these files is going to grow |
| 08:51.25 | *** join/#brlcad Axman6 (n=Axman6@pdpc/supporter/student/Axman6) | |
| 09:00.57 | brlcad | howdy mafm |
| 09:02.37 | mafm | o/ |
| 09:02.48 | brlcad | mafm, you had a fan checking out your project earlier, he started poking at the code .. he'll undoubtedly be back in a while |
| 09:03.32 | mafm | huh? |
| 09:03.41 | mafm | sombody from brl-cad? |
| 09:03.50 | brlcad | someone new |
| 09:04.18 | brlcad | (a coder) |
| 09:09.58 | mafm | huh |
| 09:10.09 | mafm | why does he know about the code? trade secret! |
| 09:10.51 | mafm | can we silence him before he spreads the word? |
| 09:11.28 | brlcad | he wants to help work on it |
| 09:12.19 | CIA-22 | BRL-CAD: 03mafm * r31847 10/rt^3/trunk/src/g3d/ (CameraManager.cxx CameraManager.h): Changing private Observer/Listener pattern implementation by the one already existing in the project |
| 09:12.49 | mafm | I see |
| 09:13.00 | mafm | do you remember his nickname? |
| 09:13.39 | brlcad | Ralith |
| 09:14.48 | mafm | fine, I'll speak with him when I see him :) |
| 09:15.42 | mafm | but I don't know if it's advisable for other people to start developing it this early? I don't know if that would mess gsoc plans |
| 09:35.29 | *** join/#brlcad dtidrow_ (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) | |
| 09:36.12 | brlcad | working integrated with others is part of gsoc, you've been "lucky" so far ;) .. but not to worry, nothing that would significantly derail your schedule/progress |
| 09:38.40 | brlcad | as I mentioned to him, collaboration and integration is actually highly encouraged for most projects/students |
| 09:38.46 | brlcad | the student just can't use that as a crutch to not do work and the collaboration can't negatively impact their ability to do work |
| 09:39.18 | mafm | yes, I mean if he wants to work in things like the communication with libged... |
| 09:39.47 | brlcad | the main point of gsoc is actually to (hopefully) make you a new (long-term) developer, build up our dev team .. not just for folks to work on a project ;) |
| 09:41.17 | brlcad | yeah, would try to find something productive of course |
| 09:41.31 | brlcad | at this point, he's just compiling -- was going to look into cleaning up the build system |
| 09:43.14 | mafm | goody |
| 09:43.59 | mafm | btw, I think that maybe shortly after gsoc we have to start to worry about the GUI toolkit at least |
| 09:46.22 | CIA-22 | BRL-CAD: 03mafm * r31848 10/rt^3/trunk/src/g3d/CameraModes.cxx: Setting limits to orbital camera mode, so it doesn't cause strange artifacts when verticalRotation is greater than PI/2 (or smaller than -PI/2). Maybe it should continue to rotate but seamlessly, I don't know... |
| 09:47.01 | mafm | they're like missing in action, and apart from the private patches there are small glitches here and there, even if I didn't start to create very complex things |
| 09:47.43 | brlcad | i don't care so much that they're missing in action, but the glitches are cause for concern |
| 09:47.55 | brlcad | have you been able to get a feel for how well it's suited to customization yet? |
| 09:48.39 | brlcad | input binding customization, theming the appearance, developing custom layout managers |
| 09:49.33 | *** join/#brlcad elite01 (n=elite01@unaffiliated/elite01) | |
| 09:52.26 | CIA-22 | BRL-CAD: 03mafm * r31849 10/rt^3/trunk/src/g3d/ (Application.cxx CameraManager.cxx CameraModes.h Commands.h): Minor changes in comments/indentation, adding missing #ifdefs around Commands.h |
| 09:52.55 | mafm | not much of that yet, but in example the Text widget for the console doesn't seem to have scrolling working |
| 09:56.07 | mafm | about theming I changed fonts and minor things only, and you can define many things (corners, borders, etc) but it looks like it needs minucious/detailed work, or a good editor |
| 09:56.31 | mafm | that is, I think that it's not difficult to get a theme that you work, but probably it needs time |
| 10:10.23 | mafm | http://graphjam.com/2008/07/15/song-chart-memes-breakdown-of-government-funding-in-england/ -- Silly Brittish :) |
| 10:20.58 | mafm | brlcad: http://www.clutter-project.org/ | http://moblin.org/playground/?q=node/76 |
| 10:21.48 | mafm | brlcad: it seems that they're going to experiment with that with 3.0, still I don't know if it's advisable to try that path, it's the 1st time that I hear from that project |
| 11:11.40 | *** join/#brlcad Axman6 (n=Axman6@pdpc/supporter/student/Axman6) | |
| 11:15.37 | *** join/#brlcad Axman6 (n=Axman6@pdpc/supporter/student/Axman6) | |
| 12:07.56 | *** join/#brlcad esben (n=esben@0x573ff382.boanqu1.static.dsl.tele.dk) | |
| 12:30.32 | brlcad | mafm: I've heard of them, they've come a long ways |
| 12:32.00 | brlcad | mafm: I wouldn't try that path unless you were set on *not* using rbgui for sure |
| 12:33.18 | brlcad | clutter has decent portability on paper, but also a few additional dependencies too so they'd have to be reviewed .. plus their actual widget/interactions is fairly minimal -- you'd have to implement things like tabbed contexts, input text areas, etc |
| 12:35.00 | brlcad | otherwise, I love their overall approach, there are lots of features in the moblin interface that show how some reasonably powerful widgets and interactions can be made to work |
| 12:35.19 | brlcad | integrating that with the 3D render engine could be interesting.. |
| 12:44.19 | mafm | oki, I'll keep it in mind for after gsoc |
| 12:45.09 | mafm | in the meantime, I have a question about trackballs -- what input events they generate? the computer sees it as a regular mouse? |
| 12:45.52 | brlcad | "trackball mode" has nothing to do with a physical trackball ... :) |
| 12:46.12 | brlcad | but yah, they're usually regular mice |
| 12:46.37 | yukonbob | morning, cadheads |
| 12:46.42 | brlcad | turn a mouse with a ball upside down, make the ball a lot bigger |
| 12:47.28 | mafm | yes, I know that, but I mean if the computer/OS feeds that as a mouse, in x-windows |
| 12:48.07 | brlcad | yep |
| 12:48.19 | mafm | goody |
| 12:48.19 | brlcad | it really is just an upside down mouse |
| 12:48.38 | mafm | and the rotations are discrete, as in blender? |
| 12:48.59 | brlcad | discrete in what way? |
| 12:49.20 | mafm | in that with each key stroke means 15 degrees or whatever |
| 12:49.24 | brlcad | the rotations are whatever you make the bindings do :) |
| 12:49.35 | mafm | currently my orbital mode acts almost in the same way, just that it's continuous |
| 12:49.48 | mafm | and has the vertical glitch |
| 12:50.08 | brlcad | key stroke? i don't have any keys on my trackball |
| 12:50.16 | brlcad | lots of buttons, but no kesy |
| 12:50.31 | mafm | I'm now talking about trackball, the mode :D |
| 12:51.08 | mafm | is the one that implements blender, IIRC from your conversation yesterday |
| 12:51.17 | mafm | and to move the camera, you use the numpad |
| 12:54.30 | mafm | so the difference between blender an mine is: |
| 12:55.28 | mafm | in blender) each keypressed event acts as a trigger, and makes 30 degrees of rotation or so; if you maintain it pressed it for longer time it rotates for that while, but in discrete steps of same 30 degrees |
| 12:56.22 | brlcad | mged behaves that way too, discrete vertical/horizontal view rotations |
| 12:56.31 | brlcad | though I think we're about 5 degrees |
| 12:56.36 | mafm | in mine) keypressed and released act as on a switch, and the rotation is "continuous" (from when you press until when you release); the camera position is updated every loop of the renderer |
| 12:58.10 | mafm | 360 / ~24 steps for full revolution = 15 degrees |
| 12:58.11 | brlcad | press x/y/z/X/Y/Z/0 in mged graphics window, you get that |
| 12:58.40 | brlcad | that'd be the shift-grips/mged binding style of course |
| 13:00.35 | mafm | shift-grips? we were talking about trackball |
| 13:00.45 | brlcad | be sure to peek at blender's View -> View Navigation menu |
| 13:01.11 | brlcad | sure, just commenting that they're there |
| 13:01.21 | brlcad | so you can test it out |
| 13:02.15 | mafm | erm... so the mged and blender are very different |
| 13:03.33 | brlcad | oh sure |
| 13:03.49 | brlcad | blender is a heck of a lot different than most modeling guis, much less a cad gui |
| 13:04.13 | mafm | so my orbital mode is different than both |
| 13:04.24 | mafm | do you want me to mimic brlcad's, I guesS? |
| 13:04.34 | mafm | brl-cad's, I mean :) |
| 13:05.04 | mafm | or rather, mged's |
| 13:06.08 | brlcad | if you set it up right, the only different between shift-grips, blenders, and your orbital mode is default bindings -- the same operations are pretty much available to all of them (just via different bindings or unspecified) |
| 13:06.42 | brlcad | so you really just have to focus on the events/actions that can be bound, and managing sets of bindings as an input style set |
| 13:08.03 | mafm | yes, eventually I'd create the generic operations in the base class |
| 13:08.45 | mafm | but the question is: do you want me to create Trackball and Shif-grips with exactly the same keys and behaviours than mged? |
| 13:11.55 | brlcad | hm, actions that come to mind... pan up/down, pan left/right, pan freely, rotate horizontally left/right, rotate vertically up/down, rotate freely, fly navigation, zoom in, zoom out -- and all as continuous/quasi-modal or discrete events |
| 13:13.10 | brlcad | well, at least mimic'ing shift-grips .. beyond that whatever else you like |
| 13:13.40 | mafm | well, that shift-grips is quite... complete :D |
| 13:13.58 | brlcad | I would recommend blender's default bindings as another predefined, but up to you |
| 13:14.11 | brlcad | shift-grips should cover most any interaction except a fly mode |
| 13:14.42 | mafm | the bindings for the different modes are switchable, or all of them are present at the same time? |
| 13:14.55 | brlcad | forget about "trackball" as a mode -- what was mostly meant by that was a mode where left-mouse+drag bound to "rotate view" |
| 13:15.06 | mafm | switchable as "only one active at a given time" |
| 13:15.18 | brlcad | blender's is pretty close to that, they use middle mouse for rotate view |
| 13:16.09 | brlcad | only one active at a given time |
| 13:16.20 | brlcad | they can't be active simultaneously, the bindings are entirely different |
| 13:16.41 | mafm | I find your trackball mode -or whatever you call to the x/y/z/0- very funny :D |
| 13:17.43 | brlcad | middle-mouse+drag is what I was referring to as a "trackball" view manipulation, btw .. and a pretty good implementation |
| 13:18.16 | brlcad | (in blender) |
| 13:19.44 | mafm | So... to make things clear, what should I implement for my trackball? Blender middle-mouse+drag and x/z/y/0 for axial rotation? |
| 13:23.42 | brlcad | control+(any)-mouse+drag in mged == middle-mouse+drag in blender == 'view rotation' == 'trackball view rotation' |
| 13:24.53 | brlcad | make a 'mafm' style, have it do whatever you want :) |
| 13:24.57 | mafm | OK, but I mean exactly which keys do you want :) |
| 13:25.18 | mafm | I already have my style, it's the orbital one -- which is very similar in essence |
| 13:25.19 | brlcad | have an 'mged' style that is effectively shift-grips as close as you can get it |
| 13:26.21 | brlcad | then maybe add a 'blender' style that is as close to blender as possible (not hybridized with 'mged' bindings, that just makes it confusing and error-prone) |
| 13:27.54 | brlcad | if you have those three with a relatively straightforward way to define new styles, any one of those three styles would be more than enough |
| 13:28.45 | mafm | okish, thanks :) |
| 13:31.15 | *** join/#brlcad d_rossberg (n=rossberg@bz.bzflag.bz) | |
| 13:37.17 | mafm | hi d_rossberg |
| 13:42.12 | *** join/#brlcad esben (n=esben@0x573ff382.boanqu1.static.dsl.tele.dk) | |
| 13:43.26 | d_rossberg | moin mafm |
| 14:52.31 | *** join/#brlcad andrecastelo (n=chatzill@189.71.36.28) | |
| 14:52.33 | andrecastelo | hey guys |
| 14:52.41 | pacman87 | hi andrecastelo |
| 14:52.49 | andrecastelo | hi pacman87 |
| 14:53.09 | mafm | hi |
| 14:56.08 | andrecastelo | hey mafm |
| 15:01.36 | mafm | heyo |
| 15:01.59 | mafm | too hot cold there in Brazil? :P |
| 15:12.24 | andrecastelo | it's raining now :S |
| 15:14.20 | mafm | at Lisbon it's 30+ degrees |
| 15:14.29 | mafm | and it's a cold summer, fortunately :D |
| 15:21.14 | d_rossberg | moin pacman87, now the revolve ray-trace works for me too :) |
| 15:22.30 | d_rossberg | (if not along a coordinate axis) |
| 15:26.57 | mafm | svn: Server sent unexpected return value (403 Forbidden) in response to MKACTIVITY request for '/svnroot/brlcad/!svn/act/683d9f64-d642-4309-846b-f929d2cad1b5' |
| 15:26.59 | mafm | ? |
| 15:27.31 | mafm | fascist pigs, they forbid me to commit!!!111! :P |
| 15:29.55 | *** join/#brlcad docelic (n=docelic@78.134.201.183) | |
| 15:30.41 | prasad_ | brlcad: so i started working out again |
| 15:30.57 | prasad_ | after a ~1 yr hiatus |
| 15:31.02 | prasad_ | :) |
| 16:00.12 | *** join/#brlcad clock_ (n=clock@77-56-95-207.dclient.hispeed.ch) | |
| 16:01.40 | mafm | hi clock_ |
| 16:01.48 | mafm | is anybody else having problems with commiting? |
| 16:05.14 | mafm | even google accounts are failing |
| 16:05.39 | mafm | it might be a sign of the Apocalypsis or something... |
| 16:11.32 | *** join/#brlcad dtidrow (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) | |
| 17:05.42 | mafm | brlcad: is there a way for you to check svn logs? |
| 17:07.33 | mafm | oh, it seems that it's an scheduled downtime |
| 17:13.16 | poolio | mafm: so svn on sf.net is down? |
| 17:15.01 | mafm | read-only, they are migrating to a new datacenter, it seems |
| 17:19.55 | mafm | poolio: http://sourceforge.net/community/forum/topic.php?id=2874&page |
| 17:51.17 | brlcad | wb andrecastelo |
| 17:51.50 | brlcad | andrecastelo: any new progress, working on depth-based lighting or shadows next? |
| 17:52.08 | brlcad | mafm: sourceforge svn is down for the next 6 hours or so |
| 17:52.23 | brlcad | sourceforge is moving svn to their new datacenter in chicago today |
| 17:52.26 | andrecastelo | i was thinking about starting some kind of prototype path tracing system, what do you think? |
| 17:52.32 | mafm | >:[ |
| 17:52.47 | mafm | so no more commits today, now that I have lots and lots of new things |
| 17:53.13 | brlcad | mafm: yeah, I didn't realize it was today or I would have sent out a note |
| 17:58.14 | andrecastelo | do you think i should improve the shading or start the path building?? |
| 17:58.52 | brlcad | I think you should do at least shadows just so you see how to shoot secondary rays |
| 18:10.20 | andrecastelo | hm ok, ok |
| 18:10.28 | mafm | I received some random crap from sf.net yesterday but I didn't even bother to read it |
| 18:10.37 | mafm | too much mail :| |
| 18:10.48 | andrecastelo | have classes now |
| 18:10.52 | andrecastelo | later guys |
| 18:11.15 | pacman87 | mafm: that's why i switched the gsoc mail to 'digest' |
| 18:11.35 | mafm | the gsoc I read in less than 30 seconds |
| 18:12.26 | mafm | basically I click next next next and read the subject in the split second :) |
| 18:12.54 | pacman87 | it'd be nice if i could flag the mail from LH and other official google people |
| 18:13.01 | pacman87 | to make sure i dont' miss anything important |
| 18:13.18 | mafm | it's no so easy with other mails that I have to reply... but yes, gsoc lists are annoying :D |
| 18:14.19 | pacman87 | i treat it as a forum instead of a mailing list |
| 18:18.47 | mafm | I basically don't read anything |
| 18:19.01 | mafm | just the initial mail of the thread if it's from LH |
| 18:19.18 | mafm | and then only some specific if it interests me |
| 18:32.38 | ``Erik | %*d? when did that happen? O.o |
| 18:33.02 | pacman87 | ``Erik: hmmm? |
| 18:34.44 | ``Erik | printf("%*d", x, y); |
| 18:44.50 | mafm | neat-o |
| 18:55.45 | *** join/#brlcad Ralith (n=ralith@216.162.199.202) | |
| 18:56.15 | mafm | hi Ralith |
| 19:06.23 | Ralith | oh hey! |
| 19:06.36 | Ralith | needs to make his irssi highlight better. |
| 19:08.11 | Ralith | mafm: I, along with at least part of the reprap community, am quite interested in your GUI work; myself to the extent of a desire to contribute. |
| 19:09.34 | mafm | yep, brlcad told me a bit about it |
| 19:09.55 | Ralith | cool |
| 19:10.24 | mafm | that's the reprap of http://reprap.org/bin/view/Main/WebHome ? |
| 19:10.27 | Ralith | yeah |
| 19:12.01 | mafm | that's an interface for a 3D printer? |
| 19:12.58 | Ralith | it *is* a 3D printer. |
| 19:13.44 | mafm | :D |
| 19:14.05 | mafm | neat |
| 19:14.14 | mafm | and what does my project have to do with that? |
| 19:15.24 | mafm | are you already using BRL-CAD to design it or something? |
| 19:15.27 | Ralith | well, I'll give a bit of background |
| 19:15.59 | mafm | please :) |
| 19:16.01 | Ralith | reprap is supposed to be completely open source |
| 19:16.17 | Ralith | so we can't standardize on professional CAD packages |
| 19:16.29 | Ralith | (there's very good reasons for this which aren't entirely relevant; we can get into that later) |
| 19:16.59 | Ralith | currently, we're standardized on this kinda shitty java mesh modeler called Art of Illusion that afaik nobody likes much. |
| 19:17.36 | Ralith | however, there's no argument that that's really a good tool for CAD/CAM |
| 19:18.00 | Ralith | it's just something like the first oss modeler that the founders ran into |
| 19:18.20 | Ralith | now lately, people have been hitting its limitations and starting to search for alternatives |
| 19:18.54 | Ralith | but, as you may or may not be aware, there really aren't any open source CAD tools worth mentioning; let alone professional quality ones. |
| 19:19.00 | Ralith | Except for BRL-CAD. |
| 19:19.20 | mafm | not even k-3d? |
| 19:19.50 | Ralith | k-3d states from the start that it's meant for animation :P |
| 19:20.21 | Ralith | BRL-CAD has the additional advantage of its purist CSG approach, which is great because of the level of precision it maintains. |
| 19:21.04 | Ralith | to put this in perspective, AoI is so inappropriate that the founders actually modeled some of the current reprap design using professional CAD tools isntead, and just exported to an open format. |
| 19:21.14 | Ralith | STL |
| 19:21.28 | Ralith | which is another bad choice, because conversion to trimeshes loses precision. |
| 19:21.49 | mafm | I thought that they had added (or wanted to, maybe it was some gsoc project) to get into other modelling, but I know mostly zero about that so I shut up :D |
| 19:22.11 | Ralith | well, we want something as professional quality as we can get |
| 19:22.31 | Ralith | and BRL-CAD seems to be nothing if not professional. |
| 19:22.43 | Ralith | however, its interface is very tangibly from the 1980s. |
| 19:23.03 | Ralith | one of reprap's goals is to be widely and easily accessible. |
| 19:23.33 | Ralith | Standardization on a CAD suite with such an arcane modeling interface would conflict with that. |
| 19:23.43 | Ralith | as attractive as the technology behind the interface may be. |
| 19:24.27 | Ralith | So, your SoC project seems to be the solution to all our worries. |
| 19:25.03 | mafm | goody :D |
| 19:25.21 | Ralith | especially since, imo, a tried and true back-end with a newly developed interface is much more suitable than a tried-and-true interface with newly developed CAD support. |
| 19:25.24 | mafm | I'm very glad to hear that it can be helpful for you |
| 19:25.30 | Ralith | besides, you don't get much more tried-and-true than BRL-CAD. |
| 19:25.41 | Ralith | far more than us, I'm sure |
| 19:26.10 | Ralith | there's a *lot* of people out there who would benefit from professional and accessible open source CAD. |
| 19:26.15 | mafm | did you already try it? it's in very initial state... |
| 19:26.26 | Ralith | I haven't built it yet |
| 19:26.31 | Ralith | but I've reviewed your log |
| 19:27.25 | mafm | :D |
| 19:27.57 | mafm | well, if you have some sort of GNU/Linux (or even BSD) variant, should be quick easy to get it running |
| 19:27.57 | Ralith | I'm quite eager to lend whatever aid I can. |
| 19:28.02 | *** join/#brlcad philipix (n=c91adbe1@bz.bzflag.bz) | |
| 19:28.02 | Ralith | I'm on FreeBSD |
| 19:28.21 | Ralith | luckily, the larger of your deps are in ports |
| 19:28.53 | mafm | I think that you mostly need some image library like DevIL |
| 19:29.00 | Ralith | that'll be in ports too. |
| 19:29.05 | Ralith | I was talking about ois and ogre |
| 19:29.24 | Ralith | I'll be submitting a patch for ois freebsd compatibility despite this |
| 19:29.58 | mafm | $ aptitude show libogre-dev |
| 19:29.59 | mafm | ... |
| 19:30.07 | Ralith | ? |
| 19:30.08 | mafm | Depends: libfreeimage-dev | libdevil-dev, libfreetype6-dev, libogremain-1.4.6 (>= 1.4.6.dfsg1-1), libopenexr-dev, |
| 19:30.08 | mafm | <PROTECTED> |
| 19:30.34 | Ralith | deps are not an issue :P |
| 19:30.37 | mafm | I think that these are the only dependencies needed, apart from std C++ things |
| 19:30.38 | Ralith | at least, I don't think so |
| 19:30.47 | brlcad | Ralith: interesting background interest |
| 19:31.01 | Ralith | I haven't tried building your versions of rbgui or mocha yet |
| 19:31.04 | Ralith | brlcad: I think so. |
| 19:31.10 | mafm | and apart from that, the rest of the things that you need is just contained in src/other :D |
| 19:32.26 | brlcad | Ralith: if you're interested in our long-term project goals, I wrote up an overly wordy document that you might find interesting .. it's being completely restructured and reworded, but it captures a fair bit even with the layout/temp state that it's in |
| 19:32.39 | Ralith | brlcad: I would be interested in that. |
| 19:33.01 | mafm | I think that RBGui and Mocha don't depend on anything but standard C++ libraries |
| 19:33.33 | Ralith | yeah, but you never know |
| 19:33.43 | Ralith | besides, what you think is standard is often moved around in FreeBSD |
| 19:33.57 | mafm | oh, you need pkg-config too |
| 19:34.03 | mafm | is fan of pkg-config :P |
| 19:34.03 | Ralith | who doesn't have pkg-config? |
| 19:34.07 | brlcad | Ralith: http://brlcad.org/~sean/BRL-CAD_Priorities.png (there's a .pdf too, but many renderers do a horrible job on the fonts it's using) |
| 19:34.23 | mafm | well, I had an argument with postgresql guys a while ago, they're not so fans of it :D |
| 19:34.45 | Ralith | oo, neat layout |
| 19:34.52 | brlcad | again, not really intended for public consumption as it's going to change a fair bit, but it's the high-high-level project overview of what I'm trying to focus on |
| 19:35.22 | Ralith | by the way, I've been curious: you're the maintainer, right? Just how did you end up as such? |
| 19:36.33 | brlcad | dedication, years of keeping the flame alive |
| 19:36.54 | brlcad | I really do love working on BRL-CAD -- it has so much potential and so much existing powerful functionality |
| 19:37.35 | brlcad | just not-so-great usability for the newcomer, hence the focus on gui enhancements, brep (for visualization), and open source |
| 19:39.33 | mafm | and weeks of wasting time talking with prospective gsocers |
| 19:39.40 | mafm | :P |
| 19:39.42 | Ralith | hehe |
| 19:40.10 | Ralith | did you have anything to do with it when it was still proprietary? |
| 19:40.48 | mafm | warns: if SourceForge doesn't reenable commits now, you're all going to miss my wonderful new Blender mode... SF, we're watching you |
| 19:41.03 | Ralith | Blender mode? |
| 19:41.10 | Ralith | camera control? |
| 19:41.13 | mafm | yep |
| 19:41.15 | Ralith | oo, fun |
| 19:41.19 | mafm | <PROTECTED> |
| 19:41.19 | mafm | 1046 |
| 19:41.20 | Ralith | blender has good camera control |
| 19:41.41 | Ralith | learned mesh modeling in blender |
| 19:41.55 | mafm | just that I'm making it "continuous" |
| 19:42.13 | Ralith | I'm not sure what that means |
| 19:42.27 | mafm | unless somebody has something against, I think that it's more practical and easier to implement :D |
| 19:42.48 | mafm | that instead of jumping 30 degrees when you click the numpad keys, it does so in a continuous way |
| 19:43.04 | mafm | turning slowly while you maintain the key pressed |
| 19:43.15 | Ralith | hm |
| 19:43.25 | Ralith | well, first, an interface design thought |
| 19:43.45 | Ralith | for all inputs that produce continuous movement, make it be *accelerated*, not constant rate of change. |
| 19:43.52 | Ralith | this is extremely useful since scale can vary so much |
| 19:44.11 | Ralith | makes it easy to quickly achieve the state that is desired, no matter how numerically distant it is from the current one |
| 19:44.43 | Ralith | for example, I recently implemented a spinner widget for a GUI project I'm on that does this in all cases; imo it's just that useful. |
| 19:44.59 | Ralith | I can't think of a case where it *wouldn't* be helpful. |
| 19:45.31 | Ralith | of course, one must be careful to keep the acceleration from being too sharp, else there's not enough control. |
| 19:45.31 | mafm | the zoom already works like this |
| 19:45.35 | Ralith | great! |
| 19:45.39 | mafm | it has an increment ratio |
| 19:45.47 | Ralith | oh yeah, promise me you'll rip off blender's grid system |
| 19:45.53 | Ralith | I *love* blender's grids |
| 19:46.40 | Ralith | (except don't bother implementing blender's upper and lower limits to grid size; I can't imagine why you'd want those) |
| 19:46.43 | mafm | and I hate the linear spinners too :D |
| 19:46.47 | Ralith | :D |
| 19:47.04 | Ralith | and now a more direct response |
| 19:47.13 | Ralith | blender uses fixed increments for a good reason imo |
| 19:47.21 | Ralith | it allows one to easily go to a specific perspective |
| 19:47.22 | mafm | well, I don't have almost any experience modeling, so I don't know what would be useful and what not |
| 19:47.36 | mafm | I largely follow orders/ideas/suggestions :D |
| 19:47.48 | Ralith | I've got moderate experience; I'm not a real modeler, but I've done a lot of experimentation and produced some not entirely boring works. |
| 19:48.08 | Ralith | I've got enough experience to know that blender does a lot of things right. |
| 19:48.46 | mafm | :) |
| 19:49.05 | Ralith | so if you're using that as a template for some parts, that's a good sign, imo |
| 19:49.19 | pacman87 | https://webspace.utexas.edu/trv82/www/explode.avi |
| 19:49.20 | mafm | this part is only the camera mode, which with some keys it orbits the object, with mouse drag rotates around freely |
| 19:49.31 | mafm | probably you'll have more requests in the near future :) |
| 19:49.37 | Ralith | mafm: define 'the object' |
| 19:49.43 | Ralith | sure you don't mean the origin? |
| 19:50.06 | mafm | at the moment it is, but eventually it'll pan :D |
| 19:50.23 | Ralith | I suggest a blender-style 'center camera at point' command |
| 19:50.44 | Ralith | also, 'center camera at selected object(s)'s origin' |
| 19:50.59 | mafm | I still only with camera modes this week, or the last day of the past one :) |
| 19:51.11 | Ralith | that plus orbit-style movement plus optional drawing of objects would probably cover most use cases already |
| 19:52.08 | Ralith | anyway, if you want to go for continuous camera movement, that's cool, but maybe you should include a toggle button or a keyboard bind for incremental movements of various fractions of 90 degrees? |
| 19:52.18 | mafm | the center on object is just a matter of setting the object as focused |
| 19:52.35 | mafm | I initially thought of that but it was half implemented, so I removed the little code |
| 19:52.48 | mafm | but it's easy to read when I know exactly what we want to do |
| 19:52.57 | Ralith | ll |
| 19:52.58 | Ralith | kk |
| 19:53.34 | mafm | maybe I'll just keep orbital mode as blender-like but continous, and blender as exactly blender |
| 19:53.43 | Ralith | also, my OIS patch is ready -- where's the best place for it? |
| 19:53.49 | pacman87 | anyone here used davfs2? |
| 19:54.18 | mafm | I'm just implementing functionality at this moment, defining bindings it's mostly a detail when infrastructure is in place :) |
| 19:54.29 | mafm | pacman87: no |
| 19:54.35 | Ralith | mafm: ooh, here's a neat idea for non-priority implementation that'll make continuous (and imprecise) movement useful: allow save/restore of multiple camera positions |
| 19:54.58 | Ralith | enjoys coming up with features |
| 19:55.05 | Ralith | put up with me long and your TODO list will double :> |
| 19:55.25 | mafm | Ralith: the patch maybe you could send to OIS guys themselves... IIRC the main devel lurks around in #ogre3d and the nickname starts with p :) |
| 19:55.40 | mafm | and we would have to apply it for it to work in src/other, too |
| 19:55.51 | Ralith | mafm: it's an inelegant patch that references your build system |
| 19:56.15 | Ralith | appropriate for making things work, but not so much for upstream application |
| 19:56.25 | Ralith | I've #ifdef'd out three whole files :P |
| 19:56.46 | Ralith | (only has any effect on FreeBSD, of course) |
| 19:56.53 | mafm | http://rafb.net/paste, please? |
| 19:56.56 | Ralith | sure |
| 19:57.10 | mafm | what's the error in BSD (and the compiler?) |
| 19:57.33 | Ralith | it's just the removal of linux-specific stuff |
| 19:58.09 | Ralith | http://rafb.net/p/Jz5kv519.html |
| 19:58.45 | Ralith | oh, and some X input handling stuff I'm not sure I follow, but which was used in the ports version. |
| 19:59.33 | mafm | huh... I think you need those linux files, because AFAIK they call linux to whatever using X.org |
| 19:59.42 | Ralith | huh? |
| 20:00.00 | Ralith | these files are cut straight out of the build process by the ports version |
| 20:00.03 | Ralith | they're not critical at all. |
| 20:00.34 | Ralith | note that only the first three effected files are completely #ifdef'd out |
| 20:01.31 | *** join/#brlcad esben (n=esben@0x573ff382.boanqu1.static.dsl.tele.dk) | |
| 20:02.19 | mafm | well, I'm not sure, whatever works for you :) |
| 20:02.49 | Ralith | the patch has no effect on non-FreeBSD anyway |
| 20:02.58 | mafm | but I guess that you could try to refine it and send it upstream, and then we can upload whatever new version to OIS -- new versions of OIS shouldn't break anything |
| 20:03.57 | Ralith | hm. I don't suppose you're familiar with pthreads? |
| 20:05.02 | mafm | not much, only generically with threads, but also not very very deeply :D |
| 20:05.14 | Ralith | hm. |
| 20:05.14 | mafm | svn: Server sent unexpected return value (403 Forbidden) in response to MKACTIVITY request for '/svnroot/brlcad/!svn/act/6f51664b-be0d-4203-96a0-6a780e9db359' -- OK, so no more work today :) |
| 20:05.25 | Ralith | aw. |
| 20:06.02 | mafm | I have to go home anyway, it's already night here :) |
| 20:07.29 | Ralith | alright, seeya |
| 20:07.39 | mafm | I'll commit in ~14 hours or so, I guess :) |
| 20:07.46 | ``Erik | known issue, they're migrating their server from cali to chicago |
| 20:07.54 | ``Erik | so read only |
| 20:07.57 | Ralith | brlcad: I don't think you answered -- did you have anything to do with it when it was still proprietary? |
| 20:08.03 | Ralith | (brlcad) |
| 20:08.07 | Ralith | (er, BRL-CAD) |
| 20:08.39 | mafm | Ralith: I look forward to get it working, you'll be the second after other gsocer homovulgaris :) |
| 20:08.40 | ``Erik | brlcad has been working on BRL-CAD for almost a decade I think? long before it went out to the public |
| 20:08.42 | mafm | see you |
| 20:08.51 | Ralith | oo, neat |
| 20:09.00 | Ralith | seeya |
| 20:09.11 | Ralith | fixing up mocha now |
| 20:09.20 | ``Erik | (you could kinda argue it was always open source, you had to fax in a license agreement, then got an encrypted tarball of the source sent to you... wasn't redistributable back then, though) |
| 20:09.22 | ``Erik | :D |
| 20:09.27 | Ralith | this one *will* be upstream-worthy |
| 20:09.57 | Ralith | ``Erik: any idea how much brl-cad is used professionally these days, if at all? |
| 20:10.05 | Ralith | also, any idea what brought about the opensourcing? |
| 20:12.05 | ``Erik | um, several people at ARL and survice are paid to use BRL-CAD, I think beoing uses it some, air force uses it a bit, probably many others |
| 20:12.17 | brlcad | Ralith: yes, I've worked on BRL-CAD for about 10 years now, long before it was open source |
| 20:12.38 | ``Erik | and we're a bunch of open source geeks who got enough gumption to push it through the beaurocracy to get it 'public release' status |
| 20:12.46 | ``Erik | rather, brlcad and butler pushed it... :) |
| 20:12.46 | Ralith | cool! |
| 20:12.56 | Ralith | many kudos to them, then |
| 20:13.00 | brlcad | I worked persistently for about 5 years to get BRL-CAD released as open source, it was one of two goals I had from the start |
| 20:13.13 | Ralith | that must have taken a lot of pushing |
| 20:13.40 | Ralith | are you being employed as brl-cad's maintainer, or is it something you do on your own? |
| 20:16.40 | brlcad | Ralith: best place for patch is our sf.net patches tracker (reading backlog) |
| 20:16.50 | Ralith | kk |
| 20:28.26 | Ralith | uploaded |
| 20:57.53 | Ralith | augh |
| 20:57.55 | Ralith | so close |
| 20:58.13 | Ralith | rbgui refers to some ogre func that's missing in the more recent version I have installed |
| 21:05.19 | Ralith | temp-workarounds by building the rt^3 version of ogre |
| 21:05.46 | Ralith | ...which fails. >:| |
| 21:34.47 | *** join/#brlcad dtidrow (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net) | |
| 21:52.26 | pacman87 | https://webspace.utexas.edu/trv82/www/rev_rt15.png & https://webspace.utexas.edu/trv82/www/rev_wf06.png |
| 21:52.43 | pacman87 | wireframe upgrades for open sketches |
| 21:53.05 | pacman87 | now includes the lines that i added to close the sketch |
| 21:54.59 | Ralith | oo |
| 21:55.03 | Ralith | now just make that work for all primitives :> |
| 21:55.34 | pacman87 | Ralith: hmm? |
| 21:55.43 | Ralith | or wait |
| 21:55.47 | Ralith | wrong person |
| 21:55.47 | pacman87 | revolve takes in an arbitrary sketch |
| 21:55.51 | Ralith | all you p named people >:| |
| 21:56.10 | Ralith | anyway, looking nice! |
| 21:56.15 | pacman87 | ty |
| 21:56.25 | Ralith | can you define smooth curves in the sketch? |
| 21:56.30 | Ralith | or is it point-line only? |
| 21:56.48 | pacman87 | yes, lines, carc, bezier, and nurbs |
| 21:56.59 | pacman87 | though lines are the only ones working now |
| 21:57.20 | Ralith | so long as it's coming |
| 21:59.43 | poolio | Ralith: *achem* |
| 22:00.06 | starseeker | yay! |
| 22:00.18 | starseeker | can now parse core-001a.s into pieces |
| 22:00.45 | Ralith | poolio: sup |
| 22:00.47 | Ralith | :] |
| 22:27.22 | brlcad | Ralith: sorry, disappeared at 16:16 -- to answer your question -- it's something I predominantly do on my own, though I am (also) employed to work on BRL-CAD |
| 22:27.43 | Ralith | kk |
| 22:27.50 | Ralith | sounds pretty nice |
| 22:29.03 | brlcad | starseeker: nifty, using % parsing? |
| 22:31.43 | starseeker | not really (yet) - just a string with 4 key characters |
| 22:31.47 | brlcad | pacman87: interesting .. I think that's the first primitive that has a "self-intersecting" wireframe other than an invalid nmg/bot |
| 22:32.10 | starseeker | not sure if there is a reason to allow anything other than those 4, and if so % is not needed |
| 22:33.25 | pacman87 | i'd probably look better with a circular arc at the sketch's self-intersection point, but i'm not sure if that's worth the extra computation to find the intersection points |
| 22:33.25 | brlcad | "those four" being? |
| 22:34.09 | brlcad | for polyline/ployline, computing self-intersections is trivial :) |
| 22:34.32 | brlcad | nurbs-nurbs is probably the hardest |
| 22:35.03 | starseeker | n is for name substrings, i is for incremented regions, s is for separators, and e is for extension |
| 22:35.20 | starseeker | so core-001a.s would be nsinse |
| 22:38.24 | brlcad | how do you control how much padding? |
| 22:38.41 | starseeker | you mean 001 vs 01? |
| 22:39.17 | brlcad | sure |
| 22:40.07 | starseeker | That has to be a function of how many are ultimately needed to pad out to the maximum requested by the calling command - the larger of the supplied default (3 if in the core example you only wanted 10) or the minimum required by the maximum case (say, 5 if you wanted 10000) |
| 22:41.12 | starseeker | is currently trying to figure out how to use itoa to coax a string length out of a supplied integer |
| 22:41.31 | brlcad | withholds comments until he's let the brain enfeed some dinner |
| 22:51.38 | ``Erik | /nick p``Erik |
| 22:57.14 | PrezKennedy | golden corral! |
| 22:58.32 | pacman87 | brlcad: i wouldn't really expect too many sketches to be self-intersecting, anyway |
| 23:08.02 | *** join/#brlcad jonored (n=jonored@c-24-34-212-39.hsd1.ma.comcast.net) | |
| 23:09.34 | ``Erik | heh, old people food? :D |
| 23:17.41 | *** join/#brlcad clock_ (n=clock@77-56-92-145.dclient.hispeed.ch) | |
| 23:33.40 | *** join/#brlcad Ralith (n=chatzill@216.162.199.202) | |
| 23:57.55 | CIA-22 | BRL-CAD: 03starseeker * r31850 10/brlcad/trunk/src/librt/namegen.c: |
| 23:57.55 | CIA-22 | BRL-CAD: Upload (very) early stage work for functions intended to provide consistent |
| 23:57.55 | CIA-22 | BRL-CAD: automatic naming for tools that need it. Currently working on parsing a |
| 23:57.55 | CIA-22 | BRL-CAD: supplied primitive name into components based on a format string - routines will |
| 23:57.55 | CIA-22 | BRL-CAD: probably need to become more general. |