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-08-16replace calls to BLI_linklist_append with BLI_linklist_prepend where order ↵Campbell Barton
us unimportant, since append steps over the whole list each time.
2013-08-09OpenGL VBO's: free VBO pool before redraw, otherwise this just holds onto memoryBrecht Van Lommel
after objects are deleted until another big object is added. There's no good reason to do this, or to think that our pool is somehow much faster than using the OpenGL API to allocate and free buffers.
2013-07-01add some missing members to opengl debug print, also use a macro to avoid ↵Campbell Barton
passing each arg twice.
2013-07-01opengl debug info, make GPU_state_print() only show values in arrays that ↵Campbell Barton
are set. (was print 32 values every time)
2013-06-26quiet double promotion warning and some style cleanupCampbell Barton
2013-06-25Fix #34909 Texture paint mode does not correctly update when usingAntony Riakiotakis
textures larger than 2048x2048. Check if texture is over user preference or GPU limit in texture paint mode and if it is, scale the partial redraw rectangle before uploading to GPU. This should be faster than rescaling the whole texture.
2013-06-23Fix #35848: render crash in background mode due to missing G.main.Brecht Van Lommel
2013-06-15Fix #35768: crash in with "free image textures" option and 3D viewport with ↵Brecht Van Lommel
textured draw mode open. OpenGL texture free needs to happen in the main thread, but it was freeing a copy of the image datablock. I can't understand how this code ever worked, probably it never did.
2013-06-13code cleanup: also fix crash in GPU_state_print(). and confine to debug mode ↵Campbell Barton
builds.
2013-04-14BGE: Adding mipmapping control to bge.render via bge.render.setMipmapping() ↵Mitchell Stokes
and bge.render.getMipmapping().
2013-04-12Add function to query maximum texture size. Also, make texture uploadAntony Riakiotakis
functions aware of this limit.
2013-04-08Fix #34908: compressed DDS files did not display properly when their mipmap ↵Brecht Van Lommel
levels did not go down to 1x1 image size, need to set GL_TEXTURE_MAX_LEVEL then.
2013-04-04Fix for [#34754] "Revision 55527 provokes glitchy GLSL shadow map rendering" ↵Mitchell Stokes
reported by Alain Ducharme. Per material uniforms and per object uniforms are now better separated.
2013-03-31style cleanupCampbell Barton
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 #34649: texture size limit user preference not working.Brecht Van Lommel
2013-03-08style cleanupCampbell Barton
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-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.
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-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-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-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-10-30style cleanupCampbell Barton
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-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!
2012-10-21style cleanup: trailing tabs & expand some non prefix tabs into spaces.Campbell Barton
2012-10-10Google Summer of Code project: "Smoke Simulator Improvements & Fire".Daniel Genrich
Documentation & Test blend files: ------------------ http://wiki.blender.org/index.php/User:MiikaH/GSoC-2012-Smoke-Simulator-Improvements Credits: ------------------ Miika Hamalainen (MiikaH): Student / Main programmer Daniel Genrich (Genscher): Mentor / Programmer of merged patches from Smoke2 branch Google: For Google Summer of Code 2012
2012-10-01Fix #32695: Can't disable color management for 3D viewSergey Sharybin
Made it so viewport will disable color management if display device set to None. This solves couple of regressions, mainly related on old BGE files and made None display behave exactly as old color management disabled.
2012-09-30Revert changes made to support diffuse color when sculptingSergey Sharybin
This changes are not stable enough and trying fix it could backfire in some other regressions which isn't wanted so much close to the release. This means objects will have gray color as diffuse which becomes darker in masked areas for 2.64. Proper fix is aimed for 2.65. This commit reverts 50827 and 50898.
2012-09-23Fix #32522: Object's diffuse color not showing in Sculpt ModeSergey Sharybin
It was missing since sculpting mask implementation. Now object's color would be multiplied by sculpt mask value. For VBOs it's done by storing final color in VertexBufferFormat and mimic behavior of setMaterial callback for getting current diffuse color. For non-VBOs diffuse color is getting from current OpenGL context.
2012-09-20style cleanupCampbell Barton
2012-09-18Fix #31539, painting in image editor while in object mode does not update ↵Antony Riakiotakis
mipmaps. While we could disable/enable mipmaps on stroke begin/end, it is a bit hacky (but worthy of consideration for later) for my taste just to paint in the image editor. Instead we generate mipmaps on the fly. Since we can update texture levels below the first only with GPU mipmapping, partial update when painting in the image editor will actually work only with GPU mipmapping from now on (which is fast enough I hope not to get any lags!).
2012-09-17fix for node socket text buttons not scaling with DPI, also quiet -Wundef ↵Campbell Barton
warning WITH_DDS.
2012-09-15Color Management, Stage 2: Switch color pipeline to use OpenColorIOSergey Sharybin
Replace old color pipeline which was supporting linear/sRGB color spaces only with OpenColorIO-based pipeline. This introduces two configurable color spaces: - Input color space for images and movie clips. This space is used to convert images/movies from color space in which file is saved to Blender's linear space (for float images, byte images are not internally converted, only input space is stored for such images and used later). This setting could be found in image/clip data block settings. - Display color space which defines space in which particular display is working. This settings could be found in scene's Color Management panel. When render result is being displayed on the screen, apart from converting image to display space, some additional conversions could happen. This conversions are: - View, which defines tone curve applying before display transformation. These are different ways to view the image on the same display device. For example it could be used to emulate film view on sRGB display. - Exposure affects on image exposure before tone map is applied. - Gamma is post-display gamma correction, could be used to match particular display gamma. - RGB curves are user-defined curves which are applying before display transformation, could be used for different purposes. All this settings by default are only applying on render result and does not affect on other images. If some particular image needs to be affected by this transformation, "View as Render" setting of image data block should be set to truth. Movie clips are always affected by all display transformations. This commit also introduces configurable color space in which sequencer is working. This setting could be found in scene's Color Management panel and it should be used if such stuff as grading needs to be done in color space different from sRGB (i.e. when Film view on sRGB display is use, using VD16 space as sequencer's internal space would make grading working in space which is close to the space using for display). Some technical notes: - Image buffer's float buffer is now always in linear space, even if it was created from 16bit byte images. - Space of byte buffer is stored in image buffer's rect_colorspace property. - Profile of image buffer was removed since it's not longer meaningful. - OpenGL and GLSL is supposed to always work in sRGB space. It is possible to support other spaces, but it's quite large project which isn't so much important. - Legacy Color Management option disabled is emulated by using None display. It could have some regressions, but there's no clear way to avoid them. - If OpenColorIO is disabled on build time, it should make blender behaving in the same way as previous release with color management enabled. More details could be found at this page (more details would be added soon): http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management -- Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO integration and to Brecht van Lommel for some further development and code/ usecase review!
2012-09-15code cleanup: remove paranoid/invalid NULL checks and also reduce some ↵Campbell Barton
unneeded size_t -> int conversions.
2012-08-30Fix #32404: GLSL normal maps using float images were incorrectly gettingBrecht Van Lommel
color managed.
2012-08-18Moving more duplicate code from GPU_create_gl_tex_compressed() and ↵Mitchell Stokes
BL_Texture::InitGLCompressedTex() into GPU_Upload_dxt_texture(). This reduces code duplication and ensures that both paths are using the same settings.
2012-08-04style cleanupCampbell Barton