Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-07-08== GPU Buffers ==Nicholas Bishop
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-05-04Own TODO item: sculpting on constructive modifiersSergey Sharybin
- Constructive modifiers are enabled by default in sculpt mode. - There's option to disable all constructive modifiers in the "Options" panel of toolbox in sculpt mode, - Use one column in options panel to make strings easier to read - No modifiers would still be applied on multires
2011-05-04pass colors to glColor as vectors where possible.Campbell Barton
2011-04-27comment regarding bug [#27175] UV faces show incorrect image in object mode ↵Campbell Barton
(VBO's)
2011-04-27remove normalize call in derived mesh GetNormal, its not done anywhere else.Campbell Barton
2011-04-24harmless changes to quiet clang static check warnings.Campbell Barton
- made EXPANDED_AGRP take bAnimContext as an argument. - remove unneeded NULL check drawFacesColored functions. - comment some vars which are set but not used.
2011-04-23Sculpting on shapekeysSergey Sharybin
====================== All this work with sculpting on armatured/deformed mesh allowed to implement sculpting on non-locked keys very easy -- just use the same approach of propagating offsets from deformed PBVH to "sculpting layer". - If key is locked, then old logic would be used. - If there's multires modifier enabled, sculpting would happen on multires.
2011-03-28- quiet new warnings with gcc 4.6Campbell Barton
- use BLI math funcs for normal float/short conversion. - correct some un-intentional float/double promotions.
2011-03-26Fix #26582, #26586, #26613: recent normal calculation changes didn't takeBrecht Van Lommel
into account that some tools use normals for things other than display. Now we properly initialize vertex normals at flat faces too. Also fixed a normal refresh issue, and deduplicated CDDM/mesh normal calculation code.
2011-03-20Fix/change in normal computation, now the viewport uses the same angleBrecht Van Lommel
weighted normals as the render engine, and the render engine will copy normals from the mesh rather than always recalculating them. Subsurf/multires still use regular vertex normals, but they are expected to be sufficiently high resolution to not need this. This means that normal maps displayed in the viewport actually match the render engine exactly and don't have artifacts due to this discrepancy. It of course also avoids unexpected surprises where your render normals look different than your viewport normals. Subversion bumped to 4 for version patch to recalculate normals. Patch by Morten Mikkelsen, with some small changes.
2011-02-27doxygen: blender/blenkernel tagged.Nathan Letwory
2011-02-14This commit will switch blender to use tangent space generated withinM.G. Kishalmi
the two files mikktspace.h and mikktspace.c. These are standalone files which can be redistributed into any other application and regenerate the same tangent spaces. The implementation is independent of the ordering of faces and the vertex ordering of faces.
2011-02-13fix for warnings from Sparse static source code checker, mostly BKE/BLI and ↵Campbell Barton
python functions. - use NULL rather then 0 where possible (makes code & function calls more readable IMHO). - set static variables and functions (exposed some unused vars/funcs). - use func(void) rather then func() for definitions.
2011-02-07remove mat_nr from MVert struct, saves 4 bytes per vertex.Campbell Barton
used to be used for halo's
2011-01-31Todo issue: sculpting on deformed meshSergey Sharybin
Used a crazyspace approach (like in edit mode), but only modifiers with deformMatricies are allowed atm (currently shapekeys and armature modifiers only). All the rest modifiers had an warning message that they aren't applied because of sculpt mode. Deformation of multires is also unsupported. With all this restictions users will always see the actual "layer" (or maybe mesh state would be more correct word) they are sculpting on. Internal changes: - All modifiers could have deformMatricies callback (the same as deformMatriciesEM but for non-edit mode usage) - Added function to build crazyspace for sculpting (sculpt_get_deform_matrices), but it could be generalized for usage in other painting modes (particle edit mode, i.e) Todo: - Implement crazyspace correction to support all kinds of deformation modifiers - Maybe deformation of multires isn't so difficult? - And maybe we could avoid extra bad-level-stub for ED_sculpt_modifiers_changed without code duplicating?
2011-01-15remove unused vars & avoid some clang warnings.Campbell Barton
2011-01-08fixed a case with occlusion where uninitialized variable could be used.Campbell Barton
also removed unused vars. can_pbvh_draw() had a NULL check which is never needed (callers check for this), a NULL ob would have crashed the function anyway.
2011-01-07remove references to BKE_utildefines where its not needed.Campbell Barton
- move GS() define into DNA_ID.h - add BLI_utildefines as an automatic include with makesrna generated files.
2011-01-07split BKE_utildefines.h, now it only has blender specific defines like GS() ↵Campbell Barton
MAKE_ID, FILE_MAXDIR, moved the generic defines to BLI_utildefines.h. no functional changes.
2011-01-05Todo item: linked curve objects behaves incorrect with modifiersSergey Sharybin
Use object's displists for storing deformed tesselated curve. Was unable to totally get rid of curve's displist because of how texture space is calculating.
2010-12-26Fix for IRC reported bug from lmg:Sergey Sharybin
VBO enabled, GLSL shading and bevel modifier leads to crash when entering edit mode Bevel modifier doe not support remapping still, so added check about original index in cdDM_drawFacesTex_common. Now it works like VBO-less drawing for that special case.
2010-12-17remove some paranoid NULL checks, since the pointers are used already.Campbell Barton
2010-12-14Fixed bug #23922, Sculpting - Textured display draws incorrectlyNicholas Bishop
Root cause is that some drawing modes don't work with PBVH drawing. Worked around by adding a call to update mesh normals from the PBVH so that sculpted changes appear correctly in those "unsupported" modes. (They'll still draw much more slowly than solid, but should at least appear correct now.)
2010-11-15bugfix [#24704] UV editor: [x] modified does not update on change of modifiersCampbell Barton
- 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-10-20[#24267] Hook fails after SolidifyCampbell Barton
Solidify modifier wasn't assigning origindex values. - BLI_math.h array functions: range_vni(), mul_vn_fl(), mul_vn_vn_fl(), add_vn_vn(), fill_vni(). - define 'AT' as __FILE__ ":" STRINGIFY(__LINE__), useful for quick debug prints.
2010-10-16most unused arg warnings corrected.Campbell Barton
- removed deprecated bitmap arg from IMB_allocImBuf (plugins will need updating). - mostly tagged UNUSED() since some of these functions look like they may need to have the arguments used later.
2010-10-05bugfix [#23506] Bevel Modifier display problemCampbell Barton
This is a more general problem that drawing functions would skip faces when the original index could not be found, screw result for example wasnt visible in editmode too. Fixed by adding a material set argument to DerivedMesh->drawMappedFaces(), this was already being done in some of the other drawing functions.
2010-10-04bugfix [#24133] r32303, Mirror Modifier + EditMode + VBO's Problem.Campbell Barton
drawing the triangle arrays were only broken up by hidden faces, but switches in material were ignored. now check for materual context changes.
2010-08-15use more BLI math functions.Campbell Barton
2010-07-29bugfix [#23075] Point clouds invisible with VBOsCampbell Barton
2010-07-27Fix #22673: crash with solidify + subsurf + array modifier in edit mode.Brecht Van Lommel
2010-07-14Fix a few compile warnings and rename gpu_buffers.h to GPU_buffers.hBrecht Van Lommel
for consistency.
2010-06-29Fixed bug #22686, Screw modifier VBO-related crashNicholas Bishop
* Problem was calling setDrawOptions even if there was no original face index to use
2010-06-23Fix #21370: VBO does not display material colors in textured solid.Brecht Van Lommel
2010-06-22[#22262] Sculpting shape keys using the Smooth brush switches the shape to ↵Sergey Sharybin
the Basis PBVH used the same verts array as mesh data and shape key/reference key coords were applying on the mesh data, so on some refreshing undeformed mesh was displayed. Added utility functions to get vert coords from key block, apply new vert coords on keyblock and function to apply coords on bpvh, so now pbvh uses it's ovn vertex array and no changes are making to the mesh data. Additional change: Store key block name in SculptUndoNode, so now shape wouldn't be copied to wrong keyblock on undo
2010-06-11Fixed bug #21348, Hide selection in Edit Mode not working with some ↵Nicholas Bishop
modifiers (VBOs) Was actually a couple bugs: * VBO bug was that hidden faces weren't being skipped correctly. Fixed that and rewrote this bit of VBO drawing code more clearly (less duplication, less unecessary state, and comments even) * Second bug was that CCGDerivedMesh wasn't outputing ORIGINDEX data for faces. (it's not doing it for edges or verts either, but I don't know that we need it to.) At any rate, we do need this data for faces so that additional DerivedMeshes on top of subsurf know what faces in the editmesh are hidden.
2010-06-07Fixed bug #22361, missing graphics when sculpting with pinned shape keysNicholas Bishop
* Problem was that the sculpt PBVH was only used for redrawing if the derived mesh's vertices were equal the base mesh's vertices, which isn't the case when sculpting on shape keys.
2010-06-02Sculpt & modifiers: patch by Sergey Sharybin, with modifications by me.Brecht Van Lommel
Fixes various crashes and redraw problems, most noticeable new feature is that you can now sculpt on a multires mesh with deforming modifiers preceding it. I've left out support for sculpting on multires with enabled modifiers following it, in this case only the base mesh can be sculpted now. The code changes needed to do this are just too ugly in my opinion, would need a more torough redesign which I don't think we should try now. In my opinion this is also not really an important case, since it's going to be incredibly slow anyway to run a modifier on a high res mesh while sculpting. So, to summarize current state: * Fastest sculpting: base mesh with no modifiers or multires with only modifiers preceding it. * Slower sculpting: base mesh with modifiers, depends on the speed of the modifiers. * Not supported: multires mesh with modifiers following it.
2010-04-21replace add_v3_v3v3() --> add_v3_v3() where possibleCampbell Barton
2010-03-22Fix #20548: flat shading not drawing right in sculpt mode.Brecht Van Lommel
2010-03-22Sculpt Mode Bugfixes:Brecht Van Lommel
* #20833: layer brush doesn't work with multires. * #20946: sculpt mode partially removes parts of the mesh in the viewport. * #20420: grab brush stops after moving some distance. * #20906: sculpt grab tool moves in wrong direction. * #21132 and #21272: undo on object with subdivision surface modifier crashes. * #21115: subsurf + multires + sculpting + undo causes crash. * #20683: sculpt + multires apply + undo crash. * #19094: wrong outline in solid mode.
2010-03-22spaces -> tabs, (4 spaces == 1 tab, only for white space preceding text)Campbell Barton
2010-03-21removed unused includes, except for physics and particle related filesCampbell Barton
2010-03-08- Fixed trouble with rendering curves with disabled modifiers, which areSergey Sharybin
disabled for realtime displaying but enabled for rendering. - Calculate tex space for curves before modifiers applying.
2010-03-05Constructive modifiers for curves and surfacesSergey Sharybin
Used approach with creating DerivedMesh for curves whet they've got such modifiers. Available modifiers are: array, edge split, mirror, solidify, subsurf.
2010-02-15Patch: [#20408] Bugfix GLSL shading with VBOLukas Steiblys
Thank you, Andre Tibben, for the fix.
2010-02-12correct fsf addressCampbell Barton
2010-02-12(no commit message)Lukas Steiblys
2010-02-09[#21067] Weight painting doesn't work with mirror modifier enabled.Campbell Barton
2010-02-09bugfix [#21036] crash with glsl shadingCampbell Barton
VBO draw cod was assuming a buffer was allocated for drawing.