# Glvisualize suffering from bit rot, alternates?

**URL:** <https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538>\
**Category:** General Usage\
**Created:** [August 15, 2018, 11:58pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538 "2018-08-15T23:58:14Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![purplishrock](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/purplishrock/32/13451_2.png) [@purplishrock](https://discourse.julialang.org/u/purplishrock)\
**Post date:** [August 15, 2018, 11:58pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/1 "2018-08-15T23:58:14Z")

</div>

I need something that will display “voxelized” graphics for some finite-difference code, i.e. I want to display the problem space in as the discrete blocks that make up the geometry.

I thought GLvisualize would be perfect for this but it’s definitely busted on 0.7, and when I look at github, a lot of the code hasn’t been touched in quite a while.

Does anyone know the plans for GLVisualize ?

Could someone suggest some packages that might be useful for what I am trying to do ?

Thank you !

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [August 16, 2018, 3:32am UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/2 "2018-08-16T03:32:24Z")

</div>

The successor to GLVisualize is

> **[GitHub - MakieOrg/Makie.jl: Interactive data visualizations and plotting in...](https://github.com/MakieOrg/Makie.jl)**
>
> Interactive data visualizations and plotting in Julia - GitHub - MakieOrg/Makie.jl: Interactive data visualizations and plotting in Julia

---

<div class="post-metadata">

**Author:** ![purplishrock](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/purplishrock/32/13451_2.png) [@purplishrock](https://discourse.julialang.org/u/purplishrock)\
**Post date:** [August 16, 2018, 6:26am UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/3 "2018-08-16T06:26:57Z")

</div>

i hope I can make that work for the problem space visualization. I know that I can break openscad without too much trouble just by drawing enough cubes.

meanwhile, I’ll definitely try that out for the 3-d plots that i need to make.

thanks !

---

<div class="post-metadata">

**Author:** ![purplishrock](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/purplishrock/32/13451_2.png) [@purplishrock](https://discourse.julialang.org/u/purplishrock)\
**Post date:** [August 16, 2018, 6:41am UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/4 "2018-08-16T06:41:19Z")

</div>

oh darn.  
is there updated installation instructions ?  
i’m getting a lot of errors.  
in fact it seems to still depend on GLVisualize, which seems to mean that it’s going to be broken under 0.7…

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [August 16, 2018, 7:10am UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/5 "2018-08-16T07:10:18Z")

</div>

There’s a [0.7 branch](https://github.com/JuliaPlots/Makie.jl/tree/sd/07) which doesn’t seem to depend on GLVisualize. Pretty sure it’s not completely ported to Julia 0.7 yet though.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [August 16, 2018, 7:12am UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/6 "2018-08-16T07:12:09Z")

</div>

@sdanisch we discussed before how GLVisualize now has a copy inside of Makie: are you planning to keep it a fully functional GUI/visualization engine separately from Makie as well?

---

<div class="post-metadata">

**Author:** ![LeoK987](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/leok987/32/4880_2.png) [@LeoK987](https://discourse.julialang.org/u/LeoK987)\
**Post date:** [August 16, 2018, 8:25am UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/7 "2018-08-16T08:25:49Z")

</div>

How come this is the solution? Makie doesn’t compile on 0.7? Has anyone got it working?

---

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [August 16, 2018, 3:19pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/8 "2018-08-16T15:19:22Z")

</div>

This will make Julia run on 0.7:

```Julia
using Pkg
Pkg.pkg"add Makie#sd/07 AbstractPlotting#sd/07 GeometryTypes#sd/07 ImageMagick#sd/07"

```

@ChrisRackauckas

> a fully functional GUI/visualization engine separately from Makie as well?

Makie is the fully functioning GUI/Visualization engine.

GLVisualize is the current main OpenGL backend and does indeed live in Makie right now to make installation and breaking changes easier!

I will move it out again, when the WebGL backend is finished 😉

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [August 16, 2018, 3:49pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/9 "2018-08-16T15:49:30Z")

</div>

> [@sdanisch](#):
>
> using Pkg Pkg.pkg"add Makie#sd/07 AbstractPlotting#sd/07 GeometryTypes#sd/07 ImageMagick#sd/07"

test Makie does not pass. Is that expected?

---

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [August 16, 2018, 4:10pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/10 "2018-08-16T16:10:15Z")

</div>

> [@PetrKryslUCSD](#):
>
> using Pkg Pkg.pkg"add Makie#sd/07 AbstractPlotting#sd/07 GeometryTypes#sd/07 ImageMagick#sd/07"

Let me check! Tests shouldn’t error, but I still haven’t updated the visual comparison, so they don’t really pass!  
What’s the error?

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [August 16, 2018, 4:11pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/11 "2018-08-16T16:11:22Z")

</div>

```julia
[ Info: Downloading https://github.com/SimonDanisch/ReferenceImages/archive/v0.0.5.tar.gz to C:\Users\PetrKrysl\.julia\packages\Makie\V62fl\test\testimages\images.zip...
WARNING: importing deprecated binding Base.CartesianRange into ImageFiltering.
WARNING: Base.CartesianRange is deprecated, use CartesianIndices instead.
  likely near C:\Users\PetrKrysl\.julia\packages\ImageFiltering\cNt7n\src\utils.jl:31
WARNING: Base.CartesianRange is deprecated, use CartesianIndices instead.
  likely near C:\Users\PetrKrysl\.julia\packages\ImageFiltering\cNt7n\src\utils.jl:51
ERROR: LoadError: LoadError: TypeError: in apply_type, in Vararg count, expected Int64, got Type{CartesianIndex{0}}
Stacktrace:
 [1] top-level scope at none:0
 [2] include at .\boot.jl:317 [inlined]
 [3] include_relative(::Module, ::String) at .\loading.jl:1038
 [4] include at .\sysimg.jl:29 [inlined]
 [5] include(::String) at C:\Users\PetrKrysl\.julia\packages\ImageFiltering\cNt7n\src\ImageFiltering.jl:3
 [6] top-level scope at none:0
 [7] include at .\boot.jl:317 [inlined]
 [8] include_relative(::Module, ::String) at .\loading.jl:1038
 [9] include(::Module, ::String) at .\sysimg.jl:29
 [10] top-level scope at none:2
 [11] eval at .\boot.jl:319 [inlined]
 [12] eval(::Expr) at .\client.jl:399
 [13] top-level scope at .\none:3
in expression starting at C:\Users\PetrKrysl\.julia\packages\ImageFiltering\cNt7n\src\utils.jl:51
in expression starting at C:\Users\PetrKrysl\.julia\packages\ImageFiltering\cNt7n\src\ImageFiltering.jl:44
ERROR: LoadError: LoadError: Failed to precompile ImageFiltering [6a3955dd-da59-5b1f-98d4-e7296123deb5] to C:\Users\PetrKrysl\.julia\compiled\v0.7\ImageFiltering\MN5uU.ji.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] macro expansion at .\logging.jl:313 [inlined]
 [3] compilecache(::Base.PkgId, ::String) at .\loading.jl:1185
 [4] macro expansion at .\logging.jl:311 [inlined]
 [5] _require(::Base.PkgId) at .\loading.jl:941
 [6] require(::Base.PkgId) at .\loading.jl:852
 [7] macro expansion at .\logging.jl:311 [inlined]
 [8] require(::Module, ::Symbol) at .\loading.jl:834
 [9] include at .\boot.jl:317 [inlined]
 [10] include_relative(::Module, ::String) at .\loading.jl:1038
 [11] include(::Module, ::String) at .\sysimg.jl:29
 [12] include(::String) at .\client.jl:398
 [13] top-level scope at none:0
 [14] include at .\boot.jl:317 [inlined]
 [15] include_relative(::Module, ::String) at .\loading.jl:1038
 [16] include(::Module, ::String) at .\sysimg.jl:29
 [17] include(::String) at .\client.jl:398
 [18] top-level scope at none:0
in expression starting at C:\Users\PetrKrysl\.julia\packages\Makie\V62fl\test\visualregression.jl:4
in expression starting at C:\Users\PetrKrysl\.julia\packages\Makie\V62fl\test\runtests.jl:100
ERROR: Package Makie errored during testing

```

---

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [August 16, 2018, 4:15pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/12 "2018-08-16T16:15:56Z")

</div>

Guess you need to add :

```nohighlight
add ImageFiltering#teh/update0.7

```

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [August 16, 2018, 4:31pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/13 "2018-08-16T16:31:18Z")

</div>

> [@sdanisch](#):
>
> add ImageFiltering#teh/update0.7

````julia
┌ Warning: `Matrix{T}(m::Integer, n::Integer) where T` is deprecated, use `Matrix{T}(undef, m, n)` instead.
│ caller = glyphbitmap(::FreeType.FT_Bitmap) at functions.jl:126
└ @ FreeTypeAbstraction C:\Users\PetrKrysl\.julia\packages\FreeTypeAbstraction\JKR5T\src\functions.jl:126
┌ Warning: `Array{T, 2}(m::Int, n::Int) where T` is deprecated, use `Array{T, 2}(undef, m, n)` instead.
│ caller = downsample(::Array{Float64,2}, ::Int64, ::Int64) at SignedDistanceFields.jl:76
└ @ SignedDistanceFields C:\Users\PetrKrysl\.julia\packages\SignedDistanceFields\p8IsP\src\SignedDistanceFields.jl:76
LoadError: UndefVarError: Serialize not defined
in expression starting at test_heatmap___image_overlap:3
failed to evaluate the example:
```julia
using Makie

     heatmap(rand(32, 32))
     image!(map(x->RGBAf0(x,0.5, 0.5, 0.8), rand(32,32)))

````

---

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [August 16, 2018, 4:34pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/14 "2018-08-16T16:34:35Z")

</div>

> [@sdanisch](#):
>
> Makie#sd/07 AbstractPlotting#sd/07 GeometryTypes#sd/07 ImageMagick#sd/07

I can reproduce in a fresh environment… Ok let me see, I’m guessing there are more packages I had to check out initially!

---

<div class="post-metadata">

**Author:** ![louisponet](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/louisponet/32/2070_2.png) [@louisponet](https://discourse.julialang.org/u/louisponet)\
**Post date:** [August 16, 2018, 4:43pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/15 "2018-08-16T16:43:36Z")

</div>

I’ve been working a bit on trying to get the GLAbstraction part a bit more general and modular, hopefully to let it be a useful basis package for anyone that wants to do some quick opengl stuff or build a visualization tool themselves. Back on 0.6 it sort of worked but with 0.7 this is probably all broken again. Using that as a base, creating a visualization tool should be relatively simple. At the time I made a very simple tool using this but it was pretty useful nonetheless. So maybe after that’s done getting something like glvisualize back should be possible.

---

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [August 16, 2018, 4:49pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/16 "2018-08-16T16:49:52Z")

</div>

So, a bug sneaked into a code path, that only runs on first install, sorry about that!  
I confirmed that this works in a clean environment:

```julia-auto
add Makie#sd/07 AbstractPlotting#sd/07 GeometryTypes#sd/07 ImageMagick#sd/07
add ImageFiltering#teh/update0.7
test Makie 

```

This has one error and an issue with normals of meshes not coming through correctly, which I will look at tomorrow!

~~You might also want to checkout this branch for less depwarns:~~

> <https://github.com/JuliaGizmos/Reactive.jl/pull/180>

~~Which must be done with git directly due to it being a fork…~~

## Edit:

Didn’t realize I already had a new branch for reactive, which is not a fork:

```julia-auto
add Makie#sd/07 AbstractPlotting#sd/07 GeometryTypes#sd/07 ImageMagick#sd/07 Reactive#sd/07
add ImageFiltering#teh/update0.7

```

---

<div class="post-metadata">

**Author:** ![purplishrock](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/purplishrock/32/13451_2.png) [@purplishrock](https://discourse.julialang.org/u/purplishrock)\
**Post date:** [August 16, 2018, 5:26pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/17 "2018-08-16T17:26:46Z")

</div>

What is a ‘clean environment’ ?

I’m still getting errors:

```julia
ERROR: LoadError: LoadError: TypeError: in apply_type, in Vararg count, expected Int64, got Type{CartesianIndex{0}}
Stacktrace:
 [1] top-level scope at none:0
 [2] include at ./boot.jl:317 [inlined]
 [3] include_relative(::Module, ::String) at ./loading.jl:1038
 [4] include at ./sysimg.jl:29 [inlined]
 [5] include(::String) at .julia/packages/ImageFiltering/cNt7n/src/ImageFiltering.jl:3
 [6] top-level scope at none:0
 [7] include at ./boot.jl:317 [inlined]
 [8] include_relative(::Module, ::String) at ./loading.jl:1038
 [9] include(::Module, ::String) at ./sysimg.jl:29
 [10] top-level scope at none:2
 [11] eval at ./boot.jl:319 [inlined]
 [12] eval(::Expr) at ./client.jl:399
 [13] top-level scope at ./none:3
in expression starting at .julia/packages/ImageFiltering/cNt7n/src/utils.jl:51
in expression starting at .julia/packages/ImageFiltering/cNt7n/src/ImageFiltering.jl:44
ERROR: LoadError: LoadError: Failed to precompile ImageFiltering [6a3955dd-da59-5b1f-98d4-e7296123deb5] to .julia/compiled/v0.7/ImageFiltering/MN5uU.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] macro expansion at ./logging.jl:313 [inlined]
 [3] compilecache(::Base.PkgId, ::String) at ./loading.jl:1185
 [4] macro expansion at ./logging.jl:311 [inlined]
 [5] _require(::Base.PkgId) at ./loading.jl:941
 [6] require(::Base.PkgId) at ./loading.jl:852
 [7] macro expansion at ./logging.jl:311 [inlined]
 [8] require(::Module, ::Symbol) at ./loading.jl:834
 [9] include at ./boot.jl:317 [inlined]
 [10] include_relative(::Module, ::String) at ./loading.jl:1038
 [11] include(::Module, ::String) at ./sysimg.jl:29
 [12] include(::String) at ./client.jl:398
 [13] top-level scope at none:0
 [14] include at ./boot.jl:317 [inlined]
 [15] include_relative(::Module, ::String) at ./loading.jl:1038
 [16] include(::Module, ::String) at ./sysimg.jl:29
 [17] include(::String) at ./client.jl:398
 [18] top-level scope at none:0
in expression starting at .julia/packages/Makie/V62fl/test/visualregression.jl:4
in expression starting at .julia/packages/Makie/V62fl/test/runtests.jl:100
ERROR: Package Makie errored during testing

```

---

<div class="post-metadata">

**Author:** ![piever](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/piever/32/1815_2.png) [@piever](https://discourse.julialang.org/u/piever)\
**Post date:** [August 16, 2018, 7:18pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/18 "2018-08-16T19:18:58Z")

</div>

I’ve mentioned this a few times (and don’t really have the competence to help writing the shaders and all that’s needed) but I’m super excited about a WebGL backend with Interact integration!

---

<div class="post-metadata">

**Author:** ![dawbarton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dawbarton/32/215461_2.png) [@dawbarton](https://discourse.julialang.org/u/dawbarton)\
**Post date:** [August 16, 2018, 7:24pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/19 "2018-08-16T19:24:01Z")

</div>

IIRC there was talk of a Cairo backend at some point - did that happen and does it work? Thanks for all your work on this!

---

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [August 17, 2018, 4:32pm UTC](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538/20 "2018-08-17T16:32:39Z")

</div>

You’ll need to add `ImageFiltering#teh/update0.7` to the add command!

[Next page](https://discourse.julialang.org/t/glvisualize-suffering-from-bit-rot-alternates/13538.md?page=2)
