voidstarhq / voidstar Goto Github PK
View Code? Open in Web Editor NEWanything can be numbers, numbers can be anything... What does data look like, in color and in 3D.
Home Page: https://voidstarhq.github.io/
License: MIT License
anything can be numbers, numbers can be anything... What does data look like, in color and in 3D.
Home Page: https://voidstarhq.github.io/
License: MIT License
Add some flag to toggle distortion by stacking this shader at the end of the render pipe:
OpenHMD/OpenHMD#83
When asked to open a file named -
, read data from standard input.
Right now a very static vertex buffer is allocated on host memory, this can probably be done directly on the GPU with geometry shaders (see layout
). By default this buffer is full and of size 256 * 256 * 256 * 3 * 4
, or about 200MB.
Also, it is of note that the colour buffer is mostly empty most of the time, while it is of the same size as the vertex buffer.
To fix this I am thinking of first processing the input file, turning it into a texture, then moving the sliding window on this texture.
We draw 256**3 pixels when we could be skipping all the empty ones.
16M pixels is a lot for small graphic chipsets.
The only things not compiled into the binary right now are the shader files.
I really like the simplicity of a single binary file right now,
so this issue is to request that the shaders be compiled into the binary.
Using something like https://github.com/tmpvar/voxviz/blob/fca77c586fc4b682d9a66bb271ea920c0d71963c/shaders/convert.js (but just using a shell script) should do it.
...or any open & easily readable 3D asset format. (Something that can be read in the browser).
Not sure if OBJ supports color?
Format should also support adding metadata (we might want to add sound / velocity info).
It can be done with shaders: freeciv/freeciv-web@2d88ebb
Impl https://github.com/voidstarHQ/voidstar/blob/6d797f96f938391805a10ae43439cd0c3dd93243/voidstar/algos_3d/cube_conti_frebet.cc RGB
for other color spaces e.g. YCbCr
, ...
Use arrow keys to enlarge and move a sliding window on the inspected file's contents.
Probably add a key to start/stop an animation.
Miners was the first thing that came to mind after "starting" minepi (which itself came from https://github.com/philipl/pifs).
It's not a great name, or more exactly: I've found a much more fitting name!
void *
"void star" is (appart from both a Star Trek & Star Wars reference) a void pointer in the C language.
It is used to cast any kind of data into whichever pointer type you want. Pretty fitting!
For reasons the binary name should have to change to voidstar
.
Here's an excerpt:
./miners -a conti miners
OpenGL version: 4.1 INTEL-10.24.45
GLSL version: 4.10
Vendor: Intel Inc.
Renderer: Intel HD Graphics 4000 OpenGL Engine
Loading file miners
aspect: 1.33333 (800x600)
read 639264 bytes
#points: 45871
aspect: 1.33333 (800x600)
OpenGL Error 1282
OpenGL Error 1282
OpenGL Error 1282
...SNIP
Using glDrawArrays
works without issue but is very far from optimal.
Problem has been happening ever since 9868865...607a0cf.
and potentially OSX too
When reading data, it may be useful to convert plaintext to binary:
CLI flag: --input-transform=TRANSFORM
Some CLI option (also maybe a key) should trigger a "screen capture" of the current render.
CLI needs an option to specify the file to write to (or in case of directory, generate a timestamp-based file name).
In the future this path could also be a URL to upload the file to.
This issue probably doesn't need a config file (yet).
Output path should default to $HOME.
t-sne is a non-parametric unsupervised data projection algorithm that could be interesting to run on chunks of pre-specified size of the input data.
When starting the program
The time it takes to transmit data to GPU is non negligible.
Right now what we do is
Instead we could
This would make the host code much simpler.
Thus porting to Web or Android would be much simpler.
*The tricky part is that to do something like Algo3DCubeFrebet
with shaders, one needs to somehow:
@icehess Ideas?
Work with valgrind to clean up after GLFW.
Simple enough to reproduce leaks:
valgrind --leak-check=full --show-leak-kinds=all ./voidstar -a 4col ../data/*
and
valgrind --leak-check=full --show-leak-kinds=all ./voidstar ../data/*
Note: in my testing just calling glfwDestroyWindow in the GlfwManager destructor is not enough (and actually shows more leaks).
Tested on #48 (so tag v1.4.*)
Use something like https://github.com/lightsofapollo/x-recorder
to add videos to the readme.
Might help for #33
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.