After a bit lazy fortnight , I have made some slow but steady progress , it is not much but nevertheless...
The rendering results have not changed much but i have made some improvements .
Now in the case of reflections i have corrected the mistake which occurred when we had an eye-path that contained a point with reflective material. In that case , if the next hitpoint after the reflection was a point on the light then the light would not be seen (appeared to be black) . That happened because the possibility to hit the random light point of the light-path, was practically zero. So in that situation, i consider only one path (eye-path +that point only the light) and not the all-by-all combinations , practicing path tracing.
I have also made some optimization concerning the memory consumption. Especially , with the usage of materials in the cuda code. I have also added the creation of .Obj objects but i have some problems with the materials on the rendered objects so proper objs will be shown on the next post.
Also added point lights into the mix
I have tried to use two cards for the rendering ,a GTX 560ti and a GTX 460 , totaling 722 cuda cores , with very nice results. The scaling is not perfect but in my code is good enough. 100% gpu usage for the main card ( GTX 560ti ) and about 85%-92% for the secondary (GTX 460)
560 on the left-460 on the right
Next steps are :
a.To create a proper Scene Loader
b.Materials on obj s ,usage of more complicated material properties , material containing textures etc.
c.Importance sampling for many lights.
d.Correct refractions because the present code contains a load of small errors.
Point Light example
Correct (or so it seems) reflections
See you next week!
No comments:
Post a Comment