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
2013-03-21code cleanup: use bool where values are true/false, for view3d and related ↵Campbell Barton
functions.
2013-03-18code cleanupCampbell Barton
2013-03-15Fix: multisample viewport drawing didn't work well with selection or particleBrecht Van Lommel
brushes, due to issues with color coded drawing or slow/buggy reading from such a buffer on some systems. In case multisample is enabled now, it uses an offscreen buffer for such drawing, which is not multisampled and so should not cause issues. This does mean there is some extra GPU memory usage when multisample is enabled, and we could optimize triple buffer to work together here somehow to share buffers, but it's better than having selection not working.
2013-03-15Fix #34649: texture size limit user preference not working.Brecht Van Lommel
2013-03-13fix for 2 errors where the 2d arrays were used as 3d. (out of bounds read).Campbell Barton
also minor code cleanup.
2013-03-13Fix #34492: clipping border not working with GLSL/matcap and Nouveau drivers.Brecht Van Lommel
2013-03-12code cleanup: quiet struct gcc warnings, also use more conventional names ↵Campbell Barton
for bmesh dissolve.
2013-03-10OpenGL: more work on fixed function lighting implementation as GLSL.Brecht Van Lommel
* Rename functions and move to own header. * Add wrapper functions for glLight. * Auto detect if we can use faster code for solid lighting. * Various fixes for textured draw mode.
2013-03-08style cleanupCampbell Barton
2013-03-07Change !BLI_ghashIterator_isDone to BLI_ghashIterator_notDone. It isAntony Riakiotakis
always used in that context so we can at least avoid reverting it twice :p.
2013-03-04Fix for image transparency backwards compatibility. Now the texture ↵Brecht Van Lommel
datablock has a Use Alpha option again. This makes the case where you enabled Premultiply on the image and disabled Use Alpha on the texture work again. That's mostly useful when you have a straight alpha image file which has no useful RGB colors in zero alpha regions (e.g. renders). Then sometimes you don't want to use the alpha for the texture stack mixing, but you still want to multiply it into the RGB channels to avoid a blocky transition into zero alpha regions. This also removes the version patch that copied image datablocks because it's not reliable and might be causing bug #34434. This does mean we are no longer backwards compatible for cases where two different texture datablocks with Use Alpha enabled and disabled where using the same image.
2013-02-26OpenGL: implemenation of fixed function lighting as per pixel GLSL shaders. TheBrecht Van Lommel
code is still unused, but the intention is to use this to solve the double sided lighting problem on NVidia, and to make the materials work on OpenGL ES 2.0 eventually. The code works and matches the fixed function lighting pretty much exactly, but still needs optimizations. The actual integration in object draw will be committed later when more fixing & testing, there's lots of different combinations and unclear OpenGL state here.
2013-02-18Fix wrong alpha channel for OpenGL render results with transparent textures orBrecht Van Lommel
materials, the typical glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); blend function does not give correct destination alpha.
2013-02-07Fix #34156: Spec. and Alpha Intensity OpenGL issueSergey Sharybin
Issue was caused by alpha pipeline cleanup: apparently depending on use_alpha flag different channels for spec/alpha would be used. Made it so talpha is computed from Image->ignore_alpha instead of always considering to be TRUTH. This is not so much trivial to understand what's going on here, but it's not new issue. Anyway, if someone have got ideas how to improve feedback here -- ideas are welcome! For now only regression is fixed.
2013-02-03style cleanup & some spellingCampbell Barton
2013-01-28Activate partial redraw of non-power of two textures. This looks likeAntony Riakiotakis
it's working as expected out of the box. I hope nothing breaks.
2013-01-25header cleanup, include BLI before BKE, also use bool for ntreeShaderExecTreeCampbell Barton
2013-01-22Matcap support in 3D Viewport.Ton Roosendaal
Full log is here: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Usability#Matcap_in_3D_viewport Implementation notes: - Matcaps are an extension of Solid draw mode, and don't show in other drawmodes. (It's mostly intended to aid modeling/sculpt) - By design, Matcaps are a UI feature, and only stored locally for the UI itself, and won't affect rendering or materials. - Currently a set of 16 (GPL licensed) Matcaps have been compiled into Blender. It doesn't take memory or cpu time, until you use it. - Brush Icons and Matcaps use same code now, and only get generated/allocated on actually using it (instead of on startup). - The current set might get new or different images still, based on user feedback. - Matcap images are 512x512 pixels, so each image takes 1 Mb memory. Unused matcaps get freed immediately. The Matcap icon previews (128x128 pixels) stay in memory. - Loading own matcap image files will be added later. That needs design and code work to get it stable and memory-friendly. - The GLSL code uses the ID PreviewImage for matcaps. I tested it using the existing Material previews, which has its limits... especially for textured previews the normal-mapped matcap won't look good.
2013-01-19Skip hidden faces in PBVH BMesh ray intersection testNicholas Bishop
Moved the GPU function gpu_bmesh_face_visible() to BKE_paint and inverted the test to match equivalent tests for other mesh types: paint_is_bmesh_face_hidden(). Changed BKE_pbvh_bmesh_node_save_orig() to not save hidden faces into the triangle array. Modified the non-use-original branch of pbvh_bmesh_node_raycast() to skip hidden faces. Fixes bug #33914: projects.blender.org/tracker/index.php?func=detail&aid=33914&group_id=9&atid=498
2013-01-17optimize bmesh operations that use triangle BMFace's (dyn-topo and mesh ↵Campbell Barton
conversion).
2013-01-13BGE: Adding preliminary alpha shadow support for Simple shadow maps. They do ↵Mitchell Stokes
not work in the viewport nor do they work for Variance shadow maps.
2012-12-31Alpha premul pipeline cleanupSergey Sharybin
This assumptions are now made: - Internally float buffers are always linear alpha-premul colors - Readers should worry about delivering float buffers with that assumptions. - There's an input image setting to say whether it's stored with straight/premul alpha on the disk. - Byte buffers are now assumed have straight alpha, readers should deliver straight alpha. Some implementation details: - Removed scene's color unpremultiply setting, which was very much confusing and was wrong for default settings. Now all renderers assumes to deliver premultiplied alpha. - IMB_buffer_byte_from_float will now linearize alpha when converting from buffer. - Sequencer's effects were changed to assume bytes have got straight alpha. Most of effects will work with bytes still, however for glow it was more tricky to avoid data loss, so there's a commented out glow implementation which converts byte buffer to floats first, operates on floats and returns bytes back. It's slower and not sure if it should actually be used -- who're using glow on alpha anyway? - Sequencer modifiers should also be working nice with straight bytes now. - GLSL preview will predivide float textures to make nice shading, shading with byte textures worked nice (GLSL was assuming straight alpha). - Blender Internal will set alpha=1 to the whole sky. The same happens in Cycles and there's no way to avoid this -- sky is neither straight nor premul and doesn't fit color pipeline well. - Straight alpha mode for render result was also eliminated. - Conversion to correct alpha need to be done before linearizing float buffer. - TIFF will now load and save files with proper alpha mode setting in file meta data header. - Remove Use Alpha from texture mapping and replaced with image datablock setting. Behaves much more predictable and clear from code point of view and solves possible regressions when non-premultiplied images were used as textures with ignoring alpha channel.
2012-12-30Use GPU_Buffers to draw wireframe when in dynamic-topology sculpt modeNicholas Bishop
This adds an override to the CDDM edge drawing function that switches to GPU_Buffers drawing for PBVHes of type PBVH_BMESH. Within the GPU_Buffers code, glPolygonMode() is used to draw lines instead of faces.
2012-12-30Add GPU_buffers support for drawing dynamic topology nodesNicholas Bishop
The GPU interface for PBVH drawing gets a new pair of build/update buffers functions for drawing BMFaces and BMVerts. TODO: the diffuse color is hardcoded to 0.8 gray rather than using material color. TODO: only VBO drawing is implemented, no immediate mode.
2012-12-28style cleanupCampbell Barton
2012-12-21replace MIN/MAX 3,4 with inline functionsCampbell Barton
2012-12-21DDS compressed textures now make use of the anisotropic filtering setting.Mitchell Stokes
2012-12-20Fix #33630: DDS compressed textures were not actually using mipmaps for ↵Brecht Van Lommel
minification.
2012-12-18fix [#33598] Regression in 2.65 while opening a 2.64 fileCampbell Barton
VBO's were using a material limit half the size of the rest of blender.
2012-12-18style cleanupCampbell Barton
2012-12-15Attempted fix #33546: GPU mipmap generation is not working on some ATI cards,Brecht Van Lommel
causing textures to be missing in textured draw mode. There is apparently a bug in the ATI drivers, committed a workaround for that now. http://www.opengl.org/wiki/Common_Mistakes#Automatic_mipmap_generation
2012-12-11define the size of matrix args for both rows/cols.Campbell Barton
2012-12-05Fix #33417: add back GPU Mipmap Generation option, apparently with this disabledBrecht Van Lommel
it takes up less memory on some cards, still unclear why.
2012-12-03Fix #33371: blender freezing in material draw mode.Brecht Van Lommel
When FBO failed in a particular way it could cause the opengl draw buffer to be set wrong, effectively disabling all opengl drawing. The FBO error was caused by cycles GLSL materials with no nodes that would still use blender internal materials, which caused issues with lamp shadow buffers FBO. This also fixes a GLSL refresh issue when switching render engines.
2012-12-02Fix #33376: non-square DDS textures were mapped wrong in the viewport / game ↵Brecht Van Lommel
engine.
2012-11-28GPU: remove GPU Mipmap Generation option and just always enable it, it's an oldBrecht Van Lommel
OpenGL 1.4 feature that is stable, there's no reason not to use it. Also fixed GPU mipmap generation not working in the game player.
2012-11-15Image thread safe improvementsSergey Sharybin
This commit makes BKE_image_acquire_ibuf referencing result, which means once some area requested for image buffer, it'll be guaranteed this buffer wouldn't be freed by image signal. To de-reference buffer BKE_image_release_ibuf should now always be used. To make referencing working correct we can not rely on result of image_get_ibuf_threadsafe called outside from thread lock. This is so because we need to guarantee getting image buffer from list of loaded buffers and it's referencing happens atomic. Without lock here it is possible that between call of image_get_ibuf_threadsafe and referencing the buffer IMA_SIGNAL_FREE would be called. Image signal handling too is blocking now to prevent such a situation. Threads are locking by spinlock, which are faster than mutexes. There were some slowdown reports in the past about render slowdown when using OSX on Xeon CPU. It shouldn't happen with spin locks, but more tests on different hardware would be really welcome. So far can not see speed regressions on own computers. This commit also removes BKE_image_get_ibuf, because it was not so intuitive when get_ibuf and acquire_ibuf should be used. Thanks to Ton and Brecht for discussion/review :)
2012-11-06Fixes related to #33087:Brecht Van Lommel
* Fix GLSL memory leak in the (vector) math node. * Fix GLSL math node pow behavior for negative values, same as was done for C.
2012-11-03code cleanup: float <> double conversion.Campbell Barton
2012-11-03style cleanup: tabs & whitespaceCampbell Barton
2012-11-01fix for possible buffer overflow in gpu_nodes_get_vertex_attributes() and ↵Campbell Barton
hair_velocity_smoothing() and a unlikely NULL pointer dereference in unlink_material_cb().
2012-11-01style cleanupCampbell Barton
2012-10-30style cleanupCampbell Barton
2012-10-30Fix for own r51737.Bastien Montagne
Refactoring of draw code showed another problem: The MCol we want to draw may change without dm rebuild (e.g. when enabling solid textured option)! Also, choosing which MCol layer to use in GPU code is stupid, different draw modes use different layers/order of precedence! Solved this by adding a new colType parameter to GPU_color_setup, and removing any 'color choosing' code from gpu_buffers.c.
2012-10-29Complete fix for [#33002] Wrong vertex color.Bastien Montagne
Appart from the color glitch, there was several problems with vpaint: * "fast_update" mode was never on, because of wrong testing code; * drawing refresh during stroke in "fast_update" (i.e. no dm rebuild) mode was broken in VBO mode, because updated (tess data) mcol wasn't moved to colors GPUBuffer. Solved the later point by adding a new DM_DIRTY_MCOL_UPDATE_DRAW flag to DerivedMesh dirty var, which is set each time vpaint stroke directly update me->mcol, and forces GPU_color_setup() to refresh the gpu's colors buffer. Also got rid of the uggly GPU_color3_upload(), which basically did the same thing, but with an additional intermediate buffer !
2012-10-25Fix issue after commit 50282: float texture painting non-color data textures didBrecht Van Lommel
not do correct partial updates, now it remembers if the opengl texture is a non-color data texture or not and takes that into account for the update. Also includes some renaming ncd => is_data for consistency with color space terminology used elsewhere.
2012-10-25Better fix for #32837: DDS compressed textures now no longer need to be flippedBrecht Van Lommel
when saving, rather we flip the compressed texture during load. The code used here comes from the chromium O3D project: http://src.chromium.org/chrome/trunk/o3d/core/cross/bitmap_dds.cc Also made it only load compressed for power-of-two resolution images, it doesn't seem to work for other resolutions, just falls back to non-compressed then.
2012-10-23rename api functions...Campbell Barton
- minf, maxf, mini, maxi --> min_ff, max_ff, min_ii, max_ii
2012-10-23Fix #32943: sculpt mode draw crash with VBO and flat shaded, hidden faces.Brecht Van Lommel
2012-10-22Fix #32522: Object's diffuse color not showing in Sculpt ModeSergey Sharybin
Added option to display object's diffuse color multiplied by sculpting mask. This option could be found in Options panel of toolshelf when in sculpting mode. Thanks to Nicholas and Brecht for reviewing the patch!