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
2019-05-13Cycles/Eevee: unified and improved texture image color space handlingBrecht Van Lommel
Cycles now uses the color space on the image datablock, and uses OpenColorIO to convert to scene linear as needed. Byte images do not take extra memory, they are compressed in scene linear + sRGB transfer function which in common cases is a no-op. Eevee and workbench were changed to work similar. Float images are stored as scene linear. Byte images are compressed as scene linear + sRGB and stored in a GL_SRGB8_ALPHA8 texture. From the GLSL shader side this means they are read as scene linear, simplifying the code and taking advantage of hardware support. Further, OpenGL image textures are now all stored with premultiplied alpha. Eevee texture sampling looks a little different now because interpolation happens premultiplied and in scene linear space. Overlays and grease pencil work in sRGB space so those now have an extra conversion to sRGB after reading from image textures. This is not particularly elegant but as long as engines use different conventions, one or the other needs to do conversion. This change breaks compatibility for cases where multiple image texture nodes were using the same image with different color space node settings. However it gives more predictable behavior for baking and texture painting if save, load and image editing operations have a single color space to handle. Differential Revision: https://developer.blender.org/D4807
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-03-22Silence warningsDalai Felinto
2019-03-22GPU: Create and use new GPU_texture_read_rect utility.mano-wii
2019-03-20Cleanup: use lowercase for dimensions in function namesCampbell Barton
Most API's already use this convention.
2019-02-18Fix T57457: animated image sequences not working in Eevee.Brecht Van Lommel
The dependency graph now handles updating image users to point to the current frame, and tags images to be refreshed on the GPU. The image editor user is still updated outside of the dependency graph. We still do not support multiple image users using a different current frame in the same image, same as 2.7. This may require adding a GPU image texture cache to keep memory usage under control. Things like rendering an animation while the viewport stays fixed at the current frame works though.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2019-01-23Cleanup: use eGPU prefix for GPU enum typesCampbell Barton
2018-11-14Merge branch 'master' into blender2.8Campbell Barton
2018-11-14Cleanup: comment block tabsCampbell Barton
2018-10-26GPUTexture: Add supports for GL_DEPTH32F_STENCIL8 texture formatClément Foucault
2018-08-10GPUMaterial: Group all colorband texture togetherClément Foucault
This lower the use of texture samplers slots and let users use more real textures in their shaders. This patch also make the ramp texture 16 bit floating point. Meaning you can now use value greater than one in your color ramps. With the limit of 128 colorband per shader (a color band being either a color ramp, a wavelength node or a curve node (and maybe wavelength node in the future)). Only drawback with the current implementation is that it does not remove colorband from pruned GPUNodes but it shouldn't really matter in practice. This should fix T56010
2018-07-19GPU: Add GC to FBOs and UBOs and centralize all GCsClément Foucault
GPUFrameBuffers were being free when no context was attached or in the wrong gl context. This make sure this does not happen again. You can now safely free any gl resource from any thread (well as long as it's not used anymore!).
2018-07-18GWN: Port to GPU module: Replace GWN prefix by GPUClément Foucault
2018-07-10GPUTexture: Refactor of texture creation & new featureClément Foucault
- Texture creation now requires explicit data type. - GPU_texture_add_mipmap enable explicit mipmap upload. - GPU_texture_get_mipmap_size can be used to get the size of a mipmap level of an existing GPUTexture - GPU_texture_read let you read back data from a gpu texture.
2018-06-27bf_gpu: Add GPU_state module.Ray Molenkamp
This has wrappers for the most common gl* functions in the codebase, and is in preparation for D3502 Reviewers: brecht, fclem Differential Revision: https://developer.blender.org/D3501
2018-06-22Cleanup: styleCampbell Barton
2018-06-22GLRefactor: Refactor bf_blenfont to use GPUTexture instead of raw GL calls ↵Ray Molenkamp
and types. In an effort to centralize all opengl calls in the codebase, this patch replaces the raw opengl calls in bf_blenfont with GPUTexture so it's no longer depended on opengl headers. reviewer: Brecht Differential Revision: https://developer.blender.org/D3483
2018-06-14GPU: consistenly use mipmap on/off in all draw modes.Brecht Van Lommel
This is important for good texture paint performance.
2018-06-12Cleanup: remove image->bindcode, always wrap in GPUTexture.Brecht Van Lommel
This simplifies code, and will hopefully make UDIM usage of GPUTexture a little easier.
2018-06-11Revert "Cleanup: remove image->bindcode, always wrap in GPUTexture."Brecht Van Lommel
This reverts commit 8242a5bc853a74da1273fc7ad4b959ac716c563c. This isn't quite ready to use yet.
2018-06-11Cleanup: remove image->bindcode, always wrap in GPUTexture.Brecht Van Lommel
2018-06-08Rename: GPU_texture_orphansDalai Felinto
2018-06-04Merge branch 'master' into blender2.8Campbell Barton
2018-06-04 Cleanup: strip trailing space in GPU moduleCampbell Barton
2018-06-02GPU: Fix texture being freed in threads without ogl context bound.Clément Foucault
This is a dirty fix. A bit more cleaner approach would be to check if a context is bound and delay the deletion only in this case. Also we may want to do this orphan deletion at some other places than wm_window_swap_buffers.
2018-05-31GPUTexture: Expose GPU_texture_create_buffer and add GL_R32I support.Clément Foucault
2018-05-13GPUTexture: Add Texture Buffer support.Clément Foucault
This is needed by opensubdiv and can be helpfull in a lot of other cases.
2018-04-30GPUTexture: Add support for GPU_RG16.Clément Foucault
2018-04-30DRW: Remove DRWTextureFormat in favor or GPUTextureFormat.Clément Foucault
Because: - Less redundancy. - Better suffixes. Also a few modification to GPU_texture_create_* to simplify the API: - make the format explicit to the texture creation process. - remove the component count as it's specified in the GPUTextureFormat.
2018-04-25Silhouette Overlap OverlayJeroen Bakker
Added Object Overlap Overlay - Added R32UI support to GPU_framebuffer - Added R32U support to draw manager - The overlay mode has a object data pass that will render 'needed' data to specific buffers so we can mix them together via a deferred rendering. In future will also add UV's and other data - Overlap is implemented as an overlay so it could be used on top of the Scene lighted Solid mode (that will be rendered by Eevee. Reviewers: fclem, brecht Reviewed By: fclem Subscribers: sergey Tags: #code_quest Maniphest Tasks: T54726 Differential Revision: https://developer.blender.org/D3174
2018-04-16GPU/DRW: Add GPU_R16UI format.Clément Foucault
2018-03-25GPUFramebuffer: Refactor (Part 2)Clément Foucault
This refactor modernise the use of framebuffers. It also touches a lot of files so breaking down changes we have: - GPUTexture: Allow textures to be attached to more than one GPUFrameBuffer. This allows to create and configure more FBO without the need to attach and detach texture at drawing time. - GPUFrameBuffer: The wrapper starts to mimic opengl a bit closer. This allows to configure the framebuffer inside a context other than the one that will be rendering the framebuffer. We do the actual configuration when binding the FBO. We also Keep track of config validity and save drawbuffers state in the FBO. We remove the different bind/unbind functions. These make little sense now that we have separate contexts. - DRWFrameBuffer: We replace DRW_framebuffer functions by GPU_framebuffer ones to avoid another layer of abstraction. We move the DRW convenience functions to GPUFramebuffer instead and even add new ones. The MACRO GPU_framebuffer_ensure_config is pretty much all you need to create and config a GPUFramebuffer. - DRWTexture: Due to the removal of DRWFrameBuffer, we needed to create functions to create textures for thoses framebuffers. Pool textures are now using default texture parameters for the texture type asked. - DRWManager: Make sure no framebuffer object is bound when doing cache filling. - GPUViewport: Add new color_only_fb and depth_only_fb along with FB API usage update. This let draw engines render to color/depth only target and without the need to attach/detach textures. - WM_window: Assert when a framebuffer is bound when changing context. This balance the fact we are not track ogl context inside GPUFramebuffer. - Eevee, Clay, Mode engines: Update to new API. This comes with a lot of code simplification. This also come with some cleanups in some engine codes.
2018-03-25GPUTexture: Small refactor.Clément Foucault
This includes a few modification: - The biggest one is call glActiveTexture before doing any call to glBindTexture for rendering purpose (uniform value depends on it). This is also better to know what's going on when rendering UI. So if there is missing UI elements because of this commit look for this first. This allows us to have "less calls" to glActiveTexture (I did not measure the final count) and less checks inside GPU_texture. - Remove use of GL_TEXTURE0 as a uniform value in a few places. - Be more strict and use BLI_assert for bad usage of GPU_texture functions. - Disable filtering for integer and stencil textures (not supported by OGL specs). - Replace bools inside GPUTexture by a bitflag supporting more options to identify texture types.
2018-03-14GPUTexture: Unlock GL_R16I format.Clément Foucault
2018-03-14GPUTexture: Save sample count inside texture struct.Clément Foucault
This adds a quick way to know if a texture is a multisample texture and its sample count.
2018-01-15GPU Texture: Add GL_RG16I format.Clément Foucault
2018-01-04GPU_offscreen: Add option for high bit depth.Clément Foucault
This way we can render in HDR and read the real pixel values.
2017-11-14GPUTexture: Add for stencil to default depth buffers.Clément Foucault
Theses will be used by eevee SSS. TODO: only allocate stencil if needed.
2017-08-22Eevee: Fix T52486Clément Foucault
For that introduce an update function for textures.
2017-08-18GPU_texture : Add RG8 format.Clément Foucault
2017-06-22GPUTexture: Support for nearest sampling with mipmaps.Clément Foucault
2017-05-20GPUTexture: Enabling R32 format for linear depth encoding.Clément Foucault
2017-05-16Draw Manager: Texture Memory usage improvement.Clément Foucault
-Use 11_11_10 buffers for hdr content. -Eevee compositing share 1 buffer if bloom and DOF are both activated. -Fix slowdown when resizing EEVEE viewport. -Removed DRW_BUF_*** enums causing confusion.
2017-05-16GPUViewport: Add a Texture Pool to reuse textures across engines.Clément Foucault
2017-05-10GPUTexture: Add support for 32bit textures.Clément Foucault
2017-05-04Draw Manager: Add a memory stats to debug view.Clément Foucault
Adds 2 static unsigned int to Gawain and GPUTexture to roughly keep track of the memory stats on the GPU. Stats can be view at the bottom of the GPU stats with debug value > 20.