| *** blend_dem has quit IRC | 00:11 | |
| renderguy | Joron: JUst tried your latest mods, thanks, but now I get 'Not a TIFF or MDI file, bad magic number' when trying to convery 'human.bake.bake'. | 00:13 |
|---|---|---|
| renderguy | Joron: convery == convert. | 00:14 |
| *** blend_dem has joined #aqsis | 00:15 | |
| *** blend_dem has quit IRC | 00:23 | |
| renderguy | Bed's calling, night all. | 00:23 |
| *** renderguy has quit IRC | 00:23 | |
| pgregory | me too, night | 00:45 |
| *** pgregory has left #aqsis | 00:45 | |
| *** cgTobi has quit IRC | 03:27 | |
| *** [2]ShortWave is now known as ShortWave | 03:29 | |
| WayneZacMP | bbs | 03:55 |
| *** WayneZacMP has quit IRC | 03:55 | |
| *** cgTobi has joined #Aqsis | 04:02 | |
| *** ChanServ sets mode: +o cgTobi | 04:02 | |
| *** cgTobi has quit IRC | 04:02 | |
| *** cgTobi has joined #Aqsis | 04:04 | |
| *** ChanServ sets mode: +o cgTobi | 04:04 | |
| *** scorp007 has joined #aqsis | 04:11 | |
| *** c42f has joined #aqsis | 04:44 | |
| cgTobi | hi chris | 04:47 |
| *** cgTobi sets mode: +v c42f | 04:47 | |
| c42f | Hi Tobi, how's things? | 04:48 |
| *** scorp007 has joined #aqsis | 04:51 | |
| cgTobi | not bad you? | 04:54 |
| cgTobi | just about to go to sleep | 04:54 |
| c42f | Not bad apart from a bit of a cold. | 04:56 |
| scorp007 | hi all | 04:56 |
| c42f | cgTobi: How's the job in London going? | 04:56 |
| c42f | Hi scorp007 | 04:56 |
| cgTobi | its going ok | 04:57 |
| scorp007 | hi c42f, how's the texture generation going? | 04:57 |
| cgTobi | I can't complain | 04:57 |
| c42f | cgTobi: Hm, let me guess: "It's not too exciting, but a good starting point for 3D" | 04:58 |
| cgTobi | yeah, thats right | 04:58 |
| scorp007 | cgTobi, MPC, or something different? | 04:58 |
| cgTobi | therefore I need to get myself up and do some codeing | 04:59 |
| cgTobi | scorp007: MPC | 04:59 |
| scorp007 | ok | 04:59 |
| cgTobi | c42f: fiddeling with the display driver stuff | 04:59 |
| *** cgTobi sets mode: +v scorp007 | 04:59 | |
| scorp007 | I'd try to get a full time job there, when you graduate :) | 04:59 |
| c42f | scorp007: mipmap generation is looking better... did you try the sinc filter recently? I think there's still bugs, but it's improving. | 05:00 |
| scorp007 | c42f, nope, I just did an svn up, and tried building, but I have some compile errors. | 05:00 |
| c42f | cgTobi: you're fiddling with the displays are you? something to do with what Paul has been up to? | 05:00 |
| cgTobi | no, not at all | 05:00 |
| c42f | Ugh. what compile errors? | 05:00 |
| cgTobi | just try to find out how they work and write a simple one myself | 05:01 |
| c42f | cgTobi: cool :) | 05:01 |
| scorp007 | http://rafb.net/p/AynVVB98.html | 05:01 |
| cgTobi | c42f: I think I understand how it works in theroy, but getting it going seams another thing. at least at the moment, I am not pushing it too hard since I try to help my girlfriend with some actionscript stuff | 05:02 |
| cgTobi | scorp007: I, definitely will apply there... couldn't hurt to stick with them for a few years, neither me nor my CV ;) | 05:03 |
| scorp007 | hehe, sure | 05:04 |
| scorp007 | cgTobi, do you have any specific questions re the display driver? I wrote one for my max plugin, I might know a solution... | 05:05 |
| cgTobi | scorp007: hm, nothing specific at the moment, but good to know who to ask if I do :) thanks for the offer thoug. I surely will come back to you | 05:06 |
| scorp007 | np | 05:06 |
| cgTobi | is your display driver open source? | 05:06 |
| scorp007 | well, I don't have any license for it, as 1) It's unreleased, 2) It's specific to my max->renderman bridge | 05:06 |
| scorp007 | I.e. it's not a generic thing you can use | 05:07 |
| c42f | scorp007: which compiler were you using? | 05:07 |
| scorp007 | c42f, for aqsis? VC8 | 05:07 |
| scorp007 | c42f, perhaps I should do a clean? | 05:07 |
| cgTobi | scorp007: ok | 05:07 |
| c42f | oh, sure. I don't understand the first error :( The code looks fine to me. | 05:08 |
| cgTobi | scorp007: maybe I get back to you tomorrow. | 05:08 |
| cgTobi | need some sleep now | 05:08 |
| scorp007 | maybe I have some old .obj's lying around with out of date code. | 05:08 |
| c42f | I'd be a bit surprised if a clean build fixed the problem though | 05:08 |
| scorp007 | ok, gnight cgTobi | 05:08 |
| c42f | 'night Tobi | 05:08 |
| cgTobi | cya guys | 05:08 |
| c42f | scorp007: according to vc8, it looks like I've done something wrong with std::max, but I just can't see what. | 05:10 |
| c42f | back in a bit | 05:14 |
| scorp007 | c42f, why did you define the CqImageDownsampler class inside CqTextureMap? | 05:32 |
| c42f | back | 05:32 |
| c42f | scorp007: Well, I didn't think too much about that. Outside would in fact be fine - inside just happened to be the way that Paul's previous version worked. | 05:35 |
| c42f | It doesn't access any of the CqTextureMap members, so it may be better outside. Thoughts? | 05:35 |
| c42f | Note that you can view the filter kernel coefficients using debug output (-verbose=3) | 05:37 |
| scorp007 | Well, I personally prefer a flatter heirachy when possible, unless there is a need for it to be nested. | 05:38 |
| scorp007 | I'm still trying to think about what the error is caused by | 05:39 |
| scorp007 | why does scons make a copy of the source files into build_debug/ and build/, is that normal? | 05:40 |
| c42f | Hm, I may move it outside. I don't think there's a compelling reason for it to be inside anymore. | 05:40 |
| scorp007 | it's just that nesting adds unnecessary complexity | 05:40 |
| scorp007 | but I'd worry about fixing the compiler error first. You obviously don't seem to be having this problem? | 05:41 |
| c42f | Yes, build/ is normal. It's so that the source dirs don't get cluttered I gather. The "copies" are only hard links anyway so they don't take extra space (at least on linux) | 05:41 |
| scorp007 | yep, on linux :P | 05:41 |
| c42f | Yes, obviously I don't have the build problem ;) Our build server build.aqsis.org doesn't either. Seems to be a VC8 thing. | 05:44 |
| c42f | (could still be my fault of course) | 05:44 |
| scorp007 | likely | 05:44 |
| scorp007 | I'm just fiddling with it | 05:44 |
| scorp007 | (likely that it is a VC thing, not your fault, that is :P) | 05:45 |
| c42f | :-) Don't worry, I've seen plenty of times when a new compiler brings up new bugs. Strange that the first bit of code I've written after getting VC8 working has broken it again :( | 05:47 |
| scorp007 | so many warnings, lol | 05:50 |
| scorp007 | I wonder if it's all that auto generated code | 05:50 |
| c42f | Can you just paste one of the offending lines into a tiny test program? Then see if VC8 complains. | 05:53 |
| scorp007 | It's something to do with std::max and std::min, I think. VC8 did something stupid with macros at some stage using the same names | 05:54 |
| scorp007 | s/VC8/VC/ | 05:56 |
| c42f | Perhaps we should write our own Aqsis::max, targeted toward numeric types (ie, pass by value). | 05:58 |
| c42f | (rather than by reference) | 05:58 |
| scorp007 | no, I have definitely used std::max and std::min in vc8 before | 05:58 |
| scorp007 | it's not broken | 05:58 |
| scorp007 | I don't think there is a benefit in writing our own | 05:59 |
| c42f | If you saw the discussion on the mailing list, you'll see that pass-by-reference isn't completely optimised away for numeric types anyway. | 05:59 |
| * c42f isn't sure if yet another version of the max function is a good idea though. | 05:59 | |
| scorp007 | in what sense do you mean it isn't optimized? | 06:00 |
| *** AlexK has joined #aqsis | 06:02 | |
| scorp007 | hmmmm | 06:04 |
| c42f | using variables which are held by reference is slower than variables which are held by value. Significantly slower in an inner loop. | 06:06 |
| scorp007 | oh ok | 06:07 |
| c42f | Hence if we should prefer max(T a, T b) to max(T& a, T& b). | 06:07 |
| c42f | (for small types like int, double etc) | 06:07 |
| c42f | This is one of those nasty compiler dependent things, where you wish you could use the latter (better in general) version, but the compiler technology isn't quite uniform enough to allow us to make a clear cut choice. | 06:09 |
| scorp007 | I'd probably leave such micro and compiler dependent optimizations till a later stage, and only include them if benchmarks truely show measurable improvements. | 06:10 |
| scorp007 | ok. I have an idea as to what the problem is. | 06:12 |
| scorp007 | The preprocessor is doing something funky with the token 'max' | 06:12 |
| scorp007 | in fact, it seems to be setting it to an empty string | 06:13 |
| scorp007 | resulting in the code std::(...) | 06:13 |
| c42f | Argh, yuck :(( | 06:14 |
| c42f | Strange at the top of texturemap.h, we have #undef max. | 06:16 |
| scorp007 | well, I know one fix. | 06:16 |
| c42f | Shouldn't that stop the preprocessor from doing this. | 06:16 |
| scorp007 | c42f, the preprocessor probably mutates the token later. | 06:17 |
| c42f | apparently. | 06:18 |
| scorp007 | ok - the cleanest fix I think is to just move those #undef's to after the #include's | 06:19 |
| c42f | Sounds good to me. | 06:19 |
| scorp007 | ok, so it's built. What did you want me to test/ | 06:20 |
| scorp007 | ? | 06:20 |
| c42f | How about some of those test images from the forums which you posted? | 06:20 |
| scorp007 | ah, I see someone added the revision number to aqsis --version | 06:20 |
| scorp007 | good idea | 06:21 |
| c42f | Can you commit the #undef fix too please? | 06:22 |
| scorp007 | ok, in a sec | 06:22 |
| c42f | Note that the code hasn't been optimised at all, so it'll be much slower than it could be. | 06:22 |
| scorp007 | for now, I'm just hoping for correctness | 06:23 |
| scorp007 | but if it's a wip, I understand | 06:23 |
| c42f | That was my aim too :) | 06:23 |
| scorp007 | commited | 06:25 |
| c42f | cool. I'll move CqImageDownsampler to outside of CqTextureMap. | 06:26 |
| scorp007 | ok | 06:26 |
| scorp007 | is there any reason why you chose to only have 10 pages of mipmaps, ommitting the 1x1 map? | 06:27 |
| scorp007 | 3delight has 11 for the image | 06:27 |
| c42f | There's a reason, but personally I don't think it's good ;-) My mipmapping code generates all 11 pages, but other code which I've yet to dig through properly doesn't save all of them. | 06:29 |
| c42f | Should be simple to fix. | 06:30 |
| scorp007 | oh ok, cool | 06:30 |
| scorp007 | guess what? Looks identical to 3delight's output :) | 06:30 |
| scorp007 | congrats | 06:30 |
| scorp007 | at least from what I can tell on my new (crappy) lcd monitor | 06:30 |
| scorp007 | lcd's don't show colors as well as my good old crt | 06:31 |
| scorp007 | well, if you zoom in, there are minor differences, but to the naked eye, it's bloody close | 06:32 |
| scorp007 | this is with sinc, 8x8 | 06:32 |
| scorp007 | which is what 3dl defaults to | 06:32 |
| scorp007 | actually no, it looks identical, 100% | 06:33 |
| scorp007 | you are a genious | 06:34 |
| scorp007 | genius* | 06:34 |
| c42f | hehe, not. Very nice to hear that it's working though. | 06:34 |
| c42f | Can you test the difference when it's a non-power of two texture? That would be helpful. | 06:35 |
| scorp007 | should it be square, or will any irregular size do? | 06:36 |
| c42f | I've been very careful about trying to get it to deal with any size correctly. | 06:37 |
| c42f | so *hopefully* any size will be fine ;) | 06:37 |
| scorp007 | ok, will try a 1280x960 image | 06:37 |
| c42f | Actually, could you try the second dim. to be odd? | 06:38 |
| c42f | that would be a better test. | 06:38 |
| scorp007 | ok | 06:38 |
| scorp007 | what if they are both odd? | 06:38 |
| c42f | just as good. | 06:38 |
| scorp007 | ok | 06:38 |
| c42f | generally, just try to do strange screwy things to it, and see if you can make it do something unusual. | 06:39 |
| scorp007 | yep, as a good tester should do :) | 06:39 |
| scorp007 | on an image 1235 * 957 pixels, the last mipmap size is 5*4, and there are only 9 pages, whereas 3dl's is 2*1, with 11 pages. | 06:44 |
| scorp007 | and there are some very minor differences, but there are really hardly noticable, even to the trained eye. | 06:45 |
| scorp007 | and it's probably a matter of how many mipmaps you go back by as a source to every mipmap | 06:45 |
| scorp007 | which can be configured by the user | 06:45 |
| scorp007 | so in terms of the quality of the mipmaps generated now, I can't really complain | 06:46 |
| c42f | cool. So you don't notice any sideways shifting compared to 3delight? That would be a symptom of even/odd filter/image size mismatch... | 06:48 |
| scorp007 | nope, looks practically the same to me | 06:49 |
| c42f | The lack of small mipmaps will be fixed later. I think it's due to calculating the number of levels incorrectly at ri.cpp:5069. | 06:49 |
| scorp007 | oh ok, no worries then, just so you're aware of it | 06:50 |
| c42f | There should be some small residual differences, due to the way that the filter is windowed (3delight uses lanczos by default, we use a truncated cosine). Nothing to worry about though. | 06:51 |
| scorp007 | right, looks good enough to me | 06:51 |
| scorp007 | 3dl actually lets the user specify a windowing function on the command line | 06:52 |
| c42f | Yes, I know. | 06:52 |
| scorp007 | ok | 06:52 |
| c42f | I don't know how we'd incorporate that easily though. | 06:52 |
| c42f | (perhaps just a different RiFilterFunc with the window applied...) | 06:53 |
| scorp007 | perhaps some enum parameter? | 06:53 |
| c42f | No. The mipmapping code is completely agnostic about which filter it's using. All it knows is that it has a function pointer of type RiFilterFunc. | 06:55 |
| scorp007 | oh ok | 06:55 |
| scorp007 | its not much of an issue yet though | 06:55 |
| c42f | I don't see a clean way of putting in configurable windowing, except as a seperate RiFilterFunc. | 06:55 |
| scorp007 | the end user isn't likely to notice such things | 06:56 |
| c42f | As you say, a relative non-issue for now. | 06:56 |
| c42f | When I was testing the downsampling, I noticed that the differences between windows are mostly really subtle. | 06:56 |
| c42f | I don't think most users will care about them at all. | 06:56 |
| c42f | (barring the box window that is, which is a "bad thing") | 06:57 |
| c42f | The next thing to do is to add some optimisation for square-seperable filters. This would be good, as it makes the algoritm O(W) rather than O(W^2) in the filter width W. | 06:58 |
| scorp007 | oh, yes, that would be great for speed | 07:00 |
| c42f | 15:26 <+c42f> cool. I'll move CqImageDownsampler to outside of CqTextureMap. <<< Done, commited. | 07:00 |
| scorp007 | that sounds like what 3dl is doing presently | 07:00 |
| scorp007 | c42f, sweet, will build just to make sure | 07:00 |
| scorp007 | (nothing is broken that is) | 07:00 |
| c42f | sure, thanks. (thanks for the suggestion too) | 07:00 |
| scorp007 | np | 07:00 |
| c42f | 3dl is definitly making use of square-seperability. Otherwise they couldn't possibly claim that their algorithm is O(W), and they do claim that in the docs. | 07:01 |
| c42f | It doesn't work for all filters though. | 07:01 |
| scorp007 | yep | 07:01 |
| scorp007 | which ones are square separable? | 07:01 |
| c42f | box amd sinc at least. | 07:02 |
| scorp007 | ok, goodie | 07:02 |
| scorp007 | yep, all looks good, as before | 07:05 |
| c42f | quick glance through filters.cpp: seperable: sinc, mitchell, box, gaussian. non-seperable: catmull-rom, disk, bessel, triangle | 07:06 |
| c42f | Well, I've gotta go. Thanks for the testing. If you find bugs, a post to the mailing list would be most welcome. | 07:07 |
| scorp007 | ok, thanks for fixing, cya later | 07:07 |
| *** c42f has quit IRC | 07:08 | |
| *** scorp007 has quit IRC | 07:12 | |
| *** Pseudonym has joined #Aqsis | 07:33 | |
| *** Pseudonym has quit IRC | 08:23 | |
| *** Anteru has joined #aqsis | 08:43 | |
| *** Anteru has quit IRC | 09:00 | |
| *** Pseudonym has joined #Aqsis | 09:04 | |
| *** Pseudonym has quit IRC | 09:28 | |
| *** render has joined #aqsis | 09:34 | |
| *** AlexK is now known as AlexKK_biking | 09:53 | |
| *** Anteru has joined #aqsis | 10:18 | |
| *** Anteru has quit IRC | 10:28 | |
| *** Anteru has joined #aqsis | 11:03 | |
| cgTobi | hi all | 11:21 |
| *** cgTobi sets mode: +vvv AlexKK_biking Anteru render | 11:21 | |
| *** [1]ShortWave has joined #aqsis | 12:35 | |
| *** ShortWave has quit IRC | 12:51 | |
| *** Anteru has quit IRC | 13:41 | |
| *** AlexKK_biking has quit IRC | 14:19 | |
| *** ShortWave has joined #aqsis | 15:20 | |
| *** [2]ShortWave has joined #aqsis | 15:25 | |
| *** [1]ShortWave has quit IRC | 15:37 | |
| *** ShortWave has quit IRC | 15:41 | |
| *** cgTobi has quit IRC | 16:27 | |
| *** [2]ShortWave is now known as ShortWave | 17:29 | |
| *** cgTobi has joined #Aqsis | 17:58 | |
| *** ChanServ sets mode: +o cgTobi | 17:58 | |
| *** cgTobi sets mode: +v ShortWave | 18:25 | |
| cgTobi | evening all | 18:25 |
| *** cgTobi has quit IRC | 19:11 | |
| *** andrewatav has joined #Aqsis | 19:18 | |
| *** cgTobi has joined #Aqsis | 21:11 | |
| *** ChanServ sets mode: +o cgTobi | 21:11 | |
| *** mh_le has quit IRC | 22:31 | |
| *** mh_le has joined #aqsis | 22:31 | |
| *** irc.freenode.net sets mode: +v mh_le | 22:31 | |
| *** [1]ShortWave has joined #aqsis | 23:30 | |
| *** ShortWave has quit IRC | 23:46 | |
Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!