User:Hypersomniac/Foundation/2019


Week 119 : 15th - 21st Apr

  • Info

I was sick and had to recover. Tried to focus on high priority bugs. Also merge some changes to edit mesh mode to improve readability.

  • General development
    • DRW: Add batch garbage collection 223f7e79f9f.
    • DRW: Expose VBO garbage collection timings 3368df4ab6e.
    • DRW: Make shaded batch validation more correct 973e64cf9cb.
    • Edit Mode: Change face mode edges display 6c83c928620.
    • Edit Mode: Make edit edges black by default bc8b884e532.
    • Edit Mode: Reduce Selected face alpha 4c4adeaa651.
    • Edit Mode: Rework display to differentiate selection modes 1a4b60c30db.
    • Fix T63284: Eevee: Crash when subsurface pass is enabled 10bf1d9ac1a.
    • Fix T63377: "Principled Volume" node not working anymore in EEVEE 8d3af588a23.

Week 118 : 8th - 14th Apr

  • Info

This was the homestretch week. I attended lots of meetings and I proposed a roadmap for integrating Vulkan (yet to be published). I took a break from bug fixing and worked on the first step to integrate Vulkan backend (opengl calls isolation & windowing system).

Note that this does not mean this is a priority but just something I would like to work on part time in the upcoming year.

Week 117 : 1st - 7th Apr

  • Info

Focus on bug fixing. Also fixed some minor hotspots.

  • General development
    • DRW: Fix hair count being limited by recent refactor af3f4f29e46.
    • DRW: Mesh Batch Cache: Fix error in loop custom data layer checking c6de149ee7d.
    • DRW: Speedup: Fix hotspot in DRW_mesh_batch_cache_get_surface_shaded f12040e088b.
    • DRW: Speedup: Replace bound tex/ubo tracking array by bitfields fefc9c95e48.
    • Eevee: Add python property update for render settings 3ab3f893a9d.
    • Fix T61035 Draw manager crash opening file with curves e559074c4e5.
    • Fix T61870 Eevee: Object's go completely black if they have a normal map ef91df608a3.
    • Fix T62892 Eevee: HDRI lightning glitch f0d6879f5c7.
    • Fix T63108 Eevee: Wrong Reflection plane matrix if camera view is not centered b26164ded5e.
    • Fix T63198 Eevee: Indirect lighting settings arent not updating in Lookdev c2f3ba64ce3.
    • Fix T63278 Eevee: LookDev: Volumetric on even if Scene World is off 9fdc16e2047.

Week 116 : 25th - 31st Mar

  • Info

Some small changes to Eevee and a lot of bug fixing.

  • General development
    • DRW/Eevee: Add correct support for Orco ec0eeb918ba.
    • Edit Mesh: Fix interpolation of gradient on edit edges 51f8e51d781.
    • Eevee: Fix reflection plane weird behavior when comming from lookdev mode 780219f868a.
    • Eevee: Implement Texture coordinate from object dec9c7d87e5.
    • Eevee: Material: Decouple transparent shadows from blend mode d6747f310f1.
    • Eevee: Modify tooltip about transparent shadow 2add3700966.
    • Eevee: Render: Reduce debug print amount to not decrease perf of rendering in background mode on windows7cbd1b0c98c.
    • Fix T62260 Edit Mesh: edges display bug on big geometries when looked up close 3aeb44cd796.
    • Fix T58387 Eevee: Voronoi(Cells) does not work on (amd + windows) d027df3add8.
    • Fix T61129 Eevee: Alpha texture shadow bug f0a20ae1c95.
    • Fix T62178 Eevee: Texture Box mapping not matching Cycles if object is scaled 42dd888b98b.
    • Fix T62566 Eevee: Cubemap doesn't bake from current frame of animation f9a69a481e4.
    • Fix T62680 Eevee: Mirrored objects have flipped binormal vectors in LookDev afaa832a85f.
    • Fix T62856 Eevee: Toon BSDF and viewport/UI oddities e59a2fcc35c.
    • Fix T62862 Eevee: Glitchy reflections in ortographic view 6d1921dd816.
    • Fix T62930 Eevee: Wireframe input node not working with certain compiler 420f30efe7e.
    • Fix T62997 Eevee: visual artifacts during irradiance volume baking 96d200775a6.
    • Fix T63115 Crash upon switching to textured/rendered mode 024d02256e6.
    • GPU: Python: Fix color difference when rendering to gpu_py_offscreen 4d71b655ec0.
    • GPU: State: Replace GL_BLEND by GPU_blend c602ec74fdd.

Week 115 : 18th - 24th Mar

  • Info

Nothing special this week. A lot of bug fixes and bug tracker cleaning.

  • General development
    • GPU: State: Disable polygon smooth and line smooth when running --debug-gpu 53cd37d5102 72c323d50c2.
    • GPU: Replace some glEnable/glDisable but GPU_state calls ed9af18c762.
    • GPU: Remove unused and deprecated GPU_line_stipple() ee5e7a006e7.
    • Edit Mesh: Rework "in front" + "hidden wire" drawing d057dea7ae4.
    • Edit Mesh: Draw loose edges in edit mesh mode if there is a modifier stack f71e8617e03.
    • Eevee: Add small optimisation for Curve Mapping nodes c49a70bcd11.
    • Eevee: Fix tangent vector not normalized before interpolation. 8b00712b55e.
    • Eevee: Normalize Tangents after transform to world space 27109fd209c.
    • Eevee: Opti: Don't consider lights that have no power 839fe4e01c4.
    • Fix T57617 Volumetrics doesn't work on the Orthographic Camera 7b3e1149757.
    • Fix T58392 Texture limit size not working 6c0bd890475.
    • Fix T58550 Dragged in images dont overlap properly c5fc8611728.
    • Fix T58748 Mirror modifier: edges/verts invisible unless face is present 1cf592e62e3.
    • Fix T59719 Bake Indirect Lighting doesn't update env map reflection 603a37fa89b.
    • Fix T60190 Z-fighting with (Culled) Backface f391362f8cd.
    • Fix T60684 Fourth and subsequent vertex color / UV layers displayed black bd803939957.
    • Fix T60969 Eevee: Volumetrics broken with dupli objects dcbc46dacb2.
    • Fix T61104 Compositing two scenes with different output scales crashes ce09b93955d.
    • Fix T61326 "In Front" option not working on edit curves bff472d2ff2.
    • Fix T61475 Particle edit does not render children if path step > 7 e72dc667c4d.
    • Fix T62097 Bone transparancy not enabled when Xray enabled 16087eb911a.
    • Fix T62839 Eevee: object scale changes normal map output in eevee f6a6770f06e.
    • Fix T62845 Eevee: VSE preview crash when setting rendered (EEVEE/Workbench) 0a89c3954f4.
    • Fix T62869 Transparent background not working in Xray Mode / Wireframe e77dc3e7ffd.
    • Fix T62873 GPUShader: compile error (when clipping in viewport) 13832988add.
    • Fix T62884 Missing control point in unselected mask handles 0f8da4f014a.

Week 114 : 11th - 17th Mar

  • Info

Nothing special this week. A lot of bug fixes (mostly for Eevee) and bug tracker cleaning.

  • General development
    • Despgraph: Make dupli objects inherit the parent's display type 729a1ab6a0f.
    • DRW: Fix missing state reset before draw pass ccb4484ea34.
    • Eevee: Fix black mesh when tangent is not present 7fb7d20c19e.
    • Eevee: Fix tangent being renormalized after interpolation 1d6009d7aab.
    • Eevee: Planar Ref.: Invert view matrix to remove triangle front face flip aaeca5d8724.
    • Fix T61857: Eevee: DOF not working if the camera is in orthographic mode fe40e184a69 66225e84cfe.
    • Fix T55620: Eevee: Artifacts with SSR and planar reflection 795bddf2bda.
    • Fix T58793: Eevee: Volumetric Clouds in Eevee not working | MacOs 3ab879ed5a5.
    • Fix T58610: Eevee: camera motion blur renders only one viewport sample f7d415ab42c.
    • Fix T58694: Eevee: Wrong result when using normal map and face is flipped 81531d452c5.
    • Fix T59448: Eevee: broken Area Light shadows for square and rectange shape 3952fd199ac.
    • Fix T59501: Eevee: doesn't use integer node sockets bf9904ec801.
    • Fix T60005: Eevee: Volume material doen't write alpha 3146a07e3ec.
    • Fix T60170: Eevee: smoke color does not apply permanently d0fb0d0a9d0.
    • Fix T60802: Eevee: No diffuse when using Clearcoat + Add shader 31fba57677a.
    • Fix T60902: Eevee: Environment texture partially visible on transp. render 41cb5658803.
    • Fix T60803: Eevee: Artifacts with SSR + Reflection Plane + 0 roughness 3600bb79d05.
    • Fix T61380: Eevee: Geometry normal node incorrect for backfacing faces in Eevee f16bdf1075b.
    • Fix T62621: Eevee: object scale changes tangent node output in Eevee 86646dab7c4.
    • Fix T59943: Workbench: Color banding present in Workbench render but not in viewport 99fe7742987.
    • Fix T61526: Viewport: hair doesn't render in workbench but does with openGL d438120fe3f.
    • Fix T62279: DRW: Rendering simple geometry corrupts with greasepencil layer e28f0f179d2.
    • Fix T62555: UI: Viewport borders flicker when splitting said viewport dbfbd6b9043.
    • Particle: Remove Billboard Particle code efdde88dfc9.
    • View3D: Fix object without bounds displaying bounding boxes 9f4ec02bb40 0142c825b59.
  • Next week

Focus on bug fixes.

Week 113 : 4th - 10th Mar

  • Info

Highlight of the week are the addition of a setting to remove Antialiasing from Edit Mode wireframes, and the shader output nodes now working from inside node groups properly.

  • General development
    • DRW: Fix GL state issues due to state not being reset after drawing 6867821c4ab af72fc75559 81283b1c81e.
    • Eevee: Update LTC code a808b58e07d.
    • GPU Extension: Add OS defines 9c435200102.
    • Fix T58890: Sculpt Mode not updating in LookDev or Rendered d77b7b097d3.
    • Fix T59140: Loose edges of final mesh does not display in edit mode 81ae7773e74.
    • Fix T59877: EEVEE: Object Info node random value does not work with Duplis dabf5931636.
    • Fix T60171: Hair Particles Not Displaying in Viewport 9ad156374f5 fbfdfcb947b.
    • Fix T61778: Crash when adding material slot to object c94db5d1c7e.
    • Fix T62066: Seg Fault Baking Light Cache with "--background" Flag 97b1739cf14.
    • Fix T62220: Solid shading mode - Shadow glitch 9d3eec785b4.
    • Fix T62259: EEVEE: RGB Curves behave differently in Cycles and Eevee e1a62fa1a61.
    • Fix T62262: Light "Show Cone" & stereoscopy volumes broken by MSAA 61039bf7137.
    • Fix T62355: Running blender 2.80 headless broken in recent builds da73f569172.
    • GPUMaterial: Make Shader Output nodes inside nodegroups work d1a744173e7.
    • Preferences: Add option to disable edit-mode wire Antialiasing 89db684d82f.
  • Next week

Focus on bug fixes.

Week 112 : 25th - 3rd Mar

  • Info

Armature wireframe drawing was brought back by enabling transparent bones when needing wireframe.

  • General development
    • Armature: Force Transparent bone in wireframe display type/mode fe5d26807b4.
    • Armature: Make selection only work on outlines in wireframe mode 495216d2b8b.
    • Armature: Remove the Transparent Bone overlay option 28ccc0fa2f1.
    • Hair Particle: Fix issue on OSX due to hardware accelerated subdivision 680c7209ecf.
    • DRW: Fix matflag not being updated after first drawcall 10afa74e824.
    • Fix T61801: Wireframes on curves not working 753e73009f7.
    • Fix T61878: Selection does not allways work in wireframe mode 4b916612e19.
    • Fix T62021: Wireframe input node doesn't work properly d7d180bd3d8.
    • Fix T62040: Irradiance Volume broken cd897c57f81.
    • Fix T62047: New wireframes missing fresnel effect 6194aa5ce97.
    • Fix T62075: Edges generated by solidify modifier does not appear faec3655d8b.
    • Fix T62090: Eevee shader compilation: undefined variable "att1_is_srgb" 66228d4362a.
    • Preferences: Remove warning concerning selection in edit mode with MSAA 5397f1e45db.
  • Next week

Focus on bug fixes.

Week 111 : 18th - 24th Feb

Random Color wireframes
  • Info

This week's highlight is the addition of the long awaited colored wireframe mode. Two color mode are be available, object (using the object color) and random (which color the objects the same way as the random option in solid mode). More info in the commit itself. I also had to fix some problems with the multires drawing code.

  • General development
    • Wireframe: Add object and random coloring option in wireframe mode 73720586496.
    • Fix T61837: Assert in Eevee multiresolution modfier in sculpt mode 0ca623362d5.
    • Sculpt Overlay: Fix mask drawn as flat shaded when smooth shading enabled 1381a4a948a.
    • GPUBuffers: Fix fast navigate in on smoooth multires grid 2f8d8b5e5e4.
    • GPUBuffers: Fix/cleanup multires implementation e35b7e73267.
  • Next week

Finish the Armature Wireframe and continue bug fixes.

Week 110 : 11th - 17th Feb

  • Info

The "Object wireframe drawing" refactor has been finished. It now draws the same on all platform (using a geometry shader to draw arbitrary thick lines on OSX) and uses MSAA for antialiasing.

  • General development
    • DRW: Fix Crash when enabling object wireframe option 11b8d8a8387.
    • Fix T61374 : vertex not visible/selectable if it is at objects origin d07cde8de8e.
    • Fix: Eevee SSS not rendering as expected 23c14a0bbac.
    • GPU: Change multisample resolve shader to output min depth 9c49c2ef0c5.
    • Overlay: Remove extra contour drawing in wireframe mode d62f8a31763.
    • Sculpt Draw: Add support for wireframe geometry 9ab99ff26b5.
    • Wireframe: Add depth offset to prevent zfighting of wireframe overlay 600da00a94e.
    • Wireframe: Add workaround for osx wide wires 2cccffd20b6.
    • Wireframe: Fix Artifacts with MSAA 7a8a2211d18.
    • Wireframe: Fix selection broken since recent wireframe refactor 28901820a44.
    • Wireframe: Refactor to use GL_LINES instead of triangles with alpha blend e49d9555418.
  • Next week

Add back wireframe armature drawing mode and as usual bug fixes.

Week 109 : 4th - 10th Feb

  • Info

The "Edit mode wireframe drawing" refactor has been finished. It now draws the same on all platform using a geometry shader to draw arbitrary thick lines and use analytic AA instead of MSAA.

We also changed the active face color hint to be a mix between the active color and the face color. This is because drawing a contour line around the active polygon was not working well with the new drawing method.

  • Next week

Refactor object mode wires drawing as usual fix bugs.

Week 108 : 28th - 3rd Feb

  • Info

I've added support to transparency for solid mode. It is supported in object and material color mode. Transparency can be changed by tweaking the alpha of the main color. It uses the same Order Independant Transparency as the Xray mode.

I also started working on the edit wire refactor but it is not finalized. As it is a crucial feature I decided to not commit the changes yet. Changes should arrive in master this week.

  • General development
    • Fix T61028: Crash when entering wireframe view d16e4d077df.
    • Workbench: Make Material transparency part of the rgba color picker 1a61c209a0f.
    • Workbench: Opti: Only request OIT buffers if needed 43150b02a00.
    • Workbench: Support transparency from object color alpha 2cc69a5e202.
    • Workbench: Add "Shadow" factor to Xray 8134f3f0a6b.
    • Workbench: Add transparency support for materials bc99f4903c5.
    • Object Mode: Fix reading past buffer end when drawing camera d88492d4ad4.
  • Next week

Finish the edit wire refactor. More bug fixing.

Week 107 : 21th - 27th Jan

  • Info

On request from the Spring team I implemented a new Depth Of Field algorithm for the workbench engine. This is a must for layout work and the actual algorithm used is way faster than EEVEE's one.

  • General development
    • Workbench: Depth Of Field: Improve noise and Large radius 314ea1b1c7d.
    • Workbench: Depth Of Field: Add toggle option in shading popover c1814d593d1.
    • Workbench: Depth Of Field: Cleanups 3223644d141.
    • Workbench: Depth Of Field: Optimisation 71e30028240.
    • Workbench: Depth Of Field: Initial Commit 3f6e14e667c.
    • T60745: GPU texture alloc failed when opening Preference Windows aae2bf77351.
    • DRW: Fix corner indices order in clipping plane setup 14b5668c601.
    • GPUShader: Add GPU_VERTEX/FRAGMENT/GEOMETRY_SHADER defines ba4de7f1a58.
  • Next week

Next week will be focused on adding transparency support to solid mode. Then I'll refactor edit mode drawing to revert back to a traditional wireframe drawing.

Week 106 : 14th - 20th Jan

  • Info

Fixing bugs and polishing features.

  • General development
    • DRW: Increase frustum culling precision d5b4d71ee7b.
    • DRW: Use name buffer to request uniform location before drawing. e3b3b320768.
    • Edit Mesh: Improve selected double vertices visibility ee0c2e9b870.
    • GPUInterface: Add builtin check in uniform location request. 6dccc7cdab1.
    • Object Mode: Outlines: Add support for thicker outline 209afa28c6e.
    • Object Mode: Grid: Improve precision and reduce code complexity b5bc2158a07.
    • EEVEE: Physically based defaults for Bloom and Shutter 16fac2149b7.
    • Fix T59482: Creating 2 Particle systems breaks the app 21fedfbca02.
    • Fix T60332: Lattice objects do not display properly in Edit mode dd5602a1e52.
    • Fix T60476: Loose vertices only partially drawn 6f9e3e9d330.
    • Fix T60545: Buffer overflow in selection batch creation dc7e4929894.
  • Next week

I will prioritize working on some features needed by the Spring team: Transparency & DoF in workbench engine.

Week 105 : 7th - 13th Jan

  • Info

This week was focused at finishing the UVedit and selection batch refactor started before vacation.

Edit mesh selection has been changed a bit and should behave more consistently when selecting vertices in mixed vertex and edge mode.

Another notable workflow improvement is the possibility to display texture without interpolation (closest/nearest interpolation) in workbench and the texture paint overlay. This was a reqested feature to work on lowpoly / pixelart assets.

  • General development
    • Fix T57371: Generative modifiers in editmode display vertex group weights 00d2237d2a3.
    • Fix T59990: Crash when entering edit mode with skin modifier enabled 3a9909f38e7.
    • BMesh: Add BM_face_calc_area_uv 74260a2b6da.
    • DRW: Fix texture paint crashing if object has no material slot bda2cd8ba5d.
    • EditUV: Only clear data VBO when selection changes 9f51fc656e2.
    • GPUMaterial: Cleanup / optimization 3bc87227f51.
    • GPUShader: Add selection id shader 9d19ff90760.
    • GPUShader: Cleanup Unused shaders 1459a704895.
    • Mesh Batch Cache: Put context evaluation out of batch cache 943852c0dc1.
    • Mesh Selection: Port to batch cache request 55ddb21b7ca.
    • Mesh Selection: Make Vertices not occluded by edges 44e3fc66c7e.
    • UVEdit: Port batches to batch request 5f3fdee53a3 621a6d4a5de.
    • UVEdit: Port texpaint_loop_wire to batch request 1c91b6ee298.
    • WM: Use draw manager to draw UV image editor spaces 86ec304ffab.
    • Workbench: Support node texture "closest" interpolation option 9177bb33f68.
    • Texture Paint: Add filtering option for texture paint overlay b98e6743dca.
  • Next week

I will still focus on bug fixing.

Week 104 : 30th - 6th Jan

  • Info

Vacation.