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-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-23Cleanup: use eGPU prefix for GPU enum typesCampbell Barton
2018-12-12Merge branch 'master' into blender2.8Campbell Barton
2018-09-24Spelling fixes in comments and descriptions (2.8 changes), patch by luzpaz.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D3719
2018-08-14Cleanup: GPU codegen: remove most of legacy codeClément Foucault
A lot of code in codegen was used by previous GLSL system. Now most of it is not used due to all the things being written from scratch in 2.8 and we can clean most of it. As a side not this make the system a bit less flexible (no support for cubemaps, preview image, etc...) but can be extended again.
2018-08-01GPUUniformBuffer: Fix bad memcpy error catched by asanClément Foucault
We need to copy the size of the gputype not the padded type.
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-06-07Uniform Buffer Objects: Simplification refactorDalai Felinto
Since we are only creating this and never updating, there is no need for the original approach with the individual data to be updated. Note we only populate the GPU data when binding the UBO, so we can in the future easily create the UBOs in a separate thread than the main drawing one. Also at the moment animated materials are not working. To fix that we need to free/tag for free the GPUMaterials in BKE_material_eval.
2018-06-07Uniform Buffer Object: No more dirty tagging calls/checkDalai Felinto
2018-04-22Cleanup: trailing spacesCampbell Barton
Applied to newly added files in 2.8
2017-10-07Cleanup: style, duplicate includesCampbell Barton
2017-09-15Eevee: Fix T52738: Probes are black.Clément Foucault
This fix the crappy binding logic. Note the current method is doing a lot of useless binding. We should somewhat order the texture so that reused textures are already bound most of the time.
2017-09-12DRW: Use static list (array) of texture/ubo to track bound textures/ubos.Clément Foucault
This is in order to use the same texture on multiple sampler. Also texture counter is reset after each shading group. This mimics the previous behaviour.
2017-08-18Uniform Buffer Objects: More complete padding solutionDalai Felinto
Move floats around when needed to accomodate vec3 arrays efficiently. With this we use slightly less memory when possible. Basically vec3s are not treated as vec4 unless we have no float to use for padding). Reviewers: fclem, sergey Differential Revision: https://developer.blender.org/D2800
2017-08-18Fix ubo vec3 alignment issueDalai Felinto
This fixes the Principled shader in Eevee, among other nodes. Basically before we were treating all the vec3 as vec4 as far as memory goes. We now only do it when required (aka, when the vec3 is not followed by a float). We can be even smarter about that and move the floats around to provide padding for the vec3s. However this is for a separate patch. That said, there seems to be some strong consensus in corners of the internet against using vec3 at all [1]. Basically even if we get all the padding correct, we may still suffer from poor driver implementations in some consumer graphic cards. It's not hard to move to vec4, but I think we can avoid doing it as much as possible. By the time 2.8 is out hopefully most drivers will be implementing things correctly. [1] - https://stackoverflow.com/questions/38172696
2017-08-12Code cleanup: fix various compiler warnings.Brecht Van Lommel
2017-07-14Implement Uniformbuffer objects for nodetree parametersDalai Felinto
For users that means you can tweak shaders in the nodetree and things are way faster. This is a huge improvement, particularly in systems that have no shader cache. From the code perspective it means we are no longer re-compiling the shader every time a value is tweaked in the UI. We are using uniforms for those values. It would be slow to add that many uniforms for all the shaders. So instead we are using UBO (Uniform Buffer Objects). This fixes the main issue of T51467. However GWN_shaderinterface_create() still needs to be improvedi. When opening a .blend all shaders are compiled once, so optimizing it will bring a measurable impact. ======================================================================== NOTE: This breaks update of Cycles material upon nodetree nodes tweaking. It will be fixed separately by depsgraph, once tackling T51925 (Animated Eevee values slowdown). The idea is to make Depsgraph update more granular. The XXX TODO in rna_nodetree.c will be tackled at that time as well. ======================================================================== Reviewers: sergey, brecht, fclem Differential Revision: https://developer.blender.org/D2739
2017-02-07Clay-Engine (merge clay-engine)Clément Foucault
Initial work by Clément Foucault with contributions from Dalai Felinto (mainly per-collection engine settings logic, and depsgraph iterator placeholder). This makes Blender require OpenGL 3.3. Which means Intel graphic card and OSX will break. Disable CLAY_ENGINE in CMake in those cases. This is a prototype render engine intended to help the design of real render engines. This is mainly an engine with enphasis in matcap and ambient occlusion. Implemented Features -------------------- * Clay Render Engine, following the new API, to be used as reference for future engines * A more complete Matcap customization with more options * Per-Collection render engine settings * New Ground Truth AO - not enabled Missing Features ---------------- * Finish object edit mode - Fix shaders to use new matrix - Fix artifacts when edge does off screen - Fix depth issue - Selection sillhouette - Mesh wires - Use mesh normals (for higher quality matcap) - Non-Mesh objects drawing - Widget drawing - Performance issues * Finish mesh edit mode - Derived-Mesh-less edit mode API (mesh_rende.c) * General edit mode - Per-collection edit mode settings * General engines - Per-collection engine settings (they are their, but they still need to be flushed by depsgraph, and used by the drawing code)