利用者:Jaguarandi/SummerOfCode2009/Notes
Notes
In this section I will point out some issues found during SoC
Optimization
- Quad splitting - currently quads are split intro triangles if they aren't flat enough. Although this makes stuff easier like: 1 normal per primitive, and maybe helps handling some bugs, this can be bad for raytrace optimization as it doubles the ammount of nodes in most normal scenes. [Probably outside SoC scope as it may need to touch several parts of code]
- Better BoundingBox fitting at instance support [No action taken until now]
- Add support to improve ray_trace_shadow_tra( source/blender/render/intern/source/rayshade.c) when theres alpha objects, instead of performing several raycast, it could be done with only 1 cast and some callbacks to control/save the order of the raycast, resulting into a single raycast call.
- Add frustum-culls hints [Theres already hint support, basicaly only a frustum building and a frustum-bb test needs to be plugged in]
- Add progressive hint refinement (eg.: store hint per light and then refine them conforming the point being shaded)
Bugs
- Old code gives some banding effects, this happens due to colisions being found with neighbour faces (intersection2), if alll neighbours hits are ignored the face looks smoother but then it creates bugs at handling neighbour faces that are ocluding each other (http://lists.blender.org/pipermail/soc-2009-dev/2009-June/000063.html). New code behaves as old code, as no 100% bug-fix was found.
- Old code is buggy at handling SUN shadows (http://lists.blender.org/pipermail/soc-2009-dev/2009-June/000108.html). New code behaves as old code so that it doesn't breaks renders.
- Shading code is buggy at handling mirror rays inside mirrors rays ( See the raymirror scene)
TODO
- Render memory aware (test all mallocs and fail safely)
- Add "break-render-test" during render build
- Check baking