Revision 5fb1b27 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 30, 2021, 20:48 (GMT) |
EEVEE: Lightprobe: Port back lightprobe filtering No much change appart from code organization and structure. |
Revision 6376b57 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 30, 2021, 20:48 (GMT) |
DRW: Add DRW_view_frustum_bsphere_get |
Revision 31963c8 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 29, 2021, 14:59 (GMT) |
DRW: Increase shader library max supported lib count |
Revision 4495060 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 29, 2021, 14:44 (GMT) |
DRW: Add DRW_view_get_active |
Revision f4dbdd7 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 27, 2021, 23:07 (GMT) |
EEVEE: Lightprobe: Add simple world probe rendering and downsampling |
Revision e19c028 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 27, 2021, 22:51 (GMT) |
EEVEE: Add back world nodetree support Only for background for now. Support is now not using defines and just use the correct globals and uniforms to keep the same values as before. |
Revision f04011d by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 27, 2021, 02:52 (GMT) |
World: Add static default world This is a small convenience. This let the render engine use this default world if scene has no world. World is black to keep the same behavior as before. |
Revision 1bc0a70 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 26, 2021, 00:23 (GMT) |
EEVEE: Fix ModelMatrix in nodetree and wrong bump map output |
Revision 2b6c70a by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 26, 2021, 00:02 (GMT) |
EEVEE: Rework multi material handling Shading groups are now created by the material_array_get functions instead of passing a reference to be filled later. This avoids having to wait later to maybe create a sub shading group. This also simplifies different geomety type handling. |
Revision 113c16d by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 24, 2021, 18:45 (GMT) |
EEVEE/GPU: Nodes: Fix some BSDF nodes Fix glass, principled and eevee specular shaders. |
Revision 06ca181 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 24, 2021, 18:43 (GMT) |
EEVEE: GPencil: Add basic support for gpencil geometry This adds support for rendering gpencil objects. There is a lot of features to implement specially the ones requiring per object uniforms. |
Revision 6c0d8c4 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 24, 2021, 16:13 (GMT) |
EEVEE: Material: Fix shader uuid to material type conversion |
Revision 44bb4be by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 24, 2021, 16:12 (GMT) |
DRW: Shader: Fix deferred compilation abortion The case where a shader was queued but then requested as non deferred was not handled correctly. |
Revision f7f1ee9 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 23, 2021, 00:42 (GMT) |
EEVEE: Add back split sum BSDF approximation This improves the surface appearance of most bsdf. |
Revision e91df65 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 22, 2021, 22:39 (GMT) |
EEVEE: Material: Use weight to random sample closure per types This adds a new closure selection method. - In a first pass, weights are accumulated per output type (diffuse, reflection, refraction). - A random threshold is then generated before evaluating the BSDF nodes again. - During the evaluation pass the random threshold is decremented until it reaches 0. At this moment the current BSDF is sampled. For this to work, I splited the evaluation and the weighting in two functions for all BSDF. The `*_eval` nodes are generated as dangling nodes from the graph and only serialized after the rest of the graph. |
Revision 10cf162 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 22, 2021, 01:05 (GMT) |
GPUMaterial: Add recalc flag workaround Recalc flag on Material ID being unavailable to render engine, this adds a simple way to detect material update by detecting shader creation or update. |
Revision 7d36a00 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 22, 2021, 00:55 (GMT) |
GPUNodeTree: Add weight tree inversion This constructs a "mirror" nodetree that feeds the closure "shader" nodes with their respective final weight. The tree is mirrored using simple math nodes. This is quite messy but this is the only way to proceed without introducing special nodes. The other issue with this method is that inputs are all uniforms even for unplugged socket on temporary math nodes with add bloat to the shader uniform buffer structure. Only the part relevant to the weighting is duplicated. Other connexions with the shading tree are reuse. All shader nodes are updated to receive a `Weight` hidden parameter. The original shader mixing tree is preserve to let the choice of using either way to weight the output. For now this is only done for the output nodes. This will need to be extended to Closure to RGBA sub-tree. |
Revision 9a857d8 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 21, 2021, 15:28 (GMT) |
GPUNodeTree: Move closure socket implicit cast to ntreeGPUMaterialNodes This reduces complexity of weighting closure in further dev. |
Revision 2580622 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 21, 2021, 15:25 (GMT) |
GPUNode: Remove ssr_id and sss_id These are not useful anymore. |
Revision 6dc49ec by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 20, 2021, 21:51 (GMT) |
GPU/EEVEE: Refactor codegen and nodetree support This is the first step towards the new evaluation scheme of EEVEE closures. This commit contains: - Removal of GPU_SOURCE_BUILTIN type, prefering global instead. This avoid many boilerplate code since most of the old builtins are now datas that are always present (i.e: view matrices, normals). - Rewritting of codegen in C++ to use `std::stringstream`. - Added a callback to let engine decide what to do with codegen code. This remove a lot of needs for defines because of code order dependency. The engine can insert the nodetree code in custom ways to create advance effects (i.e: add displacement or vertex lighting). Engine now returns final shader strings. - Closure nodes evaluation replacment is a placeholder for now. |
|