Blender Git Loki
Git Commits -> Revision b01233b
Revision b01233b by Sergey Sharybin (master) January 16, 2013, 17:07 (GMT) |
Movies support for Cycles This adds support of movie textures for Cycles rendering. Uses the same builtin images routines as packed/generated images, but with some extra non-rna hookups from blender_session side. Basically, it's not so clear how to give access to video frames via C++ RNA -- it'll require exposing ImBuf to API, doing some threading locks and so. Ended up adding two more functions which are actually bad level call, but don't consider it's so much bad -- we have few bad calls already, which are actually related. Changed a bit how builtin images names are passing to image manager. Now it's not just an ID datablock name, but also a frame number concatenated via '@' character, which makes itpossible to easily know frame number to be used for movie images, without adding extra descriptors to image manager. Decoding of builtin name is a bit slower now, but it should be still nothing in comparison with rendering complexity. Also exposed image user's frame_current to python API, which is needed to get absolute frame number of movie from node's image user. P.S. Generated/packed images are also using bad level call but only does it to make things more clear here. Either all images are using C++ RNA here or no images does. That's the most clear for now. |
Commit Details:
Full Hash: b01233b07fbf06ba5139d4565c6148f65ab921e9
SVN Revision: 53848
Parent Commit: f55a9eb
Lines Changed: +172, -25
7 Modified Paths:
/intern/cycles/blender/blender_session.cpp (+69, -14) (Diff)
/intern/cycles/blender/blender_session.h (+4, -3) (Diff)
/intern/cycles/blender/blender_shader.cpp (+18, -8) (Diff)
/intern/cycles/blender/blender_util.h (+18, -0) (Diff)
/source/blender/blenkernel/BKE_image.h (+4, -0) (Diff)
/source/blender/blenkernel/intern/image.c (+54, -0) (Diff)
/source/blender/makesrna/intern/rna_image.c (+5, -0) (Diff)
/intern/cycles/blender/blender_session.h (+4, -3) (Diff)
/intern/cycles/blender/blender_shader.cpp (+18, -8) (Diff)
/intern/cycles/blender/blender_util.h (+18, -0) (Diff)
/source/blender/blenkernel/BKE_image.h (+4, -0) (Diff)
/source/blender/blenkernel/intern/image.c (+54, -0) (Diff)
/source/blender/makesrna/intern/rna_image.c (+5, -0) (Diff)