juliagl / glvisualize.jl Goto Github PK
View Code? Open in Web Editor NEWVisualization library written in Julia and OpenGL
License: Other
Visualization library written in Julia and OpenGL
License: Other
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
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
Not really an issue here,
just wanted to direct @SimonDanisch's attention to a discussion in sbromberger/LightGraphs.jl#313 about graph visualization and to be sure he is ok with using some code he wrote for an example in GLVisualize, as I've done in https://github.com/CarloLucibello/GraphVisualize
Bye,
Carlo
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
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
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
Will be awesome, as you can use any type for visualize
without much noise.
Not that easy because of template shaders, where the correct gl type is not defined yet.
Could be solved easily by adding some default mappings for the standard julia types.
Then it should be only about creating the correct mapping from julia type to shader type and convert it.
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
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
I'm wondering how to replicate the old "async=true" behaviour that allow manipulating the plot and interacting with the REPL
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)
The final idea would be to able to see terrain models like in
http://w3.ualg.pt/~jluis/mirone/images/marte_planar.jpg
but never mind about the details with the texture and the points. Other more basic things to be solver before it. I'm attaching a simple code with questions in comments. It needs GMT.jl installed (we know that it works fine both in Win and OSX, no linux testing so far)
Simple, just needs to be done... Solve #19 before!
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
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:
c_i
for the i
th cubical volumeฮฑ_i(x,y,z)
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.
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
Dynamic loops seem to cutoff at 256 iterations on nvidia hardware, which results in holes in the iso surface rendering.
Whole infrastructure is in place, just need to convert rendered glyphs to a distancefield, quite likely with https://github.com/yurivish/SignedDistanceFields.jl
consider to catch the TIMER_SIGNAL not found
and tell the user that he must call glscreen()
first
(-> You don't need an open window but explicitly must call that special function what means you can't create the window by GLFW and use it here)
Simply create more default events for a window and give them good names.
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.
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.
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.
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!
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!
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
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):
GLFW
, Requires
, FreeType
and GLVisualize
After Pkg.add(Meshes)
:
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)
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!
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:
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
Refer to closed issue #24 .
Pkg.test(GLVisualize) fails on both my computers:
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.
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
Take
https://github.com/JuliaGL/GLDraw.jl
http://cesiumjs.org/2013/04/22/Robust-Polyline-Rendering-with-WebGL/
https://www.mapbox.com/blog/drawing-antialiased-lines/
https://code.google.com/p/gl-agg/
http://mattdesl.svbtle.com/drawing-lines-is-hard
and different patterns like dot, square and signed distance fields from textures for different stroke types.
DONE!
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.)
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)
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
Pretty annoying task considering how primitive GLSL
is.
But should be solvable by adding more generic functions for common tasks and more templating with Mustache.
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)
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
needs to calculate the rays accordingly
Needs to be triangulated. Maybe like this: http://www.flipcode.com/archives/Efficient_Polygon_Triangulation.shtml
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
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.
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
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.
Was found by @dpsanders.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.