# Makie arrow through transparent mesh

**URL:** <https://discourse.julialang.org/t/makie-arrow-through-transparent-mesh/59666>\
**Category:** General Usage\
**Tags:** makie\
**Created:** [April 20, 2021, 1:48pm UTC](https://discourse.julialang.org/t/makie-arrow-through-transparent-mesh/59666 "2021-04-20T13:48:58Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![sijo](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@sijo](https://discourse.julialang.org/u/sijo)\
**Post date:** [April 20, 2021, 1:48pm UTC](https://discourse.julialang.org/t/makie-arrow-through-transparent-mesh/59666/1 "2021-04-20T13:48:59Z")

</div>

How can I draw arrows through semi-transparent objects with Makie? I can’t get the line to show properly through the transparent surface.

Here’s a minimal example:

```julia
using GLMakie

scene = Scene(resolution = (800, 600), limits = FRect((0, 0, 0), (3, 3, 3)))

arrows!(scene, [Point3f0(0)], [Vec3f0(1.5)], linewidth=5)

shape = FRect((0, 0, 0), (2, 2, 2))
color = RGBAf0(.2, .8, .2, .4)

mesh!(scene, shape; color, transparency=true)

cameracontrols(scene).eyeposition[] = Point3f0(1, 4, 2)
scene

```

The arrow head behaves as expected, but the arrow line is unaffected by the transparent object:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/b/6/b6b4bf660300368d20f439f11fa784438ad6cafe.png)

I tried the `fxaa=true` trick from [Makie - drawing lines through transparent surface - #2 by sdanisch](https://discourse.julialang.org/t/makie-drawing-lines-through-transparent-surface/28148/2) without success…

---

<div class="post-metadata">

**Author:** ![ffreyer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ffreyer/32/21569_2.png) [@ffreyer](https://discourse.julialang.org/u/ffreyer)\
**Post date:** [April 20, 2021, 10:59pm UTC](https://discourse.julialang.org/t/makie-arrow-through-transparent-mesh/59666/2 "2021-04-20T22:59:37Z")

</div>

As things are atm attributes need to be passed to primitive plots explicitly when writing a recipe. That’s not always done thoroughly. In this case adding `fxaa = true` in the `Arrows` call is simply ignored. You can manually adjust that by going to the relevant primitive, e.g.

```julia
ap = arrows!(...)
ap.plots[1].fxaa[] = true

```
