Blender Git Commit Log

Git Commits -> Revision 2909975

Revision 2909975 by Antonis Ryakiotakis (master)
April 30, 2015, 10:11 (GMT)
Fix T44541 aka gigapixel image render support in blender.

Moral of the story: Make sure that size_t is used whenever pointer
arithmetic is involved. For images, that basically means whenever any
squared dimensions are involved. Casting an operand to size_t early in
the operation is usually sufficient to force the entire operation to
size_t.

There might still be places lurking where we don't support this
correctly. This has been tested with render pipeline, quite a few image
functions (meaning we can paint on such images now, albeit somewhat
slowly ;) ) and export to jpeg. Too many places in code to check so I
guess we'll be handling cases as they come.

Don't try this at home unless you have an immense ammount of RAM.
First GPixel render of suzanne in the multiverse can be found here:

http://download.blender.org/demo/test/suzanne-billion-pixel.jpg

Can be viewed from blender (takes about 3.3 GB after loading but may
take more during loading so 8GB might be more safe to try this).

Commit Details:

Full Hash: 290997538590d54387602a37879ad4cffbc311da
Parent Commit: 4bcc7a2
Lines Changed: +78, -77

7 Modified Paths:

/source/blender/editors/screen/glutil.c (+8, -8) (Diff)
/source/blender/imbuf/intern/allocimbuf.c (+2, -2) (Diff)
/source/blender/imbuf/intern/colormanagement.c (+10, -10) (Diff)
/source/blender/imbuf/intern/divers.c (+41, -41) (Diff)
/source/blender/imbuf/intern/imageprocess.c (+2, -2) (Diff)
/source/blender/imbuf/intern/rectop.c (+9, -9) (Diff)
/source/blender/render/intern/source/render_result.c (+6, -5) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021