Mohamed Sakr (msakr)
User

Projects

User does not belong to any projects.

User Details

User Since
May 30 2013, 12:55 AM (212 w, 2 d)

Recent Activity

May 15 2017

Mohamed Sakr (msakr) created T51506: shadow catcher + denoiser bug.
May 15 2017, 9:32 PM · Cycles, BF Blender

Mar 7 2017

Mohamed Sakr (msakr) added a comment to T38279: Improve Cycles standalone.

I'm just following the great folks :) , Brecht, Sergey, Lukas, DingTo, Juicyfruit

Mar 7 2017, 3:06 AM · Cycles, BF Blender

Nov 9 2016

Mohamed Sakr (msakr) added a comment to T49966: DOF, object ID and material ID layer bugs.

@Lukas Stockner (lukasstockner97) as I mentioned, for object and material IDs, they need a layer per ID. (So here you can average them, as the layer will be used any way, black and white).

Nov 9 2016, 3:07 PM · BF Blender, Cycles

Nov 8 2016

Mohamed Sakr (msakr) added a comment to T49966: DOF, object ID and material ID layer bugs.

from code inside buffers.cpp, bool RenderBuffers::get_pass_rect(PassType type, float exposure, int sample, int components, float *pixels)

Nov 8 2016, 7:51 PM · BF Blender, Cycles
Mohamed Sakr (msakr) created T49966: DOF, object ID and material ID layer bugs.
Nov 8 2016, 7:04 PM · BF Blender, Cycles

Aug 26 2016

Mohamed Sakr (msakr) added a comment to T38279: Improve Cycles standalone.
Aug 26 2016, 12:00 AM · Cycles, BF Blender

Oct 18 2015

Mohamed Sakr (msakr) added a comment to T43865: Cycles: Watertight rendering produces artifacts on a huge plane.

hey Sergey, what about recursive splitting to this triangle? "depending on triangle size" , this would solve everything in the preprocess stage

Oct 18 2015, 12:49 PM · BF Blender: Regressions, Cycles, BF Blender

Oct 15 2015

Mohamed Sakr (msakr) added a comment to T46492: GGX distribution produces black pixels.

win 8 64 bit

Oct 15 2015, 5:35 PM · Cycles, BF Blender
Mohamed Sakr (msakr) added a comment to T46492: GGX distribution produces black pixels.

I'm using gooseberry 2.75 e96e452 and it works fine on CPU "i7" and CUDA "780, 970" , both supported and experimental mode.

Oct 15 2015, 2:17 PM · Cycles, BF Blender

Oct 6 2015

Mohamed Sakr (msakr) added a comment to T44903: Geforce TitanX SSS material on GPU renders slow .

I got 2 cards, GTX 970 and GTX 780, testing with experimental mode with a SSS material

Oct 6 2015, 1:39 PM · Cycles, BF Blender

Sep 2 2015

Mohamed Sakr (msakr) added a comment to T45914: Cycles Standalone CUDA rendering renders black image.

which device do you use?
@Sergey Sharybin (sergey), I got a similar problem "in a rare case, where I tested on dual GTX Titan X, CUDA 7 SDK, 1 of the Titans is always rendering black image, the other is fine (this is ONLY in experimental model)

Sep 2 2015, 1:04 PM · Cycles

Aug 24 2015

Mohamed Sakr (msakr) added a comment to T40099: Black Spots with Cycles.

hey @Brecht Van Lommel (brecht) , any image about how this happens? "how the ray bounces under a strong normal/bump, and what makes it black (low pdf, etc...", what is the possible work around "other than real geometry displacement"

Aug 24 2015, 6:07 PM · Cycles, BF Blender

Aug 20 2015

Mohamed Sakr (msakr) added a comment to D808: Adaptive stopping and sample distribution for Cycles.

I'm sure you've seen these already, but they might be interesting for other followers to take a look at. Both offer impressive speed ups and appear to be fairly trivial to add to existing path tracers. Cheers!
https://mediatech.aalto.fi/publications/graphics/GPT/
http://sglab.kaist.ac.kr/WLR/

Aug 20 2015, 11:30 PM · Cycles

Aug 11 2015

Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

Hey @Brecht Van Lommel (brecht),
I think I'm very close to solve this :)

Aug 11 2015, 4:49 AM · BF Blender, Cycles

Aug 7 2015

Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

hmm, I see where the problem lies now, it is not about usability "caustic bounce for sure got its uses like overriding caustic colors for some shaders" , but here to use such a feature, it needs to be addressed through a light state only!! "as it starts from the light, then specular/glossy" , so for PT integrator it won't work, for BDPT integrator it can work only for light states "not camera states".

Aug 7 2015, 7:22 PM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

light path node is considered the best node in Cycles :D "this is what makes user have fun when creating complex shader setup"
and probably give a hint that it won't give the same result with different integrators.

Aug 7 2015, 3:49 PM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

so if these light path tricks will generate different results with different light transport algorithms, then "Is Caustic Bounce?" should be fine?

Aug 7 2015, 2:30 PM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

you can test it after implementing BDPT, with a very high sample count "50k", using light path node, PT won't equal BDPT "considering no point lights as they are impossible without event estimations for PT"

Aug 7 2015, 4:02 AM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

For the light path you don't know you have a caustic until you hit the diffuse BSDF, and for the camera path you don't know you have a caustic until you hit the specular BSDF. So that would work different depending on the light path, and for correct results the shader should give the exact same result regardless if they are executed on a light or camera path.

Aug 7 2015, 3:59 AM · BF Blender, Cycles

Aug 6 2015

Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

ok, I thought about this a lot and found a good result which should work in all cases/light transport integrators, like BDPT, VCM, SPPM, photon mapping, MLT, GPT, GMLT, etc...

Aug 6 2015, 9:42 PM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

oh, forget about my previous reply "was too hasty"
I can access what I want when doing the denoising stuff.

Aug 6 2015, 3:05 PM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

it will be a converter function node, so the user decides what he needs here.
this also will help a lot with image denoising implementation "as the image denoising algorithm depends mainly on input textures & output colors"
so with this, it will help give more denoising directives "shadows, caustics, glossiness,...".

Aug 6 2015, 3:01 PM · BF Blender, Cycles

Aug 5 2015

Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

what about a new converter node, Closure to Color? with an option "check box" to use the Closure final Color, or just the BSDF probability.

Aug 5 2015, 6:08 PM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

hmm, right now adding it like this is giving wrong results as you can see from the images, the best option I guess is making it a color multiplier "not Closure", so it can act like a dirt texture. "and this would open a new level to Cycles, where you have Closures that can act like textures"

Aug 5 2015, 5:55 PM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

or even better,

Aug 5 2015, 11:23 AM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

I see now why you did it with a + "a terrible error" , it is made similar to how the emission is calculated "connecting to light with a +"
with lights/objects emission, you just see if you are in shadow or not, if not occluded, you get the value, other wise it is black.

Aug 5 2015, 11:08 AM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

here is a test file, just render in viewport interactively, and drag the AO slider from world settings.

Aug 5 2015, 9:54 AM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

I edited my comment "read the comment here not in email", it is multiplied by all, only added to L->AO
here are some images, background HDRI image, without AO, with AO = 2%, with AO = 100%

Aug 5 2015, 9:45 AM · BF Blender, Cycles
Mohamed Sakr (msakr) updated subscribers of T45137: environment ambient occlusion behavior is weird.

@Sergey Sharybin (sergey) , @Brecht Van Lommel (brecht), tell me if this is correct or not
AO should be considered as a shadow, so here is the current code

Aug 5 2015, 9:04 AM · BF Blender, Cycles

Jul 27 2015

Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

so to finalize the code, I have to change a little in buffers "as described earlier, so buffer will be a little larger by a margin of pixels depending on filter size", this also will give a benefit later "when implementing image denoising algorithm from paper (1)", as it has to access/write to neighboring pixels as well.

Jul 27 2015, 1:26 AM · BF Blender

Jul 25 2015

Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

ah, I see, this is the benefit for MIS filter :) "writing to the current pixel"

Jul 25 2015, 3:36 PM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

oh :D , for a long time, unbiased in my mind was = anything that uses connections (PT, BDPT, MLT, ..) with bruteforce, no smoothing.
so irradiance, lightcache, photonmapping, ... are the typical biased algorithms (they use interpolations, merge), as the results of them is just interpolations "sppm is consistent though, but still it is biased".

Jul 25 2015, 2:32 PM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

hmm, explain more, there is something that I'm missing here that I don't understand.
I think it is biased because when camera casts a ray at pixel (x, y), the contribution should be only for that pixel, in this filter, the contribution is done to all surrounding pixels too.

Jul 25 2015, 1:20 PM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

not the exact same result "there is a difference because of the filter contributing weights to neighboring pixels", this is considered a bias, but the difference is smoother image.
let me explain the main difference:

Jul 25 2015, 6:26 AM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

this is a fast test, using Mitchell filter of width = 1, 64 spp

Jul 25 2015, 2:43 AM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

@Brecht Van Lommel (brecht), yea I know that, the above code is not the final, images here are from an updated code without MIS and CDFs, a different table.

Jul 25 2015, 1:53 AM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

about 5., yep, they got like 2.5x speed up in BVH build.

Jul 25 2015, 1:13 AM · BF Blender

Jul 24 2015

Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

so what shall I do now "if the MIS sampling filter is better, then this task will be useless"
I guess I remove filter from inside the kernels, and just add Blackman-Harris filter function to the code.

Jul 24 2015, 11:58 PM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

I see, but what if we use both?
filter MIS reduces noise "variance"
but it doesn't address AA "you still see very sharp diagonal lines even if you are using 10000 spp"
here this filter can give you the interpolation between pixels "more blurry", so it enhances AA look

Jul 24 2015, 7:34 PM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

same number of samples "32 spp", the noisy one is using a very small filter "which is actually not calculated to neighboring pixels by the filter function, as the filter size in the noisy one is 0.4, in the good one is 1.5, both is using Mitchell"

Jul 24 2015, 6:34 PM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

here is a test from PBRT2, with and without filter, Mitchell 1.5

Jul 24 2015, 12:25 PM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

@Sergey Sharybin (sergey), inside kernel_camera.h, camera_sample(), here it generates weights "and that's why I couldn't make them in another kernel" , as each pixel is giving 25 weights to neighboring pixels, so it doesn't depend only on a single weight and a single L, it depends on L and 25 weights per pixel.

Jul 24 2015, 10:30 AM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

I fixed the problem now, added another table without MIS, and results seems correct
here are 4 images, 16 spp, 64 spp, with and without filter, filter is Gaussian , width = 1.5

Jul 24 2015, 9:10 AM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

@Brecht Van Lommel (brecht) , what do you think about kernel filter vs compositing filter? "I prefer kernel filter as stated above"
also you got a good point about the negative weights of Mitchell
what about atomics? any idea to avoid them? only 2 things that I think of are:
1- another buffer to write to (bad for memory, also bad as it is global memory write), or
2- shared memory atomics "faster on Maxwell, slower on Kepler"
or anything that you may suggest.

Jul 24 2015, 4:04 AM · BF Blender

Jul 23 2015

Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

I see the filter result is not correct, the only place where I suspect is the filter table itself
in PBRT the filter table is just the function, in Cycles the filter table is done using a long process and MIS stuff.

Jul 23 2015, 2:08 AM · BF Blender

Jul 22 2015

Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.
  • I'm not sure why it is getting red in your case "it is fine here" , it is related to the write part in your side "as I changed some stuff in the get_rect(), they should accordingly adjust some stuff inside the write_cb() and update_cb() functions
Jul 22 2015, 9:40 PM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

ok, I figured out how, thanks Martjin :)
here is the correct diff,

Jul 22 2015, 1:08 PM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

sorry for being noob, my first time to do a diff
so I got many commits, I squashed them into 1, did a diff from the master

Jul 22 2015, 10:00 AM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.
  • also disabled Saturate inside get_pass_rect() for alpha, Sature is done after weight denormalizing
Jul 22 2015, 9:38 AM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

forgot to add the diff,


sorry for this, didn't know where to add the diff, my first time here.

Jul 22 2015, 9:36 AM · BF Blender
Mohamed Sakr (msakr) added a comment to T45519: Cycles Image Reconstruction kernel.

ops, I missed and put it in BF Blender, should have chosen BF Cycles.

Jul 22 2015, 9:26 AM · BF Blender
Mohamed Sakr (msakr) created T45519: Cycles Image Reconstruction kernel.
Jul 22 2015, 9:24 AM · BF Blender

Jun 23 2015

Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

I think wrong behavior should be considered as a bug.
if I have an equation f(x) = y * z; , and I wrote it f(x) = y + z; , then this is a bug :) "a bug doesn't have to crash the software, it is just a feature that won't appear correctly in the final image, and has to be resolved with compositing"

Jun 23 2015, 5:22 PM · BF Blender, Cycles

Jun 21 2015

Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

in other words, AO Closure behavior should be:

  • at intersection, detect near surfaces by secondary rays, compare to AO global distance value "may be a setting for local value? or texture"
  • after intersection, continue the ray through the object "similar to transparent node" , and so on..
  • for the resultant color of AO Closure, it should be input texture color * AO (for RGB) , and for Alpha it should have AO color.
Jun 21 2015, 8:24 PM · BF Blender, Cycles
Mohamed Sakr (msakr) added a comment to T45137: environment ambient occlusion behavior is weird.

also for AO closure, it should add shadow to the surface, not colors, so if the surface is refracting, it should shadows it "not removing see-through part"

Jun 21 2015, 7:00 PM · BF Blender, Cycles
Mohamed Sakr (msakr) created T45137: environment ambient occlusion behavior is weird.
Jun 21 2015, 6:43 PM · BF Blender, Cycles

Jun 12 2015

Mohamed Sakr (msakr) added a comment to T45014: Cycles - Subsurface Indirect render channel unable to resolve over-bright pixels from Branched Path Tracing.

I think this is a normal behavior, indirect sampling won't work with branched PT, so if first hit -> it will sample all numbers in branched PT "direct" , other wise it will sample only 1 sample for indirect, which makes AA samples responsible for indirect noise.

Jun 12 2015, 2:22 PM · Cycles, BF Blender

Jun 11 2015

Mohamed Sakr (msakr) added a comment to T45021: Cycles standalone problem with CMake.

nvm, everything works in 1 click now after fixing hierarchy layout, thanks Thomas, it was my fault that I changed the folder name.
you can remove this task, cmakelists are correct and fine.

Jun 11 2015, 2:26 PM · Cycles
Mohamed Sakr (msakr) added a comment to T45021: Cycles standalone problem with CMake.

ok, you nailed it Thomas from the first shot, I didn't notice that it uses relative paths internally.
so pthreads should work fine now, what about LLVM_LIBPATH & GLEW_MX_LIBRARY part?

Jun 11 2015, 1:48 PM · Cycles
Mohamed Sakr (msakr) created T45021: Cycles standalone problem with CMake.
Jun 11 2015, 3:13 AM · Cycles