Commit Graph

107 Commits

Author SHA1 Message Date
018fa1540e whitespace edits, make formatting for functions consustent at least within the file. 2011-09-28 05:53:40 +00:00
effea8c29b svn merge ^/trunk/blender -r40511:40587 2011-09-27 03:12:31 +00:00
274b9c8fb8 whitespace cleanup 2011-09-25 12:31:21 +00:00
1ff373ef5b svn merge -r40166:40279 ^/trunk/blender 2011-09-17 04:59:14 +00:00
2222f536f8 use replace 0 with NULL for pointers, set some functions static
also fixed own errors in recent static check commit.
2011-09-16 08:20:21 +00:00
794f3291fe svn merge -r38200:38300 https://svn.blender.org/svnroot/bf-blender/trunk/blender, source/blender/gpu/intern/gpu_buffers.c updated from trunk and re-made edits to use getTessFace* functions. 2011-07-26 03:00:55 +00:00
6199276053 svn merge -r37800:37900 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-07-25 14:54:29 +00:00
abdf420a6d == GPU Buffers ==
This patch attempts to clean up and document the GPU buffers
code. There are a few bug fixes as well.

Patch reviewed here: http://codereview.appspot.com/4631052/

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
2011-07-08 19:58:02 +00:00
cf90b9497f VBO:
Fix for bug found by psy-fi.

* gpu_buffers.c was using GL_ARB_vertex_buffer_object to check for VBO
  support, should be using GLEW_ARB_vertex_buffer_object.
2011-06-28 00:40:39 +00:00
c98148a963 =bmesh= merge from trunk at r36153 2011-04-15 01:19:13 +00:00
Nathan Letwory
93b144548d doxygen: blender/gpu tagged. 2011-02-27 20:25:53 +00:00
f01261d040 merge with/from trunk at r35190 2011-02-27 06:19:40 +00:00
Nathan Letwory
5b607701a7 doxygen: prevent GPL license block from being parsed as doxygen comment. 2011-02-23 10:52:22 +00:00
610917d52e removed some more magic constants
another fix: the patch for #25806 was submitted by Riakiotakis Antonis and not by Andrew Wall
2011-02-15 19:22:08 +00:00
7fba9eab47 added more code comments and removed some magic constants 2011-02-15 19:04:00 +00:00
15570631fd a fix for bug #25806
http://projects.blender.org/tracker/index.php?func=detail&aid=25806
Thanks Andrew Wall for the report and the patch
2011-02-15 18:36:42 +00:00
59f1640ae5 warning cleanup.
- fix mistake with grease pencil UI (&& was intended but & used).
- use (void) rather then () across _all_ blenders code.
- a few minor edits, don't shadow stack variables in roll calculation & avoid running memset() for VBO vertex map.
2011-02-13 15:02:21 +00:00
4124804b4e many functions in blender are not marked static but should be.
most local modifier,GPU,ImBuf and Interface functions are now static.

also fixed an error were the fluid modifier definition and the header didnt have the same number of args.
2011-02-13 14:16:36 +00:00
eac31a2ece remove unused vars & avoid some clang warnings. 2011-01-14 21:06:28 +00:00
c35db522da variable 'pool' could be accessed as NULL, globalPool was allocated but not assigned before use.
also remove unused vars.
2011-01-08 10:13:59 +00:00
8f21a43535 split BKE_utildefines.h, now it only has blender specific defines like GS() MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h.
no functional changes.
2011-01-07 18:36:47 +00:00
b9b9ac75bc fix for https://projects.blender.org/tracker/index.php?func=detail&aid=24442&group_id=9&atid=498
[#24442] GLSL + VBOs
2010-11-25 17:36:03 +00:00
4661fb03a9 bugfix [#24704] UV editor: [x] modified does not update on change of modifiers
- VBO UV Edge display wasn't allocating a large enough array for drawing.
- VBO UV Edge drawing was using an edge flag with faces.
- notifier for modifiers updating the UV window.
2010-11-15 08:03:20 +00:00
369a5cc29e fix for compiling with the c90 standard, support for non-static variable initializers is a c99 feature. 2010-11-02 13:12:30 +00:00
db09ca106d remove/tag unused args for view*.c, gpu*.c & image*.c 2010-10-15 12:29:02 +00:00
82432d0d99 merge from trunk at r31523 2010-09-07 05:47:34 +00:00
bb7339a7ae merge with trunk at r31523 2010-09-04 05:31:25 +00:00
9b685a4b78 Fix quasy systematic crash at Blender exit: globalPool was released twice 2010-08-23 21:31:57 +00:00
9db1f87531 remove unused includes 2010-08-08 13:11:13 +00:00
8bcb71aebd [finally! the commit went through]
=bmesh=

First pass at post-merge stabilization.  Seems to work well enough now, but
I need to do more testing.  Also need to go through bmesh_class.h and make
sure the design/headers there make sense.
2010-07-22 00:18:35 +00:00
f406cf4ac8 Fix a few compile warnings and rename gpu_buffers.h to GPU_buffers.h
for consistency.
2010-07-14 10:46:12 +00:00
ee03a99695 Fix #20461: deleting VBO's from threads used for rendering or baking would
crash, as OpenGL can't be called from these. Now deleting VBO's is delayed
until the next redraw in the main thread.
2010-07-13 13:31:43 +00:00
bd4d743db9 * Made sculpt drawing respect the "use VBO" preference.
* Hopefully this fixes some sculpt problems for people with broken drivers
2010-06-30 19:35:08 +00:00
ace1c998c4 warning cleanup, also made voxel.c and volumetric.c use BM_INLINE define rather then having their own ifdefs in each file. 2010-04-24 10:08:07 +00:00
a2778a262b Fix #20548: flat shading not drawing right in sculpt mode. 2010-03-22 17:17:36 +00:00
1a6f683b43 another attempt at fixing the VBO buffer deletion bugs 2010-02-17 18:48:02 +00:00
866ecdebe7 added some more error checking for buffer allocation and fixed it up a bit. Hopefully this won't introduce new bugs and fix old ones. 2010-02-15 19:09:59 +00:00
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
051c6e999f partial fix for [#21036] crash with glsl shading
copying UVs was doing a buffer overrun.
2010-02-08 21:19:15 +00:00
127b3e6882 Fix #20879: crash when add textures brush in sculpt mode. Drawing
the texture would crash because the VBO was still bound. As I
understand it this is not necessarily against the opengl spec,
but might as well unbind it, the driver bug seems to have been
fixed but has not trickled down everywhere yet.

http://bugs.freedesktop.org/show_bug.cgi?id=23859
2010-01-31 15:06:20 +00:00
083e5b66a9 GPU_buffer_setup could return a freed buffer. (when VBO's were used) 2010-01-16 17:47:56 +00:00
c6ffe23762 Sculpt Branch:
* Added detection if VBO extension is supported.
* Redraw other 3d views after sculpting.
* Fix brush sometimes punching through mesh with very small polygons,
  added an extra epsilon to the ray-triangle intersection.
2009-12-11 14:16:17 +00:00
6639ba6b86 Sculpt Branch:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r25180:25245
2009-12-09 15:24:55 +00:00
8df3e7b54c Sculpt Branch:
* Fallback code in case VBO allocation fails.
2009-12-09 15:20:47 +00:00
f54776b1a6 VBO:
* Fix #19785: curves not drawing with VBO enabled
* Fix #19553: duplicate Window crashes with VBO's

The convention in Blender was to have GL_VERTEX_ARRAY and GL_NORMAL_ARRAY
enabled by default, and other arrays disabled. The VBO drawing code did
not take this into account. I've made these now disabled by default, since
that makes the code clearer in other places too.
2009-12-09 14:37:26 +00:00
010c99deb2 Sculpt Branch:
* Multithread parts of multires and subsurf. Only loops working on
  face grid data and do no memory allocation have been multithreaded,
  others would be more complicated.
* Force some CCGSubsurf functions to be inlined, gives a small overall
  speedup in subsurf code.

* Fix sculpting not working correct with transformed objects.
* Fix a few cases of "spikes" on lower level multires levels. There's
  still cases where it happens, usually on boundary cornders. The
  problem is that in such cases the limit surfaces can be very different
  from the low res surface, so the tangent space is very different too..
* Fix crash deleting multires higher levels with level set to 0.
* Fix crashes that happened sometimes when adding faces in editmode.
2009-12-03 18:35:37 +00:00
2582e3a900 Sculpt: fix windows compile issues, pointed out by JMS, thanks! 2009-11-25 18:20:46 +00:00
134935a8db Sculpt: Grid based PBVH
* PBVH can now be created contain both from face grids or standard
  meshes. The former is much quicker to build for high res meshes.
* Moved some drawing code into pbvh (mostly for the frustum test).
* Moved ray intersection code into pbvh.
* GPU buffers also can be built from either mesh or grids now.
* Updated sculpt code to work with this. The ugly part is that there
  is now a macro for iterating over vertices, to handle both cases,
  and some duplicated code for e.g. undo.
* Smooth brush does not work yet with grids.
2009-11-25 13:40:43 +00:00
2e3326c153 Sculpt: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r24330:24483 2009-11-11 10:44:46 +00:00
37e4a311b0 Math Lib
* Convert all code to use new functions.
* Branch maintainers may want to skip this commit, and run this
  conversion script instead, if they use a lot of math functions
  in new code:
  http://www.pasteall.org/9052/python
2009-11-10 20:43:45 +00:00