Blender Git Statistics -> Developers -> fclem
Clément Foucault (fclem)
Total Commits : 4 489
Master Commits : 3 260
Branch Commits : 1 229
First Commit : January 3, 2017
Latest Commit : December 15, 2021
Commits by Month
Date | Number of Commits | |
---|---|---|
December, 2021 | 4 | |
November, 2021 | 17 | |
October, 2021 | 15 | |
September, 2021 | 31 | |
August, 2021 | 2 | |
July, 2021 | 7 | |
June, 2021 | 41 | |
May, 2021 | 46 | |
April, 2021 | 59 | |
March, 2021 | 79 | |
February, 2021 | 71 | |
January, 2021 | 90 | |
December, 2020 | 0 | |
November, 2020 | 13 | |
October, 2020 | 37 | |
September, 2020 | 157 | |
August, 2020 | 168 | |
July, 2020 | 146 | |
June, 2020 | 77 | |
May, 2020 | 68 | |
April, 2020 | 49 | |
March, 2020 | 62 | |
February, 2020 | 113 | |
January, 2020 | 142 | |
December, 2019 | 129 | |
November, 2019 | 88 | |
October, 2019 | 46 | |
September, 2019 | 61 | |
August, 2019 | 84 | |
July, 2019 | 71 | |
June, 2019 | 44 | |
May, 2019 | 177 | |
April, 2019 | 44 | |
March, 2019 | 105 | |
February, 2019 | 45 | |
January, 2019 | 47 | |
December, 2018 | 113 | |
November, 2018 | 110 | |
October, 2018 | 79 | |
September, 2018 | 66 | |
August, 2018 | 77 | |
July, 2018 | 94 | |
June, 2018 | 135 | |
May, 2018 | 138 | |
April, 2018 | 97 | |
March, 2018 | 141 | |
February, 2018 | 104 | |
January, 2018 | 77 | |
December, 2017 | 10 | |
November, 2017 | 38 | |
October, 2017 | 45 | |
September, 2017 | 66 | |
August, 2017 | 37 | |
July, 2017 | 116 | |
June, 2017 | 116 | |
May, 2017 | 102 | |
April, 2017 | 42 | |
March, 2017 | 68 | |
February, 2017 | 133 | |
January, 2017 | 50 |
Commit Distribution
Favourite Files
Filename | Total Edits |
---|---|
draw_manager.c | 434 |
eevee_private.h | 339 |
CMakeLists.txt | 273 |
DRW_render.h | 265 |
eevee_materials.c | 235 |
eevee_engine.c | 208 |
draw_manager_exec.c | 197 |
eevee_lightprobes.c | 191 |
object_mode.c | 181 |
draw_manager_data.c | 177 |
File Changes
Action | Total | Per Commit |
---|---|---|
Added | 1 124 | 0.3 |
Modified | 15 863 | 3.5 |
Deleted | 657 | 0.1 |
Code Changes
Action | Total | Per Commit |
---|---|---|
Lines Added | 224 221 | 52.9 |
Lines Removed | 119 998 | 28.3 |
Latest commits
Revision 8b097d5 by Clément Foucault (tmp-gpu-shader-descriptor-2) December 15, 2021, 13:05 (GMT) |
Merge branch 'master' into gpu-shader-descriptor |
Revision f87e51a by Clément Foucault (tmp-gpu-shader-descriptor-2) December 15, 2021, 13:03 (GMT) |
Implement OpenGL backend support 1/2 |
Revision d7b310b by Clément Foucault (tmp-gpu-shader-descriptor-2) December 14, 2021, 17:14 (GMT) |
ShaderCreateInfo: Rewrite implementation in C++ |
Revision c9b32f0 by Clément Foucault (tmp-gpu-shader-descriptor-2) December 13, 2021, 14:14 (GMT) |
Merge branch 'master' into gpu-shader-descriptor |
November 25, 2021, 12:40 (GMT) |
Fix T92609 Default Compositing tab shows red overlay when stereoscopy is turned on This was caused by the drawing not being done on the right frammebuffer. |
Revision 5967e12 by Clément Foucault (tmp-gpu-shader-descriptor-2) November 24, 2021, 21:15 (GMT) |
GPUShaderDescriptor for interface abstraction This is a first draft of what the Shader Descriptor system could be. A shader descriptor provides a way to define shader structure, resources and interfaces. This makes for a quick way to provide backend agnostic binding informations while also making shader variations easy to declare. - Clear source input (only one file). Cleans up the GPU api since we can create a shader from one descriptor - Resources and interfaces are generated by the backend (much simpler than parsing). - Bindings are explicit from position in the array. - GPUShaderInterface becomes a trivial translation of enums and string copy. - No external dependency to third party lib. - Cleaner code, less fragmentation of resources in several libs. - Easy to modify / extend at runtime. - no parser involve, very easy to code. - Does not hold any data, can be static and kept on disc. - Could hold precompiled bytecode for static shaders. This also includes a new global dependency system. This is a prototype to support `#include` directive inside glsl sources. I went for a C type shader description with static array for the given reasons: - Simplicity: this is compiled language, can be extended at runtime by C and C++ without much effort, no parsing involved. - Readability: Can use designated initializers which allow meaningful syntax (like `.push_constants` or `[0]` for the 1st bind point). - Combinations: We can combine descriptors to create shader variations really quickly. See `workbench_prepass.desc.h` in the branch for some crazy combination. - Avoid having to write a C++ interface for C usage. Note that the CMake changes are just to make things work. What is remaining: - GL backend to generate uniforms and support push constants (via uniforms). - pyGPU API What I would like to discuss: - Naming: Is "descriptor" too much similar to vulkans descriptors set? This might create confusion. Maybe MetaData is better? But it may hold more than meta data. - Choose the right extension for descriptor files. - Choose the right folder. Do we keep them alongside shader files even if name could differ? - Indentation is 4 spaces for some reasons in descriptors definitions. - Memory usage might be a concern. We are talking about ~3 MByte of data in the executable. - Syntax: Is using [0] to specify binding index clear enough or using `VERTEX_INPUT(0, ...)` makes more sense? What about future proofing if we one day want to compile this as C++ code. - This format has nice benefits but it needs manual writting on our ends to modify the shaders. That said, writting all shaders variations for the workbench prepass was quite easy and fast. - How would we expose this through pyGPU? Differential Revision: https://developer.blender.org/D13360 |
Revision f240ac1 by Clément Foucault (gpu-shader-descriptor) November 24, 2021, 20:41 (GMT) |
Improve formating |
November 24, 2021, 19:09 (GMT) |
Fix compilation & dependency depth |
November 24, 2021, 18:46 (GMT) |
Make shaders sources from draw included in the dependency library. |
November 24, 2021, 17:56 (GMT) |
Fix compilation issues on MSVC and a bug in builder |
MiikaHweb - Blender Git Statistics v1.06