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
2018-05-20DRW: Rename some DRW_STATE_* for more consistency.Clément Foucault
2018-05-17Remove ViewLayer settings - cleanup 1/2Dalai Felinto
2018-05-07Armature: Add new Transparent Bone overlay option.Clément Foucault
This is half the replacement of the old wireframe mode. It's not doing any XRay drawing at the moment.
2018-05-07Armature: Add back relationship lines.Clément Foucault
2018-05-07Object Mode: Use stipple shader for relationship lines.Clément Foucault
2018-05-06Armature: Add a special Pass for bone axes.Clément Foucault
In object mode, the axes are drawn like any other wire objects with depth test and depth write. Thus enabling MSAA to work but not their xray behaviour. In edit armature/pose mode, draw smooth line without depth testing. This produces wrong draw ordering problem but still gives the desired xray behaviour. We do it outside of the MSAA pass since the xray behaviour is not compatible with it. But we are drawing smoothed lines so no need for MSAA. The lines are 2px thick and improve readability.
2018-05-06Armature: Put passes in a struct easier to pass around.Clément Foucault
2018-05-02Armature: Envelope Bones: Change drawing method.Clément Foucault
We now use a more pleasant and efficient way to display enveloppe bones and their radius. For this we use a capsule geometry that is displaced (in the vertex shader) to a signed distance field that represents the bone shape. The bone distance radius are now drawn in 3D using a "pseudo-fresnel" effect. This gives a better understanding of what is inside the radius of influence. When capsules are not needed, we switch to default raytraced points. The capsules are not distorded by the bone's matrix (same as their actual influence radius) and are correctly displayed even with complex scaled parents hierarchy.
2018-05-02Armature: Draw envelope on non MSAA buffer.Clément Foucault
Appart from the performance issue, the MSAA resolve pass is not compatible with additive passes.
2018-05-02DRW: Make use of new multisample resolve pass.Clément Foucault
2018-05-02DRW: Armature: New bone outline shader.Clément Foucault
This fix the issue with the zfighting we were getting at bones edges. Moreover, this enables us to render arbitrarly large outline with varying thickness.
2018-01-30DRW / Render: Add support for render pipeline in drawmanager.Clément Foucault
For simplicity we choose to execute the rendering of Opengl engines in the main thread and block the interface. This might be addressed in the future at least for video rendering. A drawmanager wrapper (DRW_render_to_image) is called by the render pipeline to set up the Opengl state and then call the specific draw_engine->render_to_image function.
2017-09-25DRW : Add new view_update mechanism.Clément Foucault
This makes updates for the viewport cleaner and also add the possibility to add a new callback called when the scene is updated.
2017-09-25DRW : Add AA to non meshes objects.Clément Foucault
You can change the amount of samples in the user preferences. You do not need to restart blender to see the effect in the new viewport. This adds another Multisample Framebuffer and textures (so even more memory required). It works by blitting the default_fb to the multisample_fb each time the renderer need to render one or more "wire" pass. It it then blit back to the default_fb so that the rest of pipeline is working as expected. We COULD lower the GPU memory / bandwidth usage to render everything to the same multisample fbo and change the logic depending on if MSAA is enabled or not, but I think it's a bit too much work for now.
2017-07-14Cleanup: long linesCampbell Barton
2017-05-17DwM: Armature: fix bone distance outline drawing.Bastien Montagne
This indeed needed its own draw pass, thank to @fclem for the hints! Also fixes a stupid mistake in bones head/tail coloring.
2017-05-03Draw Manager: fix draw-state switching logicCampbell Barton
Changing states didn't properly reset between shading groups causing the GL state to be wrong based on draw order. States are now only set when changed.
2017-05-02Cleanup: typedef for empty listCampbell Barton
Without this the intent isn't clear.
2017-04-29Cleanup: rename struct for private engine dataCampbell Barton
Also remove from pass list (there were some duplicate unused entries).
2017-04-12Draw Engine: remove hard coded limit on array sizesCampbell Barton
This removes MAX_STORAGE, MAX_BUFFERS, MAX_TEXTURES, MAX_PASSES limits. Actual memory saving isn't so important, it just means we don't need to manually bump these based on changes to engines.
2017-04-03Draw Manager: Use engine type pointer instead of engine name.Clément Foucault
Faster search
2017-03-27Draw Engines: Make g_data struct part of the viewport storageClément Foucault
This makes viewport cache construction independant from each others and will allow multithread down the road.
2017-03-27Draw Manager: Make Viewport Data passed by the manager call.Clément Foucault
2017-03-20Draw module: code style, encapsulate static varsClément Foucault
2017-03-14Cleanup: warningsCampbell Barton
2017-03-09Draw Manager: structural changeClément Foucault
All engines are now called by the draw manager. Engines are separate entities that cannot interfer with each others. Also separated draw_mode_pass.c into the mode engines.
2017-03-05Clay Engine: camera drawingClément Foucault
2017-02-22Cleanup: StyleJulian Eisel
2017-02-22Clay Engine: Started Armature drawingClément Foucault
This should give the overall direction to whom wants to finish it. - Renamed EDIT mode engine to EDIT_MESH mode engine - Introduce EDIT_ARMATURE mode engine - Started to port legacy drawarmature.c to draw_armature.c