Skip to content

Commit

Permalink
Finish 3d viewer improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
marekr committed Sep 27, 2020
1 parent faa1604 commit cf8c55e
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 21 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
+++
title = "Development Highlight: V6 3D Viewer Improvements"
date = "2020-09-23"
draft = true
title = "Development Highlight: 3D Viewer Improvements"
date = "2020-09-26"
draft = false
"blog/categories" = [
"Development Highlight"
]
Expand All @@ -10,22 +10,24 @@ draft = true
:icons:
:iconsdir: /img/icons/

Not all changes to KiCad have to large by themselves, and this development highlight aims to showcase smaller improvements made
so far to the 3D Viewer by a few contributors and are available in the nightly builds.
The 3D Viewer has seen a few incremental improvements during the course of V6 development.
Not all changes to KiCad have to large by themselves to improve KiCad.
<!--more-->

== Populate Silkscreen and Soldermask Colors from PCBNew board properties
A small quality of life improvement (but appreciated nonetheless 👍), https://gitlab.com/Drinausaur[Fabien Corona] in https://gitlab.com/kicad/code/kicad/-/merge_requests/63[MR#63] added the ability
A small quality of life improvement, https://gitlab.com/Drinausaur[Fabien Corona] in https://gitlab.com/kicad/code/kicad/-/merge_requests/63[MR#63] added the ability
for the 3D viewer to use the board soldermask and silkscreen colors as defined in PCBNew just like the title of the merge request implies 😀

image::physical-stackup.png[align=center, alt="Physical stackup page in Board Setup shown with color options circled", link=physical-stackup.png]

== Plated and Non-Plated Copper pads
== Plated and Non-Plated Copper
A subtle change has been made in
https://gitlab.com/kicad/code/kicad/-/merge_requests/405[MR#405] by https://gitlab.com/KammutierSpule[Mario Luzeiro] that affects how copper colors.
The visual difference between plated copper pads and non-plated copper pads will now be visible.
https://gitlab.com/kicad/code/kicad/-/merge_requests/405[MR#405] by https://gitlab.com/KammutierSpule[Mario Luzeiro] that affects how copper is rendered.
The visual difference between plated copper pads and non-plated copper pads will now be visible as well as copper in general.

<Insert image>
This image shows a ENIG plated copper hole compared to the surrounding copper traces when the soldermask was turned off.

image::plating.png[align=center, alt="Image showing plated ENIG pad with exposed copper traces (soldermask layer disabled)", link=plating.png]

== Model Opacity
A utility feature was added to adjust the opacity of 3D models that can aid in mechanical design previews with a simple slider
Expand All @@ -36,7 +38,7 @@ image::opacity.png[align=center, alt="Raytrace Lights Configuration", link=opaci

== Configurable Raytracing Lighting
Up until now, raytracing used a fixed light source during rendering.
https://gitlab.com/kicad/code/kicad/-/merge_requests/349[MR#188] by https://gitlab.com/KammutierSpule[Mario Luzeiro] moves the light source configuration to the options dialog that allows easy customization.
https://gitlab.com/kicad/code/kicad/-/merge_requests/349[MR#188] by https://gitlab.com/KammutierSpule[Mario Luzeiro] adds light source configuration to the options dialog that allows customization.

image::raytrace-light-options.png[align=center, alt="Raytrace Lights Configuration", link=raytrace-light-options.png]

Expand All @@ -45,23 +47,18 @@ https://gitlab.com/oleg.endo[Oleg Endo] was unhappy with the rendering performan
frames per second rendering times as slow as 10 FPS. After his changes in https://gitlab.com/kicad/code/kicad/-/merge_requests/145[MR#145]
rendering speeds may be up to 8x faster as before.

<Insert image>

== Anti aliasing and while moving
https://gitlab.com/KammutierSpule[Mario Luzeiro] in https://gitlab.com/kicad/code/kicad/-/merge_requests/141[MR#141]

<Insert image>

== Lighting improvement with floors
The floor plane object that is optional to add in the 3D Viewer previously cast a shadow onto the bottom side of the board.
https://gitlab.com/burhanemre[Emery Burhan] in https://gitlab.com/kicad/code/kicad/-/merge_requests/170[MR#170] submitted a patch
to disable the casting of shadow by the floor object to give the PCB a more uniform look.


image::lighting-org.front.png[align=center, alt="Top layer lighting before floors added", link=lighting-org.front.png]
image::lighting-fixed.front.png[align=center, alt="New floor reflected lighting on top layer", link=lighting-fixed.front.png]
Bottom of board before floor reflection:

image::lighting-org.back.png[align=center, alt="Bottom layer lighting before floors added", link=lighting-org.back.png]

Bottom of board after floor reflection:

image::lighting-fixed.back.png[align=center, alt="New floor reflected lighting on bottom layer", link=lighting-fixed.back.png]

== Configurable View Change Speed
Expand All @@ -78,4 +75,9 @@ image::animation-1.gif[align=center, alt="Clip of animation speed 1", width="300

The fastest speed of 5 looks like this

image::animation-5.gif[align=center, alt="Clip of animation speed 5", width="300"]
image::animation-5.gif[align=center, alt="Clip of animation speed 5", width="300"]




NOTE: These features are only present in nightly builds, please only use them for testing and experimentation
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit cf8c55e

Please sign in to comment.