Git Product home page Git Product logo

glvisualize.jl's People

Contributors

chrisrackauckas avatar crashburnrepeat avatar dpsanders avatar evizero avatar femtocleaner[bot] avatar foolius avatar h3nnn4n avatar jaakkor2 avatar jiahao avatar jw3126 avatar maleadt avatar musm avatar shashi avatar simidci avatar simondanisch avatar sjkelly avatar timholy avatar tsurherman avatar vchuravy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

glvisualize.jl's Issues

Test fails to run on Mac

I desperately wanted this to work, but...

https://gist.github.com/321de67dfcda9d6b9d3e

Note that this is on an underpowered MacBook (the newish, small one) with the following (inbuilt) graphics card:

Intel HD Graphics 5300:

Chipset Model: Intel HD Graphics 5300
Type: GPU
Bus: Built-In
VRAM (Dynamic, Max): 1536 MB
Vendor: Intel (0x8086)
Device ID: 0x161e
Revision ID: 0x0009
Displays:
Color LCD:
Display Type: Retina LCD
Resolution: 2304 x 1440 Retina
Retina: Yes
Pixel Depth: 32-Bit Color (ARGB8888)
Main Display: Yes
Mirror: Off
Online: Yes
Built-In: Yes

julia> versioninfo()
Julia Version 0.4.2
Commit bb73f34 (2015-12-06 21:47 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin13.4.0)
  CPU: Intel(R) Core(TM) M-5Y71 CPU @ 1.20GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

Test Failed win10

This looks to be a synchonization error with respect to GeometryTypes.
0.4.2 install on windows10

julia> Pkg.test("GLVisualize")
INFO: Computing test dependencies for GLVisualize...
INFO: No packages to install, update or remove
INFO: Testing GLVisualize
ERROR: LoadError: LoadError: MethodError: `convert` has no method matching convert(::Type{GeometryTypes.HyperRectangle{3,Float32}}, ::Float32, ::Float32, ::Float32, ::Float32, ::Float32, ::Float32)
This may have arisen from a call to the constructor GeometryTypes.HyperRectangle{3,Float32}(...),
since type constructors fall back to convert methods.
Closest candidates are:
  GeometryTypes.HyperRectangle{N,T}(::Any, ::Any)
  GeometryTypes.HyperRectangle{T,T2,T3}(::GLAbstraction.Texture{FixedSizeArrays.Point{3,T2},1}, ::GLAbstraction.Texture{FixedSizeArrays.Vec{3,T3},1}, ::Any)
  GeometryTypes.HyperRectangle{T,T2,T3}(::GLAbstraction.Texture{FixedSizeArrays.Point{3,T2},1}, ::FixedSizeArrays.Vec{3,T3}, ::Any)
  ...
 in call at essentials.jl:57
 in visualize at C:\Users\ametu\.julia\v0.4\GLVisualize\src\visualize\surface.jl:67
 in visualize at C:\Users\ametu\.julia\v0.4\GLVisualize\src\visualize\surface.jl:52
 in arbitrary_surface_data at C:\Users\ametu\.julia\v0.4\GLVisualize\test\all_tests.jl:10
 in include at boot.jl:261
 in include_from_node1 at loading.jl:304
 in test at C:\Users\ametu\.julia\v0.4\GLVisualize\test\runtests.jl:18
 in include at boot.jl:261
 in include_from_node1 at loading.jl:304
 in process_options at client.jl:280
 in _start at client.jl:378
while loading C:\Users\ametu\.julia\v0.4\GLVisualize\test\all_tests.jl, in expression starting on line 12
while loading C:\Users\ametu\.julia\v0.4\GLVisualize\test\runtests.jl, in expression starting on line 31
==============================================[ ERROR: GLVisualize ]===============================================


failed process: Process(`'C:\Users\ametu\AppData\Local\Julia-0.4.2\bin\julia' --check-bounds=yes --code-coverage=none --color=yes 'C:\Users\ametu\.julia\v0.4\GLVisualize\test\runtests.jl'`, ProcessExited(1)) [1]

===================================================================================================================

INFO: No packages to install, update or remove
ERROR: GLVisualize had test errors
 in error at error.jl:21

Running example rotate_robj.jl

Hi,

Run into an error when running rotate_robj.jl out of the box:

:~/GIT/grasp_convnet/src/input_data/GLVisualize.jl/examples$ julia rotate_robj.jl
WARNING: Method definition hash(GLFW.Window, UInt64) in module GLFW at ~/.julia/v0.4/GLFW/src/glfw3.jl:277 overwritten in module GLWindow at ~/.julia/v0.4/GLWindow/src/reactglfw.jl:217.
WARNING: Method definition ==(GLFW.Window, GLFW.Window) in module GLFW at ~/.julia/v0.4/GLFW/src/glfw3.jl:274 overwritten in module GLWindow at ~/.julia/v0.4/GLWindow/src/reactglfw.jl:219.
WARNING: MethodError(.+,((FixedSizeArrays.Point{3,Float32}((0.0f0,0.0f0,0.0f0)),FixedSizeArrays.Point{3,Float32}((0.0f0,0.0f0,0.0f0)),FixedSizeArrays.Point{3,Float32}((0.0f0,0.0f0,0.0f0))),FixedSizeArrays.Point{3,Float32}((2.9272021f-5,5.625886f-5,-6.0645714f-5))))
in normals at ~/.julia/v0.4/GeometryTypes/src/algorithms.jl:9
in normals at ~/.julia/v0.4/GeometryTypes/src/algorithms.jl:3
in load at ~/.julia/v0.4/MeshIO/src/io/obj.jl:52
in anonymous at ~/.julia/v0.4/MeshIO/src/MeshIO.jl:16
in open at iostream.jl:114
in load at ~/.julia/v0.4/MeshIO/src/MeshIO.jl:14 (repeats 2 times)
in load at ~/.julia/v0.4/FileIO/src/loadsave.jl:77
in load at ~/.julia/v0.4/FileIO/src/loadsave.jl:42
in include at ./boot.jl:261
in include_from_node1 at ./loading.jl:304
in process_options at ./client.jl:280
in _start at ./client.jl:378
ERROR: LoadError: MethodError: .+ has no method matching .+(::Tuple{FixedSizeArrays.Point{3,Float32},FixedSizeArrays.Point{3,Float32},FixedSizeArrays.Point{3,Float32}}, ::FixedSizeArrays.Point{3,Float32})
Closest candidates are:
.+{T<:FixedSizeArrays.FixedArray{T,NDim,SIZE}}(!Matched::T<:FixedSizeArrays.FixedArray{T,NDim,SIZE}, ::T<:FixedSizeArrays.FixedArray{T,NDim,SIZE})
.+{T1<:FixedSizeArrays.FixedArray{T,NDim,SIZE},T2<:FixedSizeArrays.FixedArray{T,NDim,SIZE}}(!Matched::T1<:FixedSizeArrays.FixedArray{T,NDim,SIZE}, ::T2<:FixedSizeArrays.FixedArray{T,NDim,SIZE})
.+{T<:Number}(!Matched::T<:Number, ::FixedSizeArrays.FixedArray{T<:Number,NDim,SIZE})
...
while loading ~/GLVisualize.jl/examples/rotate_robj.jl, in expression starting on line 5

Cannot precompile at the start of a new day

Somewhere between GLAbstraction and GLVisualize. GeometryTypes is not the issue because I have to remove both GLAbstraction and GLVisualize to build and run - today which is different to yesterday when everything was working just fine.

using MAT, GLVisualize, FileIO, Colors, GeometryTypes, GLAbstraction, PyPlot

WARNING: could not import GeometryTypes.SimpleRectangle into GLAbstraction
ERROR: LoadError: LoadError: UndefVarError: SimpleRectangle not defined
in include at ./boot.jl:261
in include_from_node1 at ./loading.jl:304
in include at ./boot.jl:261
in include_from_node1 at ./loading.jl:304
[inlined code] from none:2
in anonymous at no file:0
in process_options at ./client.jl:257
in _start at ./client.jl:378
while loading /home/ashley/.julia/v0.4/GLAbstraction/src/AbstractGPUArray.jl, in expression starting on line 86
while loading /home/ashley/.julia/v0.4/GLAbstraction/src/GLAbstraction.jl, in expression starting on line 15
ERROR: LoadError: Failed to precompile GLAbstraction to /home/ashley/.julia/lib/v0.4/GLAbstraction.ji
in error at ./error.jl:21
in compilecache at loading.jl:384
in require at ./loading.jl:250
in include at ./boot.jl:261
in include_from_node1 at ./loading.jl:304
in process_options at ./client.jl:280
in _start at ./client.jl:378

Pkg.test failing

On latest master.
Looks like some package is missing that GLVisualize does not install when testing?

WARNING: ErrorException("no decode delegate for this image format `PNG' @ error/constitute.c/ReadImage/501")
 in error at error.jl:21
ERROR: LoadError: LoadError: no decode delegate for this image format `PNG' @ error/constitute.c/ReadImage/501
while loading C:\Users\Mustafa\.julia\v0.5\GLVisualize\test\all_tests.jl, in expression starting on line 176
while loading C:\Users\Mustafa\.julia\v0.5\GLVisualize\test\runtests.jl, in expression starting on line 34
===================================================================[ ERROR: GLVisualize ]====================================================================

failed process: Process(`'C:\Julia\Julia-0.5.0-dev\bin\julia' --check-bounds=yes --code-coverage=none --color=yes 'C:\Users\Mustafa\.julia\v0.5\GLVisualize\test\runtests.jl'`, ProcessExited(1)) [1]

=============================================================================================================================================================
INFO: No packages to install, update or remove
ERROR: Base.Pkg.PkgError("GLVisualize had test errors")
 [inlined code] from iostream.jl:207
 in __test#370__ at pkg/entry.jl:671
 in anonymous at pkg/dir.jl:31
 in cd at file.jl:32
 in cd at pkg/dir.jl:31
 in test at pkg.jl:55
 in eval at boot.jl:264

Testing issue on 0.4 on OSX

Not going to have time to follow it to the source, so I thought I'd leave it here:

ERROR: LoadError: LoadError: LoadError: LoadError: LoadError: UndefVarError: RTLD_GLOBAL not defined
 in include at ./boot.jl:254
 in include_from_node1 at ./loading.jl:197
 in include at ./boot.jl:254
 in include_from_node1 at ./loading.jl:197
 in require at ./loading.jl:146
 in include at ./boot.jl:254
 in include_from_node1 at ./loading.jl:197
 in require at ./loading.jl:146
 in include at ./boot.jl:254
 in include_from_node1 at ./loading.jl:197
 in require at ./loading.jl:146
 in include at ./boot.jl:254
 in include_from_node1 at ./loading.jl:197
 in process_options at ./client.jl:308
 in _start at ./client.jl:411
while loading /Users/sean/.julia/v0.4/LightXML/src/clib.jl, in expression starting on line 3
while loading /Users/sean/.julia/v0.4/LightXML/src/LightXML.jl, in expression starting on line 24
while loading /Users/sean/.julia/v0.4/Meshes/src/Meshes.jl, in expression starting on line 10
while loading /Users/sean/.julia/v0.4/GLVisualize/src/GLVisualize.jl, in expression starting on line 17
while loading /Users/sean/.julia/v0.4/GLVisualize/test/runtests.jl, in expression starting on line 1
==================================[ ERROR: GLVisualize ]==================================

failed process: Process(`/Users/sean/repos/julia/usr/bin/julia --check-bounds=yes --code-coverage=none --color=yes /Users/sean/.julia/v0.4/GLVisualize/test/runtests.jl`, ProcessExited(1)) [1]

==========================================================================================
INFO: No packages to install, update or remove
ERROR: GLVisualize had test errors
 in error at ./error.jl:21
 in test at pkg/entry.jl:746
 in anonymous at pkg/dir.jl:31
 in cd at file.jl:22
 in cd at pkg/dir.jl:31
 in test at pkg.jl:71

ERROR: 0:40: Unknown identifier 'depth_greater' in layout

I ran into the title error running the tests for GLVisualize. My guess is the underlying problem is the warning printed right before the error:

WARNING: 0:3: extension 'GL_ARB_conservative_depth' is not supported
ERROR: 0:40: Unknown identifier 'depth_greater' in layout

This is running on OSX 10.10.5 on a 2011 Macbook Air with Intel HD Graphics 3000. this site suggests my graphics card doesn't support this extension. Is it necessary for the examples to work correctly?

Full output is at https://gist.github.com/ssfrr/f129b321317aa5a735b2

How to do "async=true"?

I'm wondering how to replicate the old "async=true" behaviour that allow manipulating the plot and interacting with the REPL

Crash at start on Win

Don't if this is a bad usage too but it shouldn't crash anyway.

   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.1 (2015-11-08 10:33 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org/ release
|__/                   |  x86_64-w64-mingw32

julia> using ModernGL, FileIO, MeshIO, GLAbstraction, GLVisualize, Reactive, GLWindow, GeometryTypes, ColorTypes, Colors, Base.Test

julia> w, renderloop = glscreen()

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x587e57e9 -- unknown function (ip: 00000000587E57E9)
glfwShowWindow at  (unknown line)
createwindow at C:\j\.julia\v0.4\GLWindow\src\reactglfw.jl:384
jlcall___createwindow#2___21590 at  (unknown line)
jl_apply_generic at C:\programs\Julia-0.4\bin\libjulia.dll (unknown line)
julia_createwindow_21589 at  (unknown line)
jlcall_createwindow_21589 at  (unknown line)
jl_f_apply at C:\programs\Julia-0.4\bin\libjulia.dll (unknown line)
glscreen at C:\j\.julia\v0.4\GLVisualize\src\display\renderloop.jl:100
jlcall_glscreen_21507 at  (unknown line)

template2source method missing

I tried the example for volume rendering from http://www.glvisualize.com/examples/volumes/
and get this error

julia> volume = visualize(volumedata, :mip)
ERROR: MethodError: `template2source` has no method matching template2source(::Array{UInt8,1}, ::Dict{Symbol,Any}, ::Dict{Any,Any})
Closest candidates are:
  template2source(::Array{UInt8,1}, ::Dict{Symbol,Any}, ::Dict{ASCIIString,ASCIIString})
  template2source(::AbstractString, ::Dict{Symbol,Any}, ::Dict{ASCIIString,ASCIIString})
 in TemplateProgram at /Users/knopp/.julia/v0.4/GLAbstraction/src/GLShader.jl:257
 in anonymous at /Users/knopp/.julia/v0.4/GLAbstraction/src/GLShader.jl:233
 in const_lift at /Users/knopp/.julia/v0.4/GLAbstraction/src/GLUtils.jl:197
 in TemplateProgram at /Users/knopp/.julia/v0.4/GLAbstraction/src/GLShader.jl:230
 in TemplateProgram at /Users/knopp/.julia/v0.4/GLAbstraction/src/GLShader.jl:215
 in gl_convert at /Users/knopp/.julia/v0.4/GLAbstraction/src/GLShader.jl:195
 in call at /Users/knopp/.julia/v0.4/GLAbstraction/src/GLTypes.jl:245
 in assemble_shader at /Users/knopp/.julia/v0.4/GLVisualize/src/utils.jl:28

I pasted the example code to the REPL and you can see the command with the issue is volume = visualize(volumedata, :mip)

I had commented out the missing extension as this is on a macbook

Strategies for volumetric ray casting

I'm opening this as a placeholder for discussion about volumetric raycasting. My specific task is that I'll have thousands or tens of thousands of little cubical volumes, and inside each:

  • each voxel has the same color c_i for the ith cubical volume
  • each voxel has a different "core" alpha value ฮฑ_i(x,y,z)
  • the instantaneous alpha value changes over time uniformly throughout the cube, A_i(x,y,z,t) = ฮฑ_i(x,y,z) * p_i(t).

Typically each cube will overlap only a handful of other cubes, and much of the time most cubes will be nearly fully transparent (most p_i(t) will be near 0 most of the time).

As you know, I'm just learning OpenGL, so I can't yet produce a PR. Any guidance (even, what to read) would be appreciated. Meanwhile, I'll keep posted on progress.

Closing window and rerunning glscreen broken

Running the following, then closing the window, then running again gives an error:

using ApproxFun,GLVisualize
w,render=glscreen()

f=ProductFun((x,y)->exp(-x^2-y^2))
x=map(Float32,points(f,1))
y=map(Float32,points(f,2))
z=map(Float32,values(f))

view(visualize(x, y, z, :surface))
render()
ERROR: Named attribute (:vertices) is not an active attribute in the specified program object or

            the name starts with the reserved prefix gl_

 in get_attribute_location at /Users/solver/.julia/v0.4/GLAbstraction/src/GLExtendedFunctions.jl:30
 in call at /Users/solver/.julia/v0.4/GLAbstraction/src/GLTypes.jl:116
 in call at /Users/solver/.julia/v0.4/GLAbstraction/src/GLTypes.jl:155
 in instanced_renderobject at /Users/solver/.julia/v0.4/GLAbstraction/src/GLRenderObject.jl:30
 in assemble_instanced at /Users/solver/.julia/v0.4/GLVisualize/src/utils.jl:71
 in visualize at /Users/solver/.julia/v0.4/GLVisualize/src/visualize/surface.jl:69
 in visualize at /Users/solver/.julia/v0.4/GLVisualize/src/visualize/surface.jl:52

Howto add colors and shape in nbody.jl test example

Hi Simon,

I am wondering how I can have different specified colors and/or shapes for the planets in example
nbody.jl.

In the variant that I use (subscreen6.xml) of Romeo/test, the code says

    const positions     = lift(send_frame, time_i, Input(world.planets))
    const robj          = visualize(positions, model=scalematrix(Vec3(0.1f0)),
                                    screen=sc, camera=cam)

Best
Alain

PS: please let me know when I can try the edit object.

Travis build

I am developing a package that depends on GLVisualize.
However, as you can see here, I fail on travis on Linux because I require GLVisualize (on MAC it works fine though).
On Linux, it says X11: The DISPLAY environment variable is missing :(
How can we fix that ? Defining the DISPLAY variable on travis ?

I understand that graphical tests should not be run on travis but here it is only the Pkg.add("GLVisualize") that fails, not the using GLVisualize.

Also on the .travis.yml of GLVisualize, I think we can get rid of the Pkg.checkout's commands. Pkg.checkout("GeometryTypes", "sd/typealias") even makes travis fail on MAC.

Set of packages for next2 branch?

Hi, I had a go at trying the next2 branch, and corresponding branches for GLWindow & etc. I get various errors depending on which branches of course.

I understand there is a good deal of rebuilding going on, but is there currently a set of branches that work together? I primarily want to play around with lines, rectangles, and feedback on which objects I'm clicking, but not necessarily all at once.

Bad text rendering on ubuntu

I can confirm now, what @AlainLich mentioned regarding the text rendering.
It looks absolutely terrible on my ubuntu pc and the alignment is all mixed up :D
As my code is not really platform dependent, I argue that this must be an inconsistency in Cairo+FreeType. I'll investigate!

test fails on osx

Running the test gives:

julia> Pkg.test("GLVisualize")
INFO: Computing test dependencies for GLVisualize...
INFO: No packages to install, update or remove
INFO: Testing GLVisualize
Barplot
3d dot particles
ERROR: LoadError: LoadError: TypeError: typeassert: expected Tuple{FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32}}, got Tuple{FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32},FixedSizeArrays.Vec{4,Float32}}
 in * at /Users/ken/.julia/v0.4/GeometryTypes/src/hyperrectangles.jl:75
 in default_boundingbox at /Users/ken/.julia/v0.4/GLVisualize/src/utils.jl:62
 in visualize at /Users/ken/.julia/v0.4/GLVisualize/src/utils.jl:18
 in dots_data at /Users/ken/.julia/v0.4/GLVisualize/test/all_tests.jl:22
 in include at /Applications/Julia-0.4.2.app/Contents/Resources/julia/lib/julia/sys.dylib
 in include_from_node1 at /Applications/Julia-0.4.2.app/Contents/Resources/julia/lib/julia/sys.dylib
 in test at /Users/ken/.julia/v0.4/GLVisualize/test/runtests.jl:18
 in include at /Applications/Julia-0.4.2.app/Contents/Resources/julia/lib/julia/sys.dylib
 in include_from_node1 at /Applications/Julia-0.4.2.app/Contents/Resources/julia/lib/julia/sys.dylib
 in process_options at /Applications/Julia-0.4.2.app/Contents/Resources/julia/lib/julia/sys.dylib
 in _start at /Applications/Julia-0.4.2.app/Contents/Resources/julia/lib/julia/sys.dylib
while loading /Users/ken/.julia/v0.4/GLVisualize/test/all_tests.jl, in expression starting on line 24
while loading /Users/ken/.julia/v0.4/GLVisualize/test/runtests.jl, in expression starting on line 31
=============================[ ERROR: GLVisualize ]=============================

failed process: Process(`/Applications/Julia-0.4.2.app/Contents/Resources/julia/bin/julia --check-bounds=yes --code-coverage=none --color=yes /Users/ken/.julia/v0.4/GLVisualize/test/runtests.jl`, ProcessExited(1)) [1]

================================================================================
INFO: No packages to install, update or remove
ERROR: GLVisualize had test errors
 in error at /Applications/Julia-0.4.2.app/Contents/Resources/julia/lib/julia/sys.dylib
 in test at pkg/entry.jl:803
 in anonymous at pkg/dir.jl:31
 in cd at file.jl:22
 in cd at pkg/dir.jl:31
 in test at pkg.jl:71

The test for package GeometryTypes pass.

Here's my versioninfo and Pkg.status:

julia> versioninfo()
PkgJulia Version 0.4.2
Commit bb73f34 (2015-12-06 21:47 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin13.4.0)
  CPU: Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

julia> Pkg.status()
26 required packages:
 - Atom                          0.2.0+             master
 - Blink                         0.2.1
 - Cairo                         0.2.31
 - Compose                       0.4.0+             master
 - Escher                        0.2.1
 - ForwardDiff                   0.1.3+             master
 - GLVisualize                   0.0.2+             master
 - Gadfly                        0.4.0+             master
 - IJulia                        1.1.8
 - Images                        0.5.1
 - Interact                      0.2.1
 - Jewel                         1.0.8              master
 - Lora                          0.4.4
 - Mocha                         0.1.0
 - NullableArrays                0.0.2
 - Plots                         0.5.0
 - ProfileView                   0.1.1
 - PyPlot                        2.1.1
 - QuantEcon                     0.4.1
 - QuartzImageIO                 0.1.0
 - Reactive                      0.2.4+             master
 - SimJulia                      0.3.9
 - Sobol                         0.1.2-             SobolJulia
 - SymPy                         0.2.34
 - TestImages                    0.1.0
 - Winston                       0.11.13
113 additional packages:
 - ArgParse                      0.3.0
 - ArrayViews                    0.6.4
 - AutoHashEquals                0.0.8
 - Benchmark                     0.1.0
 - Benchmarks                    0.0.0-             master (unregistered)
 - BinDeps                       0.3.20
 - Blosc                         0.1.4
 - Calculus                      0.1.14
 - Clustering                    0.5.0
 - CodeTools                     0.2.0
 - Codecs                        0.1.5
 - ColorTypes                    0.2.0
 - ColorVectorSpace              0.1.1
 - Colors                        0.6.1
 - Combinatorics                 0.2.0
 - Compat                        0.7.8
 - Conda                         0.1.8
 - Contour                       0.0.8
 - DSP                           0.0.11
 - DataArrays                    0.2.20
 - DataFrames                    0.6.10
 - DataStructures                0.3.13
 - Dates                         0.4.4
 - Debug                         0.1.6
 - DevTools                      0.0.0-             master (unregistered)
 - Distances                     0.2.1
 - Distributions                 0.8.7
 - Docile                        0.5.20
 - DualNumbers                   0.1.5
 - Electron                      0.0.0-             master (unregistered)
 - FactCheck                     0.4.2
 - FastAnonymous                 0.3.2
 - FileIO                        0.0.3+             master
 - FixedPointNumbers             0.1.1
 - FixedSizeArrays               0.0.7
 - FreeType                      1.0.1+             master
 - FunctionalCollections         0.1.3
 - GLAbstraction                 0.0.6+             master
 - GLFW                          1.0.0-alpha.7
 - GLWindow                      0.0.6+             master
 - GZip                          0.2.18
 - GeometryTypes                 0.1.0+             master
 - Graphics                      0.1.3
 - Grid                          0.4.0
 - Gtk                           0.9.3
 - GtkUtilities                  0.0.7
 - HDF5                          0.5.7
 - Hexagons                      0.0.4
 - Hiccup                        0.0.2
 - Homebrew                      0.2.0
 - HttpCommon                    0.2.4
 - HttpParser                    0.1.1
 - HttpServer                    0.1.5
 - ImageIO                       0.0.0-             master (unregistered)
 - ImageMagick                   0.1.1+             master
 - ImmutableArrays               0.0.11
 - IniFile                       0.2.4
 - Iterators                     0.1.9
 - JLD                           0.5.6
 - JSON                          0.5.0
 - JuliaParser                   0.6.4              master
 - KernelDensity                 0.1.2
 - LNR                           0.0.2
 - LaTeXStrings                  0.1.6
 - Lazy                          0.10.1
 - LeafAreaIndex                 0.0.0-             master (unregistered)
 - LightGraphs                   0.5.0
 - LightXML                      0.2.1
 - Loess                         0.0.6
 - Logging                       0.2.0
 - LsqFit                        0.0.2
 - MacroTools                    0.2.0
 - Markdown                      0.3.0
 - MbedTLS                       0.2.0
 - Measures                      0.0.1
 - Media                         0.1.1
 - Memoize                       0.0.1
 - MeshIO                        0.0.2
 - MinFinder                     0.0.0-             master (unregistered)
 - ModernGL                      0.0.6
 - Mustache                      0.0.14
 - Mux                           0.2.0
 - NaNMath                       0.1.1
 - Netpbm                        0.1.0
 - Nettle                        0.2.1              master
 - Optim                         0.4.4
 - PDMats                        0.3.6
 - Packing                       0.0.3              master
 - ParserCombinator              1.7.3
 - Patchwork                     0.1.9
 - Polynomials                   0.0.4
 - PyCall                        1.2.0
 - Quaternions                   0.1.0
 - Reexport                      0.0.3
 - Requires                      0.2.1
 - ReverseDiffSource             0.0.6
 - Rutherford                    0.0.0-             master (unregistered)
 - SHA                           0.1.2
 - SIUnits                       0.0.6
 - Showoff                       0.0.6+             29ccdb87
 - SignedDistanceFields          0.0.1
 - SortingAlgorithms             0.0.6
 - StatsBase                     0.7.4
 - StatsFuns                     0.2.0
 - TexExtensions                 0.0.3
 - TextWrap                      0.1.5
 - Tk                            0.3.7
 - URIParser                     0.1.1
 - WebSockets                    0.1.2
 - WoodburyMatrices              0.1.3
 - ZMQ                           0.3.1
 - ZipFile                       0.2.5
 - Zlib                          0.1.12

Let me know what I can do to debug!
Thanks!

Save depth map

Something like save("depth_map.png", depth_image)
Even better anything that has been visualized in GLVisualize, with the similar interaction as .fig in MatLab

User testing on Mac

Pkg.add("GLVisualize") and then trying to run julia billiard.jl in the examples directory gives (after a Pkg.update(); on Julia 0.4 release):

  • deprecation errors in GLFW, Requires, FreeType and GLVisualize
  • Meshes not found in path

After Pkg.add(Meshes):

  • doesn't find step! function. I think this is in the time_step branch of BilliardModels?

After changing to the time_step branch, I get:

WARNING: both GeometryTypes and BilliardModels export "Particle"; uses of it in module Main must be qualified

EDIT:
and then

ERROR: LoadError: UndefVarError: Particle not defined

(Sorry, didn't mean to send the message yet)

slerp undefined in camera.jl

Hi, it seems that "slerp" is undefined in function cubecamera in camera.jl:102 in master.

I can't seem to find any package that might supply this function either. This is causing import with "using GLPlot" to fail for me on v0.4 os x.

Thanks!

bug in 2d visualization

I obtain a weird result when trying to visualize multiple 2d points, as in

    w, r = glscreen()
    s = Vec2f0(100)
    N = 10
    points = Point2f0[rand(Point2f0, -10f0:eps(Float32):10f0) for x=1:N]
    # points = Point2f0[Point2f0(x,0f0) for x=-10f0:0.1f0:10f0]
    v = visualize(points, scale=s)
    view(v)
    r()

The resulting render is a single point in the bottom left corner of the window:
glvisualize_001

The same happens when running the testsuite, except for two cases,

push!(TEST_DATA2D, visualize(particle_robj[:positions], scale=s, color=particle_color, style=Cint(OUTLINED), shape=Cint(ROUNDED_RECTANGLE)))

and

curve_data(i) = Point2f0[Point2f0(sin(x/i)*250, x) for x=1:1024]
push!(TEST_DATA2D, visualize(const_lift(curve_data, bounce(20f0:0.1f0:1024f0)), :lines))

which are displayed correctly

Cheers,
Carlo

Failed on precompilation & etc.

Refer to closed issue #24 .
Pkg.test(GLVisualize) fails on both my computers:

  • IMac with GeForce GTX 775M. Both OS X Yosemite and through Boot Camp also windows 8.1. According to Apple, the OpenGL version is 4.1 and OpenCL is 1.2.
  • A notebook with Windows 10 32 bit operating system. It has an x64-based processor. The graphics card is Intel(R) HD Graphics. I do not know which OpenGL/CL is supported

Extensive text output from tests here:
https://github.com/hustf/strident-squeegee/tree/master/GLVisualize_issue
The current state after these tests is that I have run 'WinRPM.update() and it seems to take forever on both computers.

julia> WinRPM.update() INFO: Downloading https://cache.e.ip.saba.us/http://download.opensuse.org/repositories/windows:/mingw:/win32/openSUSE_13.1/repodata/repomd.xml

GLVisualize fails on precompilation

I can't get this to work. I copy and pasted the install script. (Windows 10)

INFO: Precompiling module GLVisualize...
ERROR: LoadError: __precompile__(false) is not allowed in files that are being precompiled
 in __precompile__ at loading.jl:162
while loading C:\Users\mmoh\.julia\v0.5\Images\src\Images.jl, in expression starting on line 1
ERROR: LoadError: Failed to precompile Images to C:\Users\mmoh\.julia\lib\v0.5\Images.ji
 in error at error.jl:21
while loading C:\Users\mmoh\.julia\v0.5\GLAbstraction\src\GLAbstraction.jl, in expression starting on line 10
ERROR: LoadError: Failed to precompile GLAbstraction to C:\Users\Mustafa\.julia\lib\v0.5\GLAbstraction.ji
 in error at error.jl:21
while loading C:\Users\mmoh\.julia\v0.5\GLWindow\src\GLWindow.jl, in expression starting on line 4
ERROR: LoadError: Failed to precompile GLWindow to C:\Users\mmoh\.julia\lib\v0.5\GLWindow.ji
 in error at error.jl:21
while loading C:\Users\mmoh\.julia\v0.5\GLVisualize\src\GLVisualize.jl, in expression starting on line 5
ERROR: Failed to precompile GLVisualize to C:\Users\mmoh\.julia\lib\v0.5\GLVisualize.ji
 in error at error.jl:21
Julia Version 0.5.0-dev+9
Commit 248eb0b (2015-09-10 04:03 UTC)
Platform Info:
  System: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i7-4510U CPU @ 2.00GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

not precompile-safe

As described in the Julia manual, if you want to precompile this module you need to follow certain rules. (Basically, you need to put anything that must occur at runtime into an __init__() function, and you need to be careful to avoid initializing global variables outside of __init__ to values that may change at runtime, e.g. pointers.) It looks like this module has several problems that need to be fixed in order to make it precompile-safe.

Until it is precompile-safe, you should put VERSION >= v"0.4.0-dev+6521" && __precompile__(false) at the top of the GLVisualize.jl file.

Current problems include:

  • visualize/plotlibs.jl executes code that really should go into __init__ because it seems to depend on the callers runtime environment. Also, it looks unsafe because it looks like it stores a PyObject in a global, and PyObject contains a pointer.
  • FreeType.init() initializes a global pointer that should really be initialized at runtime. Change this to __init__.
  • texture_atlas.jl initializes a global fontface that looks like it contains a pointer.

There may be other problems, too. (It would be a lot easier to audit the code if you did not split it up into so very many files, especially since many of the files contain only one or even zero functions.)

GLVisualize no longer works for simple plot

The following didn't render anything:

using GLVisualize
w=glscreen();
x=y=Float32[1:10;];
z=Float32[exp(x+2y) for x in x, y in y];

vis=visualize((x*ones(y)', ones(x)*y', z), :surface);

 view(vis,w)

renderloop(w)

patch routine

Hey Simon,

i've played around a little bit with your test-routines on mac OS X and everything seems to be fine!
I think this is a really nice tool.

But i have one question for you:

Could you provide a patch-routine for drawing triangles? Something like MATLAB does with its patch routine. That would be great and would make your program easily applicable for many different tasks.

Greetings max

add icon and methods to change title and icon.

It would be nice if we had a little icon for the GLVisualize window.

Also it wouldn't be a bad idea to include some ways to change the window name and icon for future application development using GLVisualize.

image

Thanks

GLVisualize.glscreen() crashes Julia client

When trying to run GLVisualize.glscreen() the whole Julia client hangs up. Since the exception stated to file a bug report I came here hoping to get a fix for this.

(I got a similar error when using GLWindow (JuliaGL/GLWindow.jl#27))

julia> GLVisualize.glscreen()

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.
Exception: EXCEPTION_ACCESS_VIOLATION at 0x1a634600 -- glfwGetMonitorName at C:\WINDOWS\SYSTEM32\glfw3.DLL (unknown line)
while loading no file, in expression starting on line 0
glfwGetMonitorName at C:\WINDOWS\SYSTEM32\glfw3.DLL (unknown line)
call at C:\Users\necka\.julia\v0.5\GLFW\src\glfw3.jl:325
primarymonitorresolution at C:\Users\necka\.julia\v0.5\GLWindow\src\core.jl:40
standard_screen_resolution at C:\Users\necka\.julia\v0.5\GLWindow\src\screen.jl:154
julia_glscreen_1809 at  (unknown line)
glscreen at C:\Users\necka\.julia\v0.5\GLVisualize\src\renderloop.jl:9
julia_glscreen_1807 at  (unknown line)
jlcall_glscreen_1807 at  (unknown line)
jl_apply_generic at C:\Program Files\Julia\bin\libjulia.dll (unknown line)
jl_interpret_toplevel_expr at C:\Program Files\Julia\bin\libjulia.dll (unknown line)
jl_interpret_toplevel_thunk_with at C:\Program Files\Julia\bin\libjulia.dll (unknown line)
jl_eval_with_compiler_p at C:\Program Files\Julia\bin\libjulia.dll (unknown line)
jl_f_tuple at C:\Program Files\Julia\bin\libjulia.dll (unknown line)
eval at boot.jl:263
jl_apply_generic at C:\Program Files\Julia\bin\libjulia.dll (unknown line)
eval_user_input at REPL.jl:3
jlcall_eval_user_input_1211 at  (unknown line)
jl_apply_generic at C:\Program Files\Julia\bin\libjulia.dll (unknown line)
anonymous at REPL.jl:92
jl_switchto at C:\Program Files\Julia\bin\libjulia.dll (unknown line)

Push! called when another signal is still updating

I am getting the following errors on a week old release-0.4 branch. (Rebuilding right now)

   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.0-rc1+33 (2015-09-13 16:27 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit a0fa6af (8 days old release-0.4)
|__/                   |  x86_64-unknown-linux-gnu

julia> using GLVisualize

julia> w, renderloop = glscreen()
push! called when another signal is still updating.push! called when another signal is still updating.(
name: 
display2

ERROR (unhandled task failure): push! called when another signal is still updating.
 in push! at /home/wallnuss/.julia/v0.4/Reactive/src/Reactive.jl:340
 in anonymous at /home/wallnuss/.julia/v0.4/Reactive/src/timing.jl:33
 [inlined code] from ./stream.jl:688
 in anonymous at ./task.jl:58
children: 
0
ERROR (unhandled task failure): push! called when another signal is still updating.
 in push! at /home/wallnuss/.julia/v0.4/Reactive/src/Reactive.jl:340
 in anonymous at /home/wallnuss/.julia/v0.4/Reactive/src/timing.jl:33
 [inlined code] from ./stream.jl:688
 in anonymous at ./task.jl:58
Inputs:
  framebuffer_size => Reactive.Input{FixedSizeArrays.Vec{2,Int64}}
  open => Reactive.Input{Bool}
  mouseposition_glfw_coordinates => Reactive.Input{FixedSizeArrays.Vec{2,Float64}}
  hasfocus => Reactive.Input{Bool}
  buttonreleased => Reactive.Input{Int64}
  mousebuttonspressed => Reactive.Input{Array{Int64,1}}
  mousedragdiff_objectid => Reactive.DropWhen{Tuple{FixedSizeArrays.Vec{2,Float32},FixedSizeArrays.Vec{2,Int64},FixedSizeArrays.Vec{2,Int64}}}
  selection => Reactive.Lift{UnitRange{Int64}}
  insidewindow => Reactive.Input{Bool}
  window_size => Reactive.Lift{GeometryTypes.Rectangle{Int64}}
  unicodeinput => Reactive.Input{Array{Char,1}}
  mousereleased => Reactive.Input{Int64}
  mouse_hover => Reactive.Lift{FixedSizeArrays.Vec{2,Int64}}
  droppedfiles => Reactive.Input{Array{UTF8String,1}}
  buttondown => Reactive.Input{Int64}
  _window_size => Reactive.Input{GeometryTypes.Rectangle{Int64}}
  scroll_y => Reactive.Input{Float64}
  arrow_navigation => Reactive.Lift{Symbol}
  windowposition => Reactive.Input{FixedSizeArrays.Vec{2,Int64}}
  mousedown => Reactive.Input{Int64}
  scroll_x => Reactive.Input{Float64}
  mouseposition => Reactive.Lift{FixedSizeArrays.Vec{2,Float64}}
  buttonspressed => Reactive.Input{Array{Int64,1}}
,Error showing value of type Tuple{GLWindow.Screen,Function}:
ERROR: UndefRefError: access to undefined reference

julia> push! called when another signal is still updating.

ERROR (unhandled task failure): push! called when another signal is still updating.
 in push! at /home/wallnuss/.julia/v0.4/Reactive/src/Reactive.jl:340
 in anonymous at /home/wallnuss/.julia/v0.4/Reactive/src/timing.jl:36
 [inlined code] from ./stream.jl:688
 in anonymous at ./task.jl:58

Antialiasing

Hi Simon,

First thank you again for your great help!
Now i got one last question: Is there an option to turn on antialiasing?

greetings max

Dynamic creation of optimized shaders

I've been going through your next2 branch and was wondering if you have tried any experiments with creating vertex shaders on the fly to try to push some of the work to the GPU. When I look at your bouncy.jl example, am I correct thinking that the Reactive package is using a timer to continuously update all of the circle positions and these are pushed to the GPU with every new timestamp?

It might be more efficient to use a macro or some other metaprogramming technique to create shaders on the fly that would apply the position transformations on the GPU rather than have the CPU do it and push the results there. Very roughly it could look something like this to change the x and y position:

myexpr="pos.x+=t;
pos.y+=t"

myshaderbody= """
{{GLSL_VERSION}}
{{kernel}} // kernel function will get spliced into the shader

    #version 140

    in vec2 position;

    uniform float t;

    void main() {
        vec2 pos = position;
        $myexpr
        gl_Position = vec4(pos, 0.0, 1.0);

}
"""

const myshader = Shader(symbol(@__FILE__), (Vector{UInt8}(myshaderbody)), GLAbstraction.GL_COMPUTE_SHADER)

As computations get more complex, this would get more beneficial. Have you tried anything like this in the past? I'd be happy to make a fork and get a working prototype started.

Test fails

julia> Pkg.test("GLVisualize")
INFO: Testing GLVisualize
Barplot
3d dot particles
Iso surface algorithm which generates a mesh
some more funcitonality from Meshes
particles
sierpinski
surface
vectorfielddata
volume_data
1   : #version 410
2   : 
3   : 
4   : #define CIRCLE            0
5   : #define RECTANGLE         1
6   : #define ROUNDED_RECTANGLE 2
7   : #define DISTANCEFIELD     3
8   : 
9   : #define FILLED       1
10  : #define OUTLINED     2
11  : #define GLOWING      4
12  : #define TEXTURE_FILL 8
13  : 
14  : #define ALIASING_CONST 0.70710678118654757
15  : 
16  : float aastep(float threshold1, float value) {
17  :     float afwidth = length(vec2(dFdx(value), dFdy(value))) * ALIASING_CONST;
18  :     return smoothstep(threshold1-afwidth, threshold1+afwidth, value);
19  : }
20  : float aastep(float threshold1, float threshold2, float value) {
21  :     float afwidth = length(vec2(dFdx(value), dFdy(value))) * ALIASING_CONST;
22  :     return smoothstep(threshold1-afwidth, threshold1+afwidth, value)-smoothstep(threshold2-afwidth, threshold2+afwidth, value);
23  : }
24  : 
25  : float circle(vec2 uv){ 
26  :     return (1-length(uv-0.5))-0.5; 
27  : }
28  : float rectangle(vec2 uv)
29  : {
30  :     vec2 d = max(-uv, uv-vec2(1));
31  :     return -((length(max(vec2(0.0), d)) + min(0.0, max(d.x, d.y))));
32  : }
33  : float rounded_rectangle(vec2 uv, vec2 tl, vec2 br)
34  : {
35  :     vec2 d = max(tl-uv, uv-br);
36  :     return -((length(max(vec2(0.0), d)) + min(0.0, max(d.x, d.y)))-tl);
37  : }
38  : 
39  : uniform sampler2D distancefield;
40  : uniform sampler2D texture_fill;
41  : 
42  : uniform float stroke_width;
43  : uniform float glow_width;
44  : uniform vec2 scale;
45  : 
46  : 
47  : flat in vec4 o_fill_color;
48  : flat in vec4 o_stroke_color;
49  : flat in vec4 o_glow_color;
50  : 
51  : uniform int style; // style and shape are uniforms for now. Making them a varying && using them for control flow is expected to kill performance
52  : uniform int shape;
53  : 
54  : in vec2 o_uv;
55  : flat in uvec2 o_id;
56  : 
57  : out uvec2 fragment_groupid;
58  : out vec4 fragment_color;
59  : 
60  : uniform vec2 resolution;
61  : uniform bool transparent_picking;
62  : 
63  : 
64  : void main(){
65  : 
66  :     float signed_distance = 0.0;
67  :     vec4 fill_color, final_color = vec4(0.0);
68  : 
69  :     if(shape == CIRCLE)
70  :       signed_distance = circle(o_uv);
71  :     else if(shape == DISTANCEFIELD)
72  :         signed_distance = texture(distancefield, o_uv).r;
73  :     else if(shape == ROUNDED_RECTANGLE)
74  :       signed_distance = rounded_rectangle(o_uv, vec2(0.2), vec2(0.8));
75  :     else if(shape == RECTANGLE)
76  :         signed_distance = rectangle(o_uv);
77  :     
78  :     float half_stroke   = (stroke_width/2) / max(scale.x, scale.y);
79  :     float inside        = aastep(0.0, 1.0, signed_distance);
80  :     float outside       = abs(aastep(-1.0, 0.0, signed_distance));
81  : 
82  :     if((style & TEXTURE_FILL) != 0 && inside > 0.0)
83  :         fill_color = texture(texture_fill, vec2(o_uv.x, 1-o_uv.y));
84  :     else
85  :         fill_color = o_fill_color;
86  : 
87  :     if(((style & FILLED) != 0 || (style & TEXTURE_FILL) != 0)){
88  :         final_color = mix(final_color, fill_color, inside);
89  :     }
90  :     if((style & OUTLINED) != 0){
91  :         float t = aastep(0, half_stroke, signed_distance);
92  :         final_color = mix(final_color, o_stroke_color, t);
93  :     }
94  :     if((style & GLOWING) != 0 ){
95  :         float alpha = 1-(outside*abs(clamp(signed_distance, -1, 0))*7);
96  :         alpha *= o_glow_color.a;
97  :         final_color = mix(final_color, vec4(o_glow_color.rgb, alpha), outside);
98  :     }
99  :     fragment_color = final_color;
100 :     if(transparent_picking || final_color.a >= 0.99999999)
101 :         fragment_groupid = o_id;
102 : }
103 : 
104 : 
WARNING: shader /Users/solver/.julia/v0.4/GLVisualize/src/shader/distance_shape.frag didn't compile. 
ERROR: 0:36: Expression in 'return' statement must match return type of function (and no available implicit conversion)
WARNING: program 45 not linked. Error in: 
/Users/solver/.julia/v0.4/GLVisualize/src/shader/util.vert or
/Users/solver/.julia/v0.4/GLVisualize/src/shader/particles2D.vert or
/Users/solver/.julia/v0.4/GLVisualize/src/shader/distance_shape.frag
ERROR: One or more attached shaders not successfully compiled
ERROR: LoadError: LoadError: Named attribute (:texturecoordinates) is not an active attribute in the specified program object or

            the name starts with the reserved prefix gl_

 in get_attribute_location at /Users/solver/.julia/v0.4/GLAbstraction/src/GLExtendedFunctions.jl:30
 in call at /Users/solver/.julia/v0.4/GLAbstraction/src/GLTypes.jl:116
 in call at /Users/solver/.julia/v0.4/GLAbstraction/src/GLTypes.jl:155
 in instanced_renderobject at /Users/solver/.julia/v0.4/GLAbstraction/src/GLRenderObject.jl:30
 in assemble_instanced at /Users/solver/.julia/v0.4/GLVisualize/src/utils.jl:70
 in visualize at /Users/solver/.julia/v0.4/GLVisualize/src/visualize/2dparticles.jl:35
 in visualize at /Users/solver/.julia/v0.4/GLVisualize/src/visualize/2dparticles.jl:21
 in visualize at /Users/solver/.julia/v0.4/GLVisualize/src/visualize_interface.jl:20
 in anonymous at no file
 in include at /Applications/Julia-0.4.0-rc1.app/Contents/Resources/julia/lib/julia/sys.dylib
 in include_from_node1 at /Applications/Julia-0.4.0-rc1.app/Contents/Resources/julia/lib/julia/sys.dylib
 in include at /Applications/Julia-0.4.0-rc1.app/Contents/Resources/julia/lib/julia/sys.dylib
 in include_from_node1 at /Applications/Julia-0.4.0-rc1.app/Contents/Resources/julia/lib/julia/sys.dylib
 in process_options at /Applications/Julia-0.4.0-rc1.app/Contents/Resources/julia/lib/julia/sys.dylib
 in _start at /Applications/Julia-0.4.0-rc1.app/Contents/Resources/julia/lib/julia/sys.dylib
while loading /Users/solver/.julia/v0.4/GLVisualize/test/all_tests.jl, in expression starting on line 212
while loading /Users/solver/.julia/v0.4/GLVisualize/test/runtests.jl, in expression starting on line 12
==================================================================[ ERROR: GLVisualize ]==================================================================

failed process: Process(`/Applications/Julia-0.4.0-rc1.app/Contents/Resources/julia/bin/julia --check-bounds=yes --code-coverage=none --color=yes /Users/solver/.julia/v0.4/GLVisualize/test/runtests.jl`, ProcessExited(1)) [1]

==========================================================================================================================================================
ERROR: GLVisualize had test errors
 in error at /Applications/Julia-0.4.0-rc1.app/Contents/Resources/julia/lib/julia/sys.dylib
 in test at pkg/entry.jl:753
 in anonymous at pkg/dir.jl:31
 in cd at file.jl:22
 in cd at pkg/dir.jl:31
 in test at pkg.jl:71


julia> versioninfo()
Julia Version 0.4.0-rc1
Commit e5c6964 (2015-09-09 16:07 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin13.4.0)
  CPU: Intel(R) Core(TM) i7-3820QM CPU @ 2.70GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

Animation?

I wanted to get animation working, where the data of a plot is updated. I tried this:

xv, yv = collect(Float32, 1:n), collect(Float32, 1:n)
x=Signal(xv*ones(yv)')
y=Signal(ones(xv)*yv')

z=Signal(map((x,y)->exp(x)*cos(y),x.value,y.value))

viz = visualize(x, y, z, Style(:surface))

But it errors outs since visualize_defaults is not defined.

bug in 2d lines

I'm trying to plot a graph using GLVisualize, and I was trying to display an edge as a line, that is something like

w, r = glscreen()
@async r()

s = Vec2f0(50)
N = nv(g)
v_pos = Point2f0[Point2f0((N*s[1]*rand(2))...) for i=1:N]
v = visualize(v_pos[1:2], :lines, scale=s)
view(v, method=:orthographic_pixel)

but all I get is a blank window. I'm on next2 branch

The same goes for v = visualize(v_pos[1:3], :lines, scale=s) while for 4 or more the piecewise line is displayed correctly.

PS
I tried to view a LineSegment from GeometryTypes but it didn't worked out

PPS
I've in mind to write something like

function plot(g::SimpleGraph)
    srand(17)
    w, r = glscreen()
    @async r()

    s = Vec2f0(50)
    N = nv(g)
    v_pos = Point2f0[Point2f0((N*s[1]*rand(2))...) for i=1:N]
    v_img = HyperSphere(Point2f0(0), 30f0)
    vis_nodes = visualize((v_img, v_pos), :lines, scale=s)
    view(vis_nodes, method=:orthographic_pixel)

    for e in edges(g)
        epos = [v_pos[src(e)], v_pos[dst(e)]]
        v = visualize(epos, :lines, scale=s)
        view(v, method=:orthographic_pixel)
    end
end

Since I'm new to GLVisualize (and to graphics in general) probably I"m doing it wrong, any suggestion is appreciated

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.