Monday, 2007-03-26

*** cgTobi has quit IRC00:16
*** Aren has joined #aqsis02:19
*** Aren has quit IRC03:30
*** scorp007 has quit IRC03:52
*** pgregory_ has joined #aqsis06:56
*** pgregory has quit IRC06:58
*** pgregory_ is now known as pgregory06:59
*** pgregory_ has joined #aqsis06:59
*** ChanServ sets mode: +o pgregory06:59
pgregorymorning all06:59
*** AlexK has joined #aqsis07:16
*** Pseudonym has quit IRC07:21
*** Anteru has joined #aqsis07:50
AnteruMorning07:50
pgregorymorning Anteru07:50
*** pgregory sets mode: +v Anteru07:50
Anterumorning paul07:50
*** pgregory sets mode: +v AlexK07:51
AnteruPeople come rushing in ^ :)07:52
*** scorp007 has joined #aqsis08:00
AnteruMorning scorp00708:00
scorp007hi08:02
*** pgregory sets mode: +v scorp00708:07
AnteruDo we have 4 applications now?08:09
pgregory508:11
scorp007Has google determined who is successful yet?08:11
Anteruw00t!08:11
scorp007Since I assume the deadline has been reached?08:12
AnteruYeah but I think they have time till the 4th march or something like that.08:12
scorp007What were the 5? I know Multi-threading, ... what else?08:12
AnteruRay-tracing, GPU, Flipbook, Multithreading, ... Parser?08:12
scorp007Anteru, 4th March? Its the 26th now?08:12
Anteruähh 4th april :P08:13
Anteruehh ^08:13
scorp007So Google has till the 4th April to decide?08:13
AnteruWanted to turn back time to have 24 days left for learning.08:13
AnteruIf I understood it correctly, the students will be noticed till then whether they have been accepted.08:13
scorp007you mean notified?08:14
Anteruerr, yeah, notified08:14
AnteruDamn, what's going on today :)08:14
scorp007ok, I somewhat understand now08:14
AnteruSeems this chinese remainder theorem makes me crazy ...08:14
AnteruPaul, what's the 5th? The RIB-Parser rewrite or something different?08:15
pgregoryAnteru: MT, Animation Player, RT, RT, GPU08:16
scorp007RT = RayTracing twice?08:16
AnteruCool08:16
pgregoryyep08:16
AnteruThen it might work08:17
scorp007umm? Two separate ray tracing projects?08:17
AnteruWith two people, it could work, for one, the 12 weeks aren't enough probably ...08:17
scorp007oh, I see now08:17
scorp007will they work together on the same project/08:17
scorp007?08:17
pgregoryAnteru: they can't work together on the project, they have to work separately08:17
AnteruOh noes :/08:17
scorp007then are they both somewhat unrelated raytracing projects?08:18
scorp007I hope they won't end up re-doing each other's work08:18
AnteruSomehow ... if both get accepted ...08:18
pgregorynope, they are both the same, just applications by two different students.08:18
scorp007oh08:18
scorp007What happens if both get accepted?08:18
pgregorythey both do raytracing08:19
scorp007but will their work conflict?08:19
pgregoryI wouldn't accept both results into the project codebase08:19
AnteruYou can pick the better one ...08:19
scorp007then it would kind of be pointless for them both to work on it, only to throw it away.08:20
pgregoryyep, but there's nothing I can do about it08:20
pgregoryalso, I believe Google encourages such competition.08:20
scorp007oh? Interesting08:20
AnteruAnd competition doesn't hurt the code quality ^08:20
scorp007perhaps the students could each work on a particular subsystem of raytracing, so their work complements each other.08:21
pgregoryhttp://code.google.com/support/bin/answer.py?answer=60314&topic=1072708:21
AnteruI'd say we wait until we know who has been accepted :)08:21
scorp007oh ok08:22
scorp007I would much rather the students work on two separate things, for the better of Aqsis.08:22
pgregoryso would I, but if they both want to do RT, what can we do?08:23
scorp007not much.08:23
*** cgTobi has joined #Aqsis08:31
*** ChanServ sets mode: +o cgTobi08:31
pgregoryhi Tobi08:37
*** render has joined #aqsis08:37
AnteruGooood mooorning tobi, render08:37
cgTobihi all08:37
*** cgTobi sets mode: +vv pgregory_ render08:37
cgTobiIt's the final day for SoC submission, right?09:19
scorp007guess so09:19
*** kaz has joined #aqsis09:19
kazhiya09:19
scorp007hi kaz09:20
pgregoryhi kaz09:20
kazpgregory: i'm one of the guys that submitted a rt proposal, and since apparently students are allowed to update their proposal only once, i replied to your comment with a comment also. just wanted to make sure you had the chance to look at it (i don't know how this stuff works on the mentor side - whether you get notified after your comment has been answered with an update and don't get notified about comments to comments or... well, just wanted to09:20
kazmake sure ;) )09:20
pgregorykaz: I don't get notified, but I'm monitoring it closely.09:20
pgregoryi saw your comment, and that clarifies things quite a bit.09:20
kazoh, ok09:20
*** cgTobi sets mode: +v kaz09:20
kazsorry to bother you about it then09:21
pgregorykaz: I'm quite happy with your proposal as it stands now09:21
pgregoryno bother at all09:21
kazi was just wondering - do you guys know how many spots you get?09:21
kazor does google decide on that later?09:22
AnteruHi kaz09:23
kazhey Anteru09:23
pgregoryI set a 'preferred' number, but as I understand that, it's really a max, and it's up to Google how many applications get accepted.09:23
scorp007I'd set it as high as allowed :)09:24
kazdifintely :D09:24
kazeh... definitely09:24
pgregoryscorp007: not really, as there are only 4 mentors, and we're all quite busy.09:24
scorp007well, depends on how much mentoring is required. I wouldn't know09:25
pgregoryfor the sort of tasks that are being proposed, I'd suspect quite a lot09:25
scorp007but I guess students will have a lot of questions09:25
kazi'm quite surprised you got so little applications - i think i remember reading some organizations got over a hundred last year09:27
kazbut i than again - your projects probably require a bit more work than a site revamp or a new widget ;)09:28
scorp007well, it is our first time in SoC09:28
AnteruAqsis is not as well known as say Apache09:28
scorp007and the use of Renderman is not as widespread as a webserver, for instance.09:29
kazit's definitely not something you learn at school...09:29
kazanyways, off to do some work. and maybe grab a bite to eat first...09:30
kazbye09:30
scorp007cya09:30
scorp007render == renderguy?09:31
kazthanks for all the info :)09:31
*** kaz has quit IRC09:31
pgregoryscorp007: no, render != renderguy09:31
scorp007ok09:31
scorp007has renderguy (I forget his name), had a chance to troubleshoot the wiki?09:32
pgregorydon't know yet, Leon is away for a couple of days.09:33
scorp007oh yeah, Leon's the name.09:33
scorp007ok, no problem09:33
pgregoryhe did say he was going to take a look at the weekend, so it might be worth trying.09:33
scorp007does this mean that every time we update the wiki, it duplicates the whole page as a revision, or that it simply does not store history/09:34
scorp007?09:34
pgregoryI think at the moment, it's not storing history.09:35
scorp007ok09:35
pgregorywhich is a bit of a problem.09:35
scorp007very much so09:35
* Anteru just imagines someones wants to damage the wiki by editing to spam, then we have a hard time to get back ...09:42
pgregoryI'll take a look, but I can't promise anything...09:42
pgregoryfixed09:58
cgTobicool, cheers Paul10:02
Anteruwell done10:02
tcolgatemornin'10:26
AnteruMorning minty10:26
cgTobimorning Minty10:26
pgregorymorning10:26
tcolgateCheck disk space and permissions on the directories it writes to.10:27
pgregorytcolgate: yep, fixed10:27
pgregoryit was permissions, Leon likes to lock things down, sometimes a little to vigorously.10:28
tcolgateah yes, missed that :)10:28
scorp007ah, cool, the wiki's already fixed?10:33
pgregoryshould be, only briefly tested, all previous changes are lost, but should work from here on in, unless someone changes the permissions again.10:34
scorp007looks like it's working well, I'm testing on the Playground10:34
scorp007make sure you let Leon know not to undo your fixes ;)10:35
Anterubbl10:41
scorp007Paul, do you think that perhaps the new advanced framebuffer, and the flipbook should be the same project?10:41
pgregoryscorp007: they could share some functionality, yes10:42
pgregoryI have mentioned that possibility to the student who made the application.10:42
scorp007but shouldn't they essentially be the same application? Kind of like Houdini's MPlay?10:42
pgregorythat's one possibility.10:42
scorp007Houdini renders to Mplay, and the user plays back his sequences in it10:42
scorp007I think i-display is aiming at the same thing10:43
scorp007But then again, other apps do it with two separate applications, such as Maya/fcheck, 3dsmax/RAM player10:48
scorp007So I don't mind either, as long as its fast.10:48
AnteruWell, it should be no problem if there is some overlap between two projects ...10:48
scorp007well, hopefully they will use a common shared library10:48
scorp007I'm very much liking fltk as a GUI toolkit from my limited exposure to it, over other toolkits10:50
scorp007I just hope they're version 2 becomes stable in the near future10:50
tcolgateFlipbook functionality is one of the things I considered for my intial idea for the DB project.10:50
scorp007DB?10:50
tcolgateegads, two applicants for doing RT!!!10:51
scorp007hehe, just found out?10:51
cgTobiI guess DB == FB !?10:51
scorp007tcolgate, are you happy, or annoyed?10:52
* tcolgate really wishes he'd just got on and done it "his way" now.10:55
tcolgatescorp007: nervous.10:55
scorp007you don't like their proposals for it?10:55
scorp007well, you are a mentor, you have input to persuade them.10:56
* scorp007 hasn't read the proposals, so doesn't know10:56
scorp007but these things should be publically discussed anyway, so the whole community can see what's going on.10:57
AnteruMinty, the C-way, eh? ;)10:57
scorp007I thought Aqsis is written in C++?10:57
Anteruit's an insider joke :)10:58
scorp007I guessed so.10:58
AnteruCertain developers have different preferences, you know :P10:58
tcolgateThe second one looks a little week, I suspect he's just read my notes and doesn't really realise what a mess he is about to get into, it could bea  language problem I suppose.10:58
Anterutcolgate : Is the second one riseven?10:59
pgregorytcolgate: Jose has just added a comment that gives a little more detail.10:59
scorp007by language, do you mean natural, or pragmatic?10:59
AnteruHe's Spanish, he said his English is not that great ^10:59
scorp007oh ok10:59
tcolgatepgregory: yes, though the update doesn't fill me with confidence.11:03
tcolgateThe first of the two RT proposals looks a bit more promising, though I think we'd have to talk him out of the SSE stuff first.11:03
pgregorynot interested in SSE at all, that really doesn't matter11:03
tcolgateindeed11:04
pgregoryI seriously doubt either of the students really have a good handle on how much work is involved.11:04
pgregoryI think perhaps scorp007's suggestion of splitting the project into two parts if they both get accepted would be good.11:04
tcolgateagreed, the first chap seems to have done a bit more research though.11:04
AnteruHm11:05
tcolgatepossibly, certainly a geometry cache has other useses (for re-rendering for isntance), perhaps we could convince them to work just on that.11:06
AnteruYeah.11:06
AnteruMoreover, he only gets the money if he finishes.11:06
AnteruSo it's better to set smaller goals that will be reached instead of too big ones ...11:06
pgregorytcolgate: but a geometry cache isn't related to RT per se.11:06
tcolgatemoney?11:06
AnteruYeah, they get 4500$ for their work?11:07
AnteruIf they finish it in time ...11:07
scorp007We must explain that we prefer quality over quantity. I would rather see a smaller project done well, than a half-baked attempt at a larger one.11:07
tcolgateNo, it doesn't sound as sexy, but the data strcutres would be sueful in the grid cache for RT anyway.11:07
Anteruplus 500$ for Aqsis per student.11:07
AnteruWhich means best case 2500$ for Aqsis :) and 22500$ for the students11:07
tcolgateAny RT system for a REYEs system that doesn't employ some kind of grid cache is either wrong, or alot cleverer than I can possily imagine.11:08
pgregorytcolgate: I was thinking the split would be more like, 1 person does geometry caching, and the other does the ray traversal, along with the issues related to shading.11:08
tcolgatehmm, could they work on one of them without the other in place?11:08
pgregorytcolgate: true, probably not11:08
pgregoryit's difficult, as RT is a really big one, and the time is limited.11:09
scorp007perhaps if you provide them with a well-defined interface to implement? Or is designing that part of their job/11:09
scorp007?11:09
tcolgateyeah, and, as you know, it's something I'm apssoinate about getting right.11:09
tcolgateI imagine the problem there is that they are going to want to work on something "sexy"11:09
scorp007tcolgate, that's why you're a mentor for them. To guide them to do it right.11:10
AnteruYeah ^ You have to show them that a grid cache can be sexy, too :)11:10
pgregoryI think there will be a 'lot' of mentoring on the RT one(s).11:10
Anteru:)11:10
scorp007likely11:10
tcolgateyes, infact, more than likely I think we'd all have to dig in and help them write the bloodey thing aswell.11:11
pgregorywe'd have to be very very careful about that, remember Google are paying these people.11:12
tcolgateyes, true enough.11:12
* tcolgate thinks money makes things so damned complicated.11:12
* pgregory thinks he'd very much like his life to be a little more 'complicated' then ;-)11:13
tcolgate:)11:13
* tcolgate finds the complication to be all too shortly lived.11:13
AnteruHmm ...11:14
scorp007Essentially, in the first week or so, make sure they discuss how exactly they are going approach whatever they're doing, so it sits right with you guys, and you have an agreement, before they run off and start coding their own fantasy.11:14
Anteruhrhr11:15
scorp007so you don't end up getting something useless at the end of the 12 weeks...11:15
pgregorythere is a period before the 'project' proper begins, during which we will be doing just that.11:16
tcolgateFor the simple multi thread support I think it's not too bad, the code is simple and it's really about testing and implementing all the wierd fiddly bits we haven't thought of yet.11:16
scorp007Paul, ah, ok, I figured you had it all planned out ;)11:17
pgregoryscorp007: April 11: List of accepted student applications published.11:17
tcolgateIf the chap wants to go for the secy approach thenwe've got alot more work, but even then, it should be doable. if he comes up with his own crazy plan then we will need a week staring at white boards to figure out if what he wants to do is even valid. I'm rather scared of the latter option.11:18
pgregoryscorp007: May 28: Students begin coding.11:18
scorp007pgregory, wow, thats a lot later than I thought11:18
tcolgateI take it there is some kind of sign off process, if one of these RT guys should go running off and writing an utterly useless RT hider that is no god to us, does he still get paid?11:19
pgregoryhttp://code.google.com/support/bin/answer.py?answer=60325&topic=1072911:19
Anteru^ No11:19
pgregorytcolgate: we do midterm evaluations, and final evaluations, the decision to pay is based on those evaluations.11:19
pgregoryat least partially11:20
scorp007I guess the interim period before the coding starts seems reasonable. Should give you guys enough time for the design phase.11:21
tcolgateCal me cynical (unsympathetic, 9 down), but there is no way in hell someone is coming into this project fresh and writing us an RT system in 4 months.11:22
tcolgatementor or no mentor.11:22
scorp007unless he has extensive history in raytracing...11:22
pgregorytcolgate: then we're in trouble11:22
AnteruWith the proper mentor ... :)11:23
scorp007Hopefully the application for this project will be well versed in what he is applying for. Not intending to learn in on the fly as he is coding, from his mentors.11:23
tcolgatepaul: we've often quoted atleast 6 moths for the job, I'd say it'd take be atleast that, and that'd be relatively full time.11:23
scorp007s/application/applicant/g11:23
pgregorytcolgate: when I quoted 6 months, I wasn't planning on quitting my day job to do it.11:24
tcolgatequite, my point being that it'd take me that i I were doing it full, and a shit load longer if I were doing it part time.11:25
pgregoryhmm, I'd considered 6 months part time, to get the basics working, nothing too clever to begin with.11:26
tcolgatepaul: do you reckon you could do it in 3/4 months if you were doing it full time?11:26
scorp007And a shitload longer than that if the implementor didn't know what he was doing.11:26
scorp007tcolgate, has it already been designed sufficiently for someone to start the implementation?11:27
pgregoryyeah, basics11:27
tcolgateWell, thye have to know what they are doing, and they have to know C++, you are talking a good months to familiarise yourself with all the relevant bits of aqsis (assuming you can mostly ignore a few larger chunks, like the RIB parser and so on).11:27
pgregorytcolgate: they have 6 weeks to familiarise11:28
AnteruOne has written a ray-tracer already, so he should know a bit what he does (not sure how complex that ray-tracer was though).11:28
tcolgatescorp007: nope, I have a plan, but that is more of an academic description of the technique I like rather than anything specific. I've not even considered the grid cacheing yet.11:29
tcolgateAnteru: I've writen a ray tracer, I could probably do you a ball and a grid floor in the next few hours, that's a million miles away from wahat is needed here.11:29
AnteruYeah, I know. I just hope he has worked on a PBRT-style one :)11:30
scorp007tcolgate, where in your opinion does most of the challenge lie?11:30
AnteruI.e. not /that/ kind of ray-tracer ...11:31
AnteruI suppose everyone here could write the one you mentioned in a few hours ^11:31
tcolgateRight, the key prpoblem is that implements a truly combind REYEs and rendering architecture is not really lie writing a GI renderer with all the nice  integals and energy stuff.11:36
tcolgateIt's pragmatic, you have a defined pipeline to work in, for good reasons, it's memory efficient and designed to render really truly massive detailed scenes (GI renderers aren't good at that).11:37
tcolgateThe challenges in the approach I have outlined are pretty much inthe grid cacheing.11:38
*** riseven has joined #aqsis11:38
risevenhi all11:38
scorp007ok11:38
scorp007hi riseven11:38
riseveni've just submitted my rt proposal11:39
riseventhere is no single link, because i don't know the exact deadline hour11:40
tcolgateHi11:40
risevenbut i can provide link to almost everything i tell on it :)11:40
tcolgatebeyond the basic stuff, the really sexy stuff is the potential for ray scheduling and  implementing a nice serialisation interface for the shadervm.11:41
riseveni have some preliminar ideas about ray scheduling11:42
pgregoryriseven: just read11:42
pgregoryyou'll need to give more information about the geometry caching.11:42
pgregoryyou mention that Reyes cannot discard primitives, but that is exactly the way Reyes works, it has to. The RT subsystem will need to work in separation.11:43
*** cgTobi sets mode: +v riseven11:43
pgregoryI'll add these comments to the proposal thread for reference.11:44
riseveni know reyes discards primitives11:45
risevenwhat i mean is that a rt can't do that11:45
Anteruhm?11:45
Anteruit can discard geometry, it just has to re-tesselate/shade it as soon as it is needed again ...11:48
*** cgTobi has quit IRC11:51
*** |rt| has quit IRC11:51
*** render has quit IRC11:51
*** scorp007 has quit IRC11:51
*** AlexK has quit IRC11:51
*** pgregory_ has quit IRC11:51
*** pgregory has quit IRC11:51
*** Anteru has quit IRC11:51
*** ShortWave has quit IRC11:51
*** Auralis has quit IRC11:51
*** tcolgate has quit IRC12:08
*** riseven has quit IRC12:09
*** pgregory has joined #aqsis12:13
*** tcolgate has joined #aqsis12:13
*** Auralis has joined #aqsis12:13
*** ShortWave has joined #aqsis12:13
*** pgregory_ has joined #aqsis12:13
*** irc.freenode.net sets mode: +ovvv pgregory Auralis ShortWave pgregory_12:13
*** AlexK has joined #aqsis12:13
*** |rt| has joined #aqsis12:13
*** cgTobi has joined #aqsis12:13
*** render has joined #aqsis12:13
*** irc.freenode.net sets mode: +vvv AlexK |rt| render12:13
*** ChanServ sets mode: -o pgregory12:14
*** ChanServ sets mode: +o cgTobi12:14
*** cgTobi sets mode: +vv pgregory tcolgate12:14
*** cgTobi sets mode: +o pgregory12:15
*** riseven has joined #aqsis12:17
risevenhi12:17
risevenhave been a server crash, or it was only me who can't connect?12:18
pgregoryriseven: no, freenode is going through a bit of a problem patch at the moment.12:18
risevenah12:18
riseveni have updated the proposal12:18
pgregoryriseven: just reading.12:19
riseven:D12:19
*** tcolgate has left #aqsis12:20
*** tcolgate has joined #aqsis12:25
tcolgateoh dear, it's all over the palce.12:25
pgregoryit'll settle12:25
*** cgTobi sets mode: +vv riseven tcolgate12:28
*** Aren has joined #aqsis12:29
tcolgateriseven: still here?12:30
risevenyes12:33
tcolgateaha12:33
tcolgateCould you elaborate a little on your C++ experience, aqsis is not a small project and the time frame on the RT job is going to be very tight as it is.12:34
riseveni can't modify the detailed12:35
risevenit's ok if i write it as a comment?12:35
tcolgateIn here, or in a comment on the application will be fine.12:35
risevenok12:35
pgregoryriseven: here is ok, everyone relevant is here, or reads the logs.12:35
riseveni have been working c++ since i was 1512:35
risevenworking in complex things suchs as compilers12:35
tcolgateAre there any large open source C++ projects you've worked on?12:36
risevennot so large12:36
tcolgateHave you taken a look at the code yet?12:37
risevenyes i have12:37
*** cgTobi sets mode: +v Aren12:37
risevenwell, the 3d strategy game we did two years ago was12:37
risevenmm12:37
risevenabout 110 classes12:37
tcolgateYour proposal is very much in line with my own ideas on the RT sub-system, which is a good thing, I just want to make sure you understand just hw big the task is.12:37
riseven:D12:37
risevenyes i know how big is12:38
riseveni now know12:38
riseventhat is much more that i have guessed when i readed "ray tracer"12:38
tcolgateaqsis is very heavily template (and STL) driven, so if you are going to "hit the ground running", knowledge of the language is an important thing.12:38
risevenlast year12:38
pgregoryjust as side question, would you be prepared to cut back on the project?12:39
risevenwe do a AI lib12:39
riseventhat used templates12:39
riseveni designed a reference-like pointer system12:39
risevenusing templates12:39
risevenmmm, i dind't understand "cut back on the project"12:40
risevenmy english....12:40
pgregorysorry12:40
tcolgateriseven: We are starting to think that the RT project might be better split into smaller parts with several candidates, if it can be done.12:41
pgregoryI mean, if I were to suggest that it is more achievable to for example, just do the geometry caching part of raytracing, would you be willing to undertake that as a project, or are you keen to specifically do raytracing.12:41
riseveni don't have such a problem12:41
tcolgateFor isntance, serializability and scheduling for the shader vm interface could be implemented serperately from the grid/geometry cache.12:41
riseventhe parts i like more are the world representation / scheduling12:42
risevenso whichever part i have to do12:42
risevenit will like me12:42
risevenand i have previous experience with RT, BSPs (see my paper :) ) and interpreters12:44
risevenso i feel...12:44
risevenprepared?12:44
risevenso i think im capable12:45
riseven:)12:46
* tcolgate really needs to get on wth some proper work.12:47
tcolgateriseven: We will need to talk to the other potential RT candidate and see if he is happy to split the work.12:49
risevenok12:50
riseventhere are too much people intereseted in RT?12:50
tcolgateIn al ikelyhood, neither of you would be working on "Ray Tracing", for SoC, but on two components that would then form the major part of the ray tracing system. You could then stick around after to implement the actual RT side of things with others, but that would not be part of SoC.12:51
tcolgateThat would be better for you in many ways as it makes your SoC goals more achievable.12:51
riseventhat's great12:51
tcolgateriseven: No, not too many, we have two candidates (including you), that we like, but it really i a very very big job.12:51
riseveni mean to continue working on aqsis after soc12:52
risevenbut i think that people that chooses projects like this, is because they really like it12:52
tcolgateI would advise starting to look into the code ASAP.12:52
risevenim doing that right now12:52
riseveni started trying to solve bugs12:53
tcolgateAlso, I have a page on the Wiki relating to my RT ideas (very much in line with yours), but it is a long way from containing enough detail to be very useful, it is more a justification for why I want things done that way.12:53
tcolgateexcellent.12:53
risevenbecause is a less boring way to learn the code12:53
riseven:)12:53
tcolgateindeed.12:53
risevenah, i have seen that you have just released 1.212:54
risevencan i ask what major features are planned for next release?12:54
pgregoryraytracing :-)12:57
pgregoryseriously, speed is our main concern at the moment.12:57
*** Anteru has joined #aqsis12:58
risevenhi anteru12:58
Anteruhi riseven12:58
Anterure12:58
*** cgTobi sets mode: +v Anteru12:59
Anteruthnx tobi12:59
cgTobihi Anteru12:59
*** Aren has quit IRC13:11
tcolgatepgregory: and RiResource support for MtoR ;)13:12
*** mafm has joined #aqsis13:12
Anteruhi mafm13:13
mafmhi13:13
*** cgTobi sets mode: +v mafm13:13
mafmthanks :)13:14
tcolgateLet me guess, you've just submitte your proposal for RT support in aqsis?13:14
*** pgregory has quit IRC13:15
*** pgregory has joined #aqsis13:15
mafmnope, I submitted the one about threads a few days ago13:15
*** ChanServ sets mode: +o pgregory13:15
pgregoryoops13:16
pgregorywhat did I miss?13:16
mafm19 seconds of silence13:16
Anteruactually, mafm pasted a link to his RT implementation and it seems to work fine ...13:17
mafmRT == raytracing?13:17
Anteruyeah, hey, you spoil my joke :P13:17
risevenhi mafm13:18
Anteruyou should have said something like: "A bit left to optimize but pretty happy as it stands" or something like that :P13:18
tcolgatemafm: Hi, sorry, me being sarcastic again.13:19
tcolgatemafm: I am your potential Mentor for the multi-threading work, I am also the chap that should have done the work in the first place, so I am probably the person to throw question at.13:20
mafmwell, I really intend to implement a micro-kernel tu run aqsis directly over it and so on, so we get the better performance13:20
mafmbut it was supposed to be a secret :S13:20
AnteruGood idea, it could run on my new RISC-CPU I'm just about to invent :P13:21
tcolgatesounds like a plan, I think paul Anteru can mentor you on that one,13:21
* tcolgate runs.13:21
mafmit'll integrate nicely =)13:21
* Anteru runs after Minty13:21
tcolgatemafm: On a more serious note, have you had a look at the codebase yet?13:22
mafmnot much, just tried to compile aqsis (successfully) a while ago at home13:22
tcolgateOk, that is a start.13:23
tcolgateWhat is your main developement platform?13:23
mafmI have to do a lot of work this semester in order to have free time at summer :D13:23
mafmlinux, Debian13:23
tcolgateok13:23
tcolgateDid you see my reply ont he forum about the two possible approaches?13:23
Anterutcolgate: About Boost.Threads13:24
mafmI was about to read it now :D13:24
tcolgateWell it was mostly about the two possible method of implementation.13:24
AnteruThey leak memory on windows and are being rewritten ... not sure how good they are on linux though.13:25
tcolgateThey leak about 128 bytes on windows from what I've read, and that was a very veyr long itme ago.13:25
AnteruYeah, anyway ...13:26
tcolgateThat 128 bytes wasn't even per thread, it seemed to be a flat rate loss of a few bytes when the library was used due to issues with the ddl init and shutdown stuff.13:26
AnteruYup. Anyway, they want to rewrite it.13:26
AnteruThey are rewriting it.13:26
tcolgateAs it standsa the API looks good, and clean, and we already use bits of boost, so, to my mind, we either use boost, or we write our own abstraction.13:27
AnteruIt's nothing serious if we don't want other dependecies we can stick with Boost.Threads ... just something to be aware of.13:27
mafmI saw something about being replaced by Boost.Future IIRC (kind of weird name)13:28
AnteruYeah, that's something from "Concur"13:28
tcolgateIn the long term boost::threads, in whatever form it takes, will be the thing to use (it'll practically be part of the standard), so rather than rewrite for random libsomethreadlib we might aswell stick with boost at migrate if they change thier api.13:28
mafmif they maintain the semantics between the implementations, and probably they'll be similar in any library, changing it won't be very hard13:29
AnteruSounds like a plan13:29
tcolgatemafm: We basicaly have two approaches we have already considered for threading. They both have a bit of an agenda behind them.13:30
tcolgateYou may wel be able to come up with something better yourself.13:31
tcolgateBasically, we already havesome ideas, but we are open to new ones, I'm not looking to force anyone to write anything that I was too lazy to do myself. But, to so that you know, we have had quite a bit of debate about threding before and there are a couple of plans out there.13:32
mafmthe boost and hand-made implementation?13:35
tcolgatenope, sorry, I'm rambling a bit.13:35
tcolgateWe have two proposals for what we want to multi-thread and why.13:35
mafmah ok :D13:36
tcolgateThe first relates to Ray Tracing. Basically, the process we have devised for ray tracing relies  on shading that can be suspended), one implication of this is that we havea  thread sage, reentrant, shaer vm.13:36
pgregorynot really multi-threading per se, more thread safety though.13:37
tcolgateNow, that doesn't actually imply that shading *has* to be multi threaded, just that it has to be thread safe. So my plan was, make the shading multi threaded, then we know it is thread safe :)13:37
tcolgatepgregory: eaxctly.13:38
mafm(one note about threading libs... I have close to zero idea about windows, so I prefer to use a standard 3rd party lib too, as I wrote in the proposal)13:40
tcolgateNow, that is vision one, it isn't really about performance, it's about making RT a little easier, and doing it right. It also has some potential performance advantages, but we have other perforance issues, so threading hte shadervm isn't going to bea huge performance win at this time.13:41
tcolgatemafm: yes, again, boost looks lik a good choice for platform independence.13:41
tcolgatemafm: ...with me so far?13:41
* pgregory concurs13:41
mafmsorry I'm multitasking a bit, I'm currently reading this log :D13:42
tcolgateno probs, I have a habit of typing alot, and ranting a bit.13:42
mafmOK, read until now13:43
tcolgatemafm: with me? I can move on to vision 213:47
mafmyep13:47
tcolgateright...13:50
tcolgateThe second approach is really geared toward distributed rendering13:50
mafmseveral machines, or only one?13:51
pgregoryinitially only one13:52
pgregoryalthough the proposed approach could be adapted to work across a network.13:52
tcolgateThe idea is to imeplement it with full distribution in mind, but initially just to deal with multiple threads.13:52
mafmby the way, does it really need to be with threads or could it be done with multiple processes?13:54
tcolgateSo you can ignore all the tricky network protcol gubbins, serialisatoin ad all that, but the designa nd terminology around it should try and keep the bigger picture in mind.13:55
pgregoryit'll work with either, but the implementation will probably be easier for threads initially.13:55
tcolgatemafm: My proposal really needs to be thread based.13:55
tcolgatet is important to state that we are not simply talking about dicing up the image inot little bits and rednering each in a seperate process/thread.13:56
mafmI see13:56
tcolgateYou could do that now with cropping and a render farm shell script to manage the work.13:58
mafmso my proposal is more like to this second approach, right?13:58
tcolgateYou could do either, it depends what you want to do.13:59
tcolgateAs I said in the forum post, in all likelyhood we will end up with both thigs actually happening.14:00
tcolgateThe second proposal results in far more of the REYEs pipline being handed out to threads, so would, in theory, have bigger speed gains, but again, it's not really about speed at this stage, it's about distribution (think of NUMA style systems).14:02
*** ShortWave has quit IRC14:02
*** ShortWave has joined #Aqsis14:02
*** [1]ShortWave has joined #aqsis14:03
tcolgateThe being said, proposal 2 is harder :)14:03
tcolgateI can well imagine us ending up with both anyway, architecturally it makes sense.14:04
mafmone thing that I'm worried about is how to know the number of "cores" or CPUs available14:04
tcolgatemafm: I wouldn't worry about that.14:04
pgregorymafm: you don't, you leave that decision up to the user.14:04