[Bf-codereview] GPU buffers refactor (issue4631052)

NicholasBishop at gmail.com NicholasBishop at gmail.com
Sun Jun 19 19:39:12 CEST 2011


Reviewers: bf-codereview_blender.org,

Description:
This patch attempts to clean up and document the GPU buffers
code. There are a few bug fixes as well.

Summary:

* Bugfix: make GPU_buffer_copy_normal convert from shorts to floats
   correctly, also fixed the use of cached face normal CustomData.

* Bugfix: changed the `mat_nr' field of GPUBufferMaterial from char to
   short.

* Changed color buffer setup to not alloc a temporary copy of color
   data, just passes the MCol data in directly.

* Changed the GPU buffer pool code to make clearer what operates
   specifically on the global pool.

* Lots of refactoring for GPU_drawobject_new; should operate mostly
   the same (except got rid of one unecessary allocation), just split
   into more functions and without macros now.

* Converted some #defines into enumerations.

* Made some stuff private, pulled out of header file.

* Deleted unused function GPU_buffer_pool_free_unused().

* Removed GPU_interleaved_setup and related #defines. (I think this
   was used for editmode VBOs, but those were disabled.)

* Added lots of comments.

* Added a few comments in the code signed `--nicholas' to note places
   where I am unsure about design or usage, would be good to address
   these better.

* Code formatting changed to be more consistent with the rest of
   Blender.

* Renamed some fields and variables to be more consistent with
   Blender's naming conventions.

* Renamed some fields and variables to use more descriptive names,
   e.g. renamed `redir' to `mat_orig_to_new'.

* Removed print outs with DEBUG_VBO -- don't feel too strongly about
   this one, just not used elsewhere in Blender, could be easily added
   back if others disagree though.

* Moved the PBVH drawing code down to the bottom of the file, before
   was sitting in the middle of the other VBO code


Please review this at http://codereview.appspot.com/4631052/

Affected files:
   source/blender/blenkernel/intern/cdderivedmesh.c
   source/blender/gpu/GPU_buffers.h
   source/blender/gpu/intern/gpu_buffers.c
   source/blender/windowmanager/intern/wm_init_exit.c




More information about the Bf-codereview mailing list