cedricguillemet / imogen Goto Github PK
View Code? Open in Web Editor NEWGPU Texture Generator
License: MIT License
GPU Texture Generator
License: MIT License
If you have two items with input and output, and connect them back to each other, not only does the application crash, but it saves the state of the project so that if you load the same graph again, it immediately crashes.
I've been playing around with the node editor and it is a ton of fun. I have a question about the C nodes. I've been trying to add more functionality to the C nodes and I am attempting to include libraries like stdio and the like, but if I add an include to any of the C node scripts I get a rotating set of errors that either say source not found, relating to the ntdll.dll or an "InProcessClient.pdb not loaded, Access violation writing location" error. Any ideas?
Thanks!
From a heightmap as input compute a resulting AO.
Compiled 0.13 (because 0.14 is not ready yet) with emscripten.
http://skaven.fr/imogen/imogen.html
Many, many, like, many broken stuff BUT it runs. Pretty happy with the result.
Branch is https://github.com/CedricGuillemet/Imogen/tree/dev-0.13-emscripten
run emb.bat to compile it once you have emscripten sdk installed and activated.
Currently some nodes (paint, file read/write) are coded in C using libtcc. There are some unrecoverable errors, will not work in JS world because of JIT and I don't feel like recompiling libtcc with emscripten. I'm looking for alternative solution. 1 might be to replace it with a JS interpreter. What are other options?
node list
*Logical AND (&&)
*Logical OR (||)
*Logical NOT (!)
For now, the metadatas are stored in Library. I'd like to get more freedom/reactivity and generate the metadata (basically parameters and types) from a parsing (threaded/jobified) of those .glsl
Would it be possible to integrate this with shadertoy? It would be ridiculously awesome
Change the filewrite node for the web that will do an automatic download of the generated image instead of writing it to disk.
Idea: Maybe you can make your UI better looking if you use blender 2.8 UI.
Issue: Material previews are blank, if I try one of the examples that happens too.
In web version, update function void OpenShellURL(const std::string& url) to open link in a new browser tab.
There hasn't been any development in quite some time.
Is this project still active or expected to become active again?
I've been checking for new releases, but nothing seems to have happened for more than a full year now - no commits and no releases.
I'd really love to see Imogen develop, as there isn't really any solid FOSS PBR seamless map generation tool out there, and Imogen seemed to be a very promising project.
Sadly I wasn't ever able to use it due to problems with running it on Linux.
windows 7 64bit
0.5.0 works
using gdb i found:
(gdb) run
Starting program: ...\Imogen\imogen.exe
[New Thread 8244.0x4c8]
[New Thread 8244.0x2e04]
[New Thread 8244.0x26f8]
[New Thread 8244.0xdf4]
[New Thread 8244.0x2e8c]
warning: Fatal Python error:
warning: unable to load the file system codec
warning:
[Thread 8244.0x2e8c exited with code 3]
[Thread 8244.0x26f8 exited with code 3]
[Thread 8244.0xdf4 exited with code 3]
[Thread 8244.0x2e04 exited with code 3]
[Inferior 1 (process 8244) exited with code 03]
Previously planed for this weekend, v0.2 is a bit delayed as I rewrote the evaluation code multiple times this weekend. I'm more happy with it but it can still be better. I will release it monday or tuesday
I have been trying to build it on Linux, but I'm having some compilation errors, the first one was regarding BGFX_CONFIG_RENDERER_OPENGLES, I manage to fix it by changing
https://github.com/CedricGuillemet/Imogen//blob/dev-0.14/CMakeLists.txt#L82
to be
ADD_DEFINITIONS(-DBGFX_CONFIG_RENDERER_OPENGLES=31)
but now I'm getting:
undefined reference to 'stbi_write_png'
when linking.
By the way, great work, with a little bit of marketing it can become a huge open source project.
use this lib : https://github.com/memononen/nanosvg
don't forget to update the readme
The seek call in the FFMPeg decoder always brings back to frame 0. I tried multiple things and it's still buggy with frame TS.
https://github.com/CedricGuillemet/Imogen/blob/master/ext/ffmpegCodec.cpp#L399
Heelp!
This would be particularly useful with the Python interpreter
node list
*vector integer2
*vector integer3
*vector integer4
*vector float2
*vector float3
*vector float4
*crossProduct
*dotProduct
*length
*normalize
*distance
Few things about node lister.
Did not found a way to remove it without creating a node, escape key should hide it again?
Also to create it, using a key as well as button is generally nice (space key is common in many softwares).
Is this tool related to the internal java-based SCEE tool also named imogen? if it is, and does the same thing, I have a couple of followup questions.
I'm trying to build latest Master branch code of Imogen on Manjaro Linux.
This is what I get:
[unfa@unfa-desktop Imogen]$ cmake .
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.6.1")
-- Checking for module 'gtk+-3.0'
-- Found gtk+-3.0, version 3.24.8
CMake Warning (dev) at /usr/share/cmake-3.14/Modules/FindOpenGL.cmake:275 (message):
Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
available. Run "cmake --help-policy CMP0072" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
FindOpenGL found both a legacy GL library:
OPENGL_gl_LIBRARY: /usr/lib/libGL.so
and GLVND libraries for OpenGL and GLX:
OPENGL_opengl_LIBRARY: /usr/lib/libOpenGL.so
OPENGL_glx_LIBRARY: /usr/lib/libGLX.so
OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
CMakeLists.txt:76 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found OpenGL: /usr/lib/libOpenGL.so
-- Console is hidden
-- Configuring done
-- Generating done
-- Build files have been written to: /data/Applications/Imogen
[unfa@unfa-desktop Imogen]$ make
Scanning dependencies of target Imogen
[ 2%] Building CXX object CMakeFiles/Imogen.dir/src/Bitmap.cpp.o
In file included from /data/Applications/Imogen/src/Bitmap.cpp:26:
/data/Applications/Imogen/src/Platform.h:92:2: error: #error unknown platform
#error unknown platform
^~~~~
/data/Applications/Imogen/src/Bitmap.cpp:82:5: error: ‘GL_RGB’ was not declared in this scope
GL_RGB,
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:82:5: note: suggested alternative: ‘NSVG_RGB’
GL_RGB,
^~~~~~
NSVG_RGB
/data/Applications/Imogen/src/Bitmap.cpp:83:5: error: ‘GL_RGB’ was not declared in this scope
GL_RGB,
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:83:5: note: suggested alternative: ‘NSVG_RGB’
GL_RGB,
^~~~~~
NSVG_RGB
/data/Applications/Imogen/src/Bitmap.cpp:84:5: error: ‘GL_RGB’ was not declared in this scope
GL_RGB,
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:84:5: note: suggested alternative: ‘NSVG_RGB’
GL_RGB,
^~~~~~
NSVG_RGB
/data/Applications/Imogen/src/Bitmap.cpp:85:5: error: ‘GL_RGB’ was not declared in this scope
GL_RGB,
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:85:5: note: suggested alternative: ‘NSVG_RGB’
GL_RGB,
^~~~~~
NSVG_RGB
/data/Applications/Imogen/src/Bitmap.cpp:86:5: error: ‘GL_RGB’ was not declared in this scope
GL_RGB,
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:86:5: note: suggested alternative: ‘NSVG_RGB’
GL_RGB,
^~~~~~
NSVG_RGB
/data/Applications/Imogen/src/Bitmap.cpp:87:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA, // RGBE
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:87:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA, // RGBE
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:89:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA,
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:89:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA,
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:90:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA,
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:90:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA,
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:91:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA,
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:91:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA,
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:92:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA,
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:92:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA,
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:93:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA,
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:93:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA,
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:95:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA, // RGBM
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:95:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA, // RGBM
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:98:5: error: ‘GL_RGB’ was not declared in this scope
GL_RGB,
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:98:5: note: suggested alternative: ‘NSVG_RGB’
GL_RGB,
^~~~~~
NSVG_RGB
/data/Applications/Imogen/src/Bitmap.cpp:99:5: error: ‘GL_RGB’ was not declared in this scope
GL_RGB,
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:99:5: note: suggested alternative: ‘NSVG_RGB’
GL_RGB,
^~~~~~
NSVG_RGB
/data/Applications/Imogen/src/Bitmap.cpp:100:5: error: ‘GL_RGB’ was not declared in this scope
GL_RGB,
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:100:5: note: suggested alternative: ‘NSVG_RGB’
GL_RGB,
^~~~~~
NSVG_RGB
/data/Applications/Imogen/src/Bitmap.cpp:101:5: error: ‘GL_RGB’ was not declared in this scope
GL_RGB,
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:101:5: note: suggested alternative: ‘NSVG_RGB’
GL_RGB,
^~~~~~
NSVG_RGB
/data/Applications/Imogen/src/Bitmap.cpp:102:5: error: ‘GL_RGB’ was not declared in this scope
GL_RGB,
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:102:5: note: suggested alternative: ‘NSVG_RGB’
GL_RGB,
^~~~~~
NSVG_RGB
/data/Applications/Imogen/src/Bitmap.cpp:103:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA, // RGBE
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:103:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA, // RGBE
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:105:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA,
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:105:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA,
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:106:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA,
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:106:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA,
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:107:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA,
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:107:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA,
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:108:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA,
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:108:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA,
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:109:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA,
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:109:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA,
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:111:5: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA, // RGBM
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:111:5: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA, // RGBM
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:116:5: error: ‘GL_TEXTURE_CUBE_MAP_POSITIVE_X’ was not declared in this scope
GL_TEXTURE_CUBE_MAP_POSITIVE_X,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:117:5: error: ‘GL_TEXTURE_CUBE_MAP_NEGATIVE_X’ was not declared in this scope
GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:118:5: error: ‘GL_TEXTURE_CUBE_MAP_POSITIVE_Y’ was not declared in this scope
GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:119:5: error: ‘GL_TEXTURE_CUBE_MAP_NEGATIVE_Y’ was not declared in this scope
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:120:5: error: ‘GL_TEXTURE_CUBE_MAP_POSITIVE_Z’ was not declared in this scope
GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:121:5: error: ‘GL_TEXTURE_CUBE_MAP_NEGATIVE_Z’ was not declared in this scope
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp: In function ‘void SaveCapture(const string&, int, int, int, int)’:
/data/Applications/Imogen/src/Bitmap.cpp:132:19: error: ‘GL_VIEWPORT’ was not declared in this scope
glGetIntegerv(GL_VIEWPORT, viewport);
^~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:132:5: error: ‘glGetIntegerv’ was not declared in this scope
glGetIntegerv(GL_VIEWPORT, viewport);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:132:5: note: suggested alternative: ‘getdate_err’
glGetIntegerv(GL_VIEWPORT, viewport);
^~~~~~~~~~~~~
getdate_err
/data/Applications/Imogen/src/Bitmap.cpp:136:48: error: ‘GL_RGB’ was not declared in this scope
glReadPixels(x, viewport[3] - y - h, w, h, GL_RGB, GL_UNSIGNED_BYTE, imgBits);
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:136:48: note: suggested alternative: ‘NSVG_RGB’
glReadPixels(x, viewport[3] - y - h, w, h, GL_RGB, GL_UNSIGNED_BYTE, imgBits);
^~~~~~
NSVG_RGB
/data/Applications/Imogen/src/Bitmap.cpp:136:56: error: ‘GL_UNSIGNED_BYTE’ was not declared in this scope
glReadPixels(x, viewport[3] - y - h, w, h, GL_RGB, GL_UNSIGNED_BYTE, imgBits);
^~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:136:5: error: ‘glReadPixels’ was not declared in this scope
glReadPixels(x, viewport[3] - y - h, w, h, GL_RGB, GL_UNSIGNED_BYTE, imgBits);
^~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp: In static member function ‘static unsigned int Image::Upload(Image*, unsigned int, int)’:
/data/Applications/Imogen/src/Bitmap.cpp:260:9: error: ‘glGenTextures’ was not declared in this scope
glGenTextures(1, &textureId);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:262:50: error: ‘GL_TEXTURE_2D’ was not declared in this scope
unsigned int targetType = (cubeFace == -1) ? GL_TEXTURE_2D : GL_TEXTURE_CUBE_MAP;
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:262:66: error: ‘GL_TEXTURE_CUBE_MAP’ was not declared in this scope
unsigned int targetType = (cubeFace == -1) ? GL_TEXTURE_2D : GL_TEXTURE_CUBE_MAP;
^~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:263:5: error: ‘glBindTexture’ was not declared in this scope
glBindTexture(targetType, textureId);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:274:18: error: ‘GL_UNSIGNED_BYTE’ was not declared in this scope
GL_UNSIGNED_BYTE,
^~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:267:5: error: ‘glTexImage2D’ was not declared in this scope
glTexImage2D((cubeFace == -1) ? GL_TEXTURE_2D : glCubeFace[cubeFace],
^~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:276:14: error: ‘GL_LINEAR’ was not declared in this scope
TexParam(GL_LINEAR, GL_LINEAR, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE, targetType);
^~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:276:14: note: suggested alternative: ‘__LINE__’
TexParam(GL_LINEAR, GL_LINEAR, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE, targetType);
^~~~~~~~~
__LINE__
/data/Applications/Imogen/src/Bitmap.cpp:276:36: error: ‘GL_CLAMP_TO_EDGE’ was not declared in this scope
TexParam(GL_LINEAR, GL_LINEAR, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE, targetType);
^~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp: In member function ‘void RenderTarget::BindAsTarget() const’:
/data/Applications/Imogen/src/Bitmap.cpp:458:23: error: ‘GL_FRAMEBUFFER’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, mFbo);
^~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:458:5: error: ‘glBindFramebuffer’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, mFbo);
^~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:459:5: error: ‘glViewport’ was not declared in this scope
glViewport(0, 0, mImage->mWidth, mImage->mHeight);
^~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp: In member function ‘void RenderTarget::BindAsCubeTarget() const’:
/data/Applications/Imogen/src/Bitmap.cpp:464:19: error: ‘GL_TEXTURE_CUBE_MAP’ was not declared in this scope
glBindTexture(GL_TEXTURE_CUBE_MAP, mGLTexID);
^~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:464:5: error: ‘glBindTexture’ was not declared in this scope
glBindTexture(GL_TEXTURE_CUBE_MAP, mGLTexID);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:465:23: error: ‘GL_FRAMEBUFFER’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, mFbo);
^~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:465:5: error: ‘glBindFramebuffer’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, mFbo);
^~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp: In member function ‘void RenderTarget::BindCubeFace(size_t, int, int)’:
/data/Applications/Imogen/src/Bitmap.cpp:471:9: error: ‘GL_FRAMEBUFFER’ was not declared in this scope
GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GLenum(GL_TEXTURE_CUBE_MAP_POSITIVE_X + face), mGLTexID, mipmap);
^~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:471:25: error: ‘GL_COLOR_ATTACHMENT0’ was not declared in this scope
GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GLenum(GL_TEXTURE_CUBE_MAP_POSITIVE_X + face), mGLTexID, mipmap);
^~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:471:54: error: ‘GL_TEXTURE_CUBE_MAP_POSITIVE_X’ was not declared in this scope
GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GLenum(GL_TEXTURE_CUBE_MAP_POSITIVE_X + face), mGLTexID, mipmap);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:471:47: error: ‘GLenum’ was not declared in this scope
GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GLenum(GL_TEXTURE_CUBE_MAP_POSITIVE_X + face), mGLTexID, mipmap);
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:471:47: note: suggested alternative: ‘enum’
GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GLenum(GL_TEXTURE_CUBE_MAP_POSITIVE_X + face), mGLTexID, mipmap);
^~~~~~
enum
/data/Applications/Imogen/src/Bitmap.cpp:470:5: error: ‘glFramebufferTexture2D’ was not declared in this scope
glFramebufferTexture2D(
^~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:472:5: error: ‘glViewport’ was not declared in this scope
glViewport(0, 0, faceWidth >> mipmap, faceWidth >> mipmap);
^~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp: In member function ‘void RenderTarget::Destroy()’:
/data/Applications/Imogen/src/Bitmap.cpp:478:9: error: ‘glDeleteTextures’ was not declared in this scope
glDeleteTextures(1, &mGLTexID);
^~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:480:9: error: ‘glDeleteTextures’ was not declared in this scope
glDeleteTextures(1, &mGLTexDepth);
^~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:483:13: error: ‘glIsFramebuffer’ was not declared in this scope
if (glIsFramebuffer(mFbo))
^~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:485:13: error: ‘glDeleteFramebuffers’ was not declared in this scope
glDeleteFramebuffers(1, &mFbo);
^~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:493:9: error: ‘glDeleteRenderbuffers’ was not declared in this scope
glDeleteRenderbuffers(1, &mDepthBuffer);
^~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp: In member function ‘void RenderTarget::InitBuffer(int, int, bool)’:
/data/Applications/Imogen/src/Bitmap.cpp:530:5: error: ‘glGenFramebuffers’ was not declared in this scope
glGenFramebuffers(1, &mFbo);
^~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:531:23: error: ‘GL_FRAMEBUFFER’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, mFbo);
^~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:531:5: error: ‘glBindFramebuffer’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, mFbo);
^~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:534:5: error: ‘glGenTextures’ was not declared in this scope
glGenTextures(1, &mGLTexID);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:535:19: error: ‘GL_TEXTURE_2D’ was not declared in this scope
glBindTexture(GL_TEXTURE_2D, mGLTexID);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:535:5: error: ‘glBindTexture’ was not declared in this scope
glBindTexture(GL_TEXTURE_2D, mGLTexID);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:536:36: error: ‘GL_RGBA8’ was not declared in this scope
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
^~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:536:36: note: suggested alternative: ‘NL_ARGMAX’
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
^~~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:536:64: error: ‘GL_RGBA’ was not declared in this scope
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:536:64: note: suggested alternative: ‘NL_ARGMAX’
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:536:73: error: ‘GL_UNSIGNED_BYTE’ was not declared in this scope
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
^~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:536:5: error: ‘glTexImage2D’ was not declared in this scope
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
^~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:537:14: error: ‘GL_NEAREST’ was not declared in this scope
TexParam(GL_NEAREST, GL_NEAREST, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE, GL_TEXTURE_2D);
^~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:537:14: note: suggested alternative: ‘CLONE_PARENT’
TexParam(GL_NEAREST, GL_NEAREST, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE, GL_TEXTURE_2D);
^~~~~~~~~~
CLONE_PARENT
/data/Applications/Imogen/src/Bitmap.cpp:537:38: error: ‘GL_CLAMP_TO_EDGE’ was not declared in this scope
TexParam(GL_NEAREST, GL_NEAREST, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE, GL_TEXTURE_2D);
^~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:538:44: error: ‘GL_COLOR_ATTACHMENT0’ was not declared in this scope
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, mGLTexID, 0);
^~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:538:5: error: ‘glFramebufferTexture2D’ was not declared in this scope
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, mGLTexID, 0);
^~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:545:40: error: ‘GL_DEPTH_COMPONENT24’ was not declared in this scope
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, width, height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL);
^~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:545:80: error: ‘GL_DEPTH_COMPONENT’ was not declared in this scope
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, width, height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL);
^~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:545:100: error: ‘GL_FLOAT’ was not declared in this scope
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, width, height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL);
^~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:545:100: note: suggested alternative: ‘MAXFLOAT’
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24, width, height, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL);
^~~~~~~~
MAXFLOAT
/data/Applications/Imogen/src/Bitmap.cpp:547:48: error: ‘GL_DEPTH_ATTACHMENT’ was not declared in this scope
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, mGLTexDepth, 0);
^~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:550:18: error: ‘GLenum’ does not name a type; did you mean ‘enum’?
static const GLenum drawBuffers[] = {GL_COLOR_ATTACHMENT0};
^~~~~~
enum
/data/Applications/Imogen/src/Bitmap.cpp:551:26: error: ‘drawBuffers’ was not declared in this scope
glDrawBuffers(sizeof(drawBuffers) / sizeof(GLenum), drawBuffers);
^~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:551:26: note: suggested alternative: ‘InitBuffer’
glDrawBuffers(sizeof(drawBuffers) / sizeof(GLenum), drawBuffers);
^~~~~~~~~~~
InitBuffer
/data/Applications/Imogen/src/Bitmap.cpp:551:48: error: ‘GLenum’ was not declared in this scope
glDrawBuffers(sizeof(drawBuffers) / sizeof(GLenum), drawBuffers);
^~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:551:48: note: suggested alternative: ‘enum’
glDrawBuffers(sizeof(drawBuffers) / sizeof(GLenum), drawBuffers);
^~~~~~
enum
/data/Applications/Imogen/src/Bitmap.cpp:551:5: error: ‘glDrawBuffers’ was not declared in this scope
glDrawBuffers(sizeof(drawBuffers) / sizeof(GLenum), drawBuffers);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:557:5: error: ‘GLint’ was not declared in this scope
GLint last_viewport[4];
^~~~~
/data/Applications/Imogen/src/Bitmap.cpp:557:5: note: suggested alternative: ‘uint’
GLint last_viewport[4];
^~~~~
uint
/data/Applications/Imogen/src/Bitmap.cpp:558:19: error: ‘GL_VIEWPORT’ was not declared in this scope
glGetIntegerv(GL_VIEWPORT, last_viewport);
^~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:558:32: error: ‘last_viewport’ was not declared in this scope
glGetIntegerv(GL_VIEWPORT, last_viewport);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:558:5: error: ‘glGetIntegerv’ was not declared in this scope
glGetIntegerv(GL_VIEWPORT, last_viewport);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:558:5: note: suggested alternative: ‘getdate_err’
glGetIntegerv(GL_VIEWPORT, last_viewport);
^~~~~~~~~~~~~
getdate_err
/data/Applications/Imogen/src/Bitmap.cpp:560:5: error: ‘glClearColor’ was not declared in this scope
glClearColor(0, 0, 0, 0);
^~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:561:13: error: ‘GL_COLOR_BUFFER_BIT’ was not declared in this scope
glClear(GL_COLOR_BUFFER_BIT | (depthBuffer ? GL_DEPTH_BUFFER_BIT : 0));
^~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:561:50: error: ‘GL_DEPTH_BUFFER_BIT’ was not declared in this scope
glClear(GL_COLOR_BUFFER_BIT | (depthBuffer ? GL_DEPTH_BUFFER_BIT : 0));
^~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:561:5: error: ‘glClear’ was not declared in this scope
glClear(GL_COLOR_BUFFER_BIT | (depthBuffer ? GL_DEPTH_BUFFER_BIT : 0));
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:563:53: error: ‘GLsizei’ was not declared in this scope
glViewport(last_viewport[0], last_viewport[1], (GLsizei)last_viewport[2], (GLsizei)last_viewport[3]);
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:563:53: note: suggested alternative: ‘dysize’
glViewport(last_viewport[0], last_viewport[1], (GLsizei)last_viewport[2], (GLsizei)last_viewport[3]);
^~~~~~~
dysize
/data/Applications/Imogen/src/Bitmap.cpp:563:5: error: ‘glViewport’ was not declared in this scope
glViewport(last_viewport[0], last_viewport[1], (GLsizei)last_viewport[2], (GLsizei)last_viewport[3]);
^~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp: In member function ‘void RenderTarget::InitCube(int, int)’:
/data/Applications/Imogen/src/Bitmap.cpp:584:5: error: ‘glGenFramebuffers’ was not declared in this scope
glGenFramebuffers(1, &mFbo);
^~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:585:23: error: ‘GL_FRAMEBUFFER’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, mFbo);
^~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:585:5: error: ‘glBindFramebuffer’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, mFbo);
^~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:587:5: error: ‘glGenTextures’ was not declared in this scope
glGenTextures(1, &mGLTexID);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:588:19: error: ‘GL_TEXTURE_CUBE_MAP’ was not declared in this scope
glBindTexture(GL_TEXTURE_CUBE_MAP, mGLTexID);
^~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:588:5: error: ‘glBindTexture’ was not declared in this scope
glBindTexture(GL_TEXTURE_CUBE_MAP, mGLTexID);
^~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:594:26: error: ‘GL_TEXTURE_CUBE_MAP_POSITIVE_X’ was not declared in this scope
glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:596:26: error: ‘GL_RGBA’ was not declared in this scope
GL_RGBA,
^~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:596:26: note: suggested alternative: ‘NL_ARGMAX’
GL_RGBA,
^~~~~~~
NL_ARGMAX
/data/Applications/Imogen/src/Bitmap.cpp:601:26: error: ‘GL_UNSIGNED_BYTE’ was not declared in this scope
GL_UNSIGNED_BYTE,
^~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:594:13: error: ‘glTexImage2D’ was not declared in this scope
glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i,
^~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:606:14: error: ‘GL_LINEAR_MIPMAP_LINEAR’ was not declared in this scope
TexParam(GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE, GL_TEXTURE_CUBE_MAP);
^~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:606:39: error: ‘GL_LINEAR’ was not declared in this scope
TexParam(GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE, GL_TEXTURE_CUBE_MAP);
^~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:606:39: note: suggested alternative: ‘__LINE__’
TexParam(GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE, GL_TEXTURE_CUBE_MAP);
^~~~~~~~~
__LINE__
/data/Applications/Imogen/src/Bitmap.cpp:606:50: error: ‘GL_CLAMP_TO_EDGE’ was not declared in this scope
TexParam(GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR, GL_CLAMP_TO_EDGE, GL_CLAMP_TO_EDGE, GL_TEXTURE_CUBE_MAP);
^~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:608:44: error: ‘GL_COLOR_ATTACHMENT0’ was not declared in this scope
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X, mGLTexID, 0);
^~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:608:66: error: ‘GL_TEXTURE_CUBE_MAP_POSITIVE_X’ was not declared in this scope
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X, mGLTexID, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:608:5: error: ‘glFramebufferTexture2D’ was not declared in this scope
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X, mGLTexID, 0);
^~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp: In member function ‘void RenderTarget::CheckFBO()’:
/data/Applications/Imogen/src/Bitmap.cpp:615:23: error: ‘GL_FRAMEBUFFER’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, mFbo);
^~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:615:5: error: ‘glBindFramebuffer’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, mFbo);
^~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:617:18: error: ‘glCheckFramebufferStatus’ was not declared in this scope
int status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
^~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:620:14: error: ‘GL_FRAMEBUFFER_COMPLETE’ was not declared in this scope
case GL_FRAMEBUFFER_COMPLETE:
^~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:624:14: error: ‘GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT’ was not declared in this scope
case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:628:14: error: ‘GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT’ was not declared in this scope
case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/data/Applications/Imogen/src/Bitmap.cpp:650:14: error: ‘GL_FRAMEBUFFER_UNSUPPORTED’ was not declared in this scope
case GL_FRAMEBUFFER_UNSUPPORTED:
^~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/Imogen.dir/build.make:63: CMakeFiles/Imogen.dir/src/Bitmap.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/Imogen.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
For desktop, create a fileread node for images dropped in.
For web, upload (or keep in memory) files and create the node.
Doesn't happen all the time, but often enough, graph just disappear when switching to another app.
Only way to recover is restart the software
When I open any material in the web version at http://skaven.fr/imogen/ it lacks any preview, and manually hitting "Build current material" gets stuck at 0%.
I'm using Firefox 72.0.1 (64-bit).
There are some warnings and errors in my browsers debugger console, but I'm not sure which one would be relevant to this. I'm not sure if this issue only affects me or also other users / browsers. I can probably provide more details from those logs if requested. For now I'll assume that this issue is easy to reproduce (I believe #76 also mentions this problem?).
node list
*equal (==)
*not equal (!=)
*greater than (>)
*greater than or equal (>=)
*less than (<)
*less than or equal (<=)
Link from project Does this only need an initial value of 1 or something else?
node list
*absolute - return absolute value
*acos - inverse of cos
*asin - inverse of sin
*atan - inverse of tan
*angle - angle between two nodes
*ceil - return the smallest integer value that is not less than the argument
*floor - return the largest integer value that is not greater than the argument
*trunc - return the largest whole value that is not greater than the argument
*clamp - clamps to the min-max range, If number is outside the range, the return value is clamped to min or max, otherwise.
*sqrt - square root
Investigate these kind of crash. To reproduce it, add a syntax error in any node .c code
I don't know if there is no implementation of copy and paste yet, but i can't copy and paste nodes.
If there isn't an implementation for that, could you make it please? it would help a lot. ^^
To define static values for your graph
node list
*float
*float2
*float3
*float4
*integer
*integer2
*integer3
*integer4
*boolean
Instead of separate nodes, One single node called constant with drop down list to select data types would be great.
Hacktoberfest is approaching. I'd like to contribute and don't know where to start. Are you open to that idea?
Everything is coded with multiplatform in mind (mostly). And I compiled the project on a virtualized Ubuntu. It was a couple months ago and a Linux port (a solid one) would be great.
Kudos if there is a possibility to produce binaries(packages) from a bot.
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.