Coder Social home page Coder Social logo

pyrym / truss Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 1.0 4.08 MB

visualization/rendering framework

License: MIT License

C 16.10% Lua 10.58% Shell 0.44% SuperCollider 0.80% Scala 0.82% Terra 32.64% Raku 29.90% Perl 7.92% MoonScript 0.37% Python 0.42%

truss's People

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

mikedh

truss's Issues

SDL Fails to Link in Debian Stretch with Wayland

I'm looking for a fix (possibly using SDL's own configure script will resolve this? I've built it standalone before. I should try again.), but this is the error.

[ 99%] Building C object CMakeFiles/SDL2.dir/src/timer/unix/SDL_systimer.c.o
[100%] Linking C shared library libSDL2-2.0.so
CMakeFiles/SDL2.dir/src/video/wayland/SDL_waylandevents.c.o: In function `wl_registry_bind':
/usr/include/wayland-client-protocol.h:1061: undefined reference to `wl_proxy_marshal_constructor_versioned'
CMakeFiles/SDL2.dir/src/video/wayland/SDL_waylandtouch.c.o: In function `wl_registry_bind':
/usr/include/wayland-client-protocol.h:1061: undefined reference to `wl_proxy_marshal_constructor_versioned'
CMakeFiles/SDL2.dir/src/video/wayland/SDL_waylandvideo.c.o: In function `wl_registry_bind':
/usr/include/wayland-client-protocol.h:1061: undefined reference to `wl_proxy_marshal_constructor_versioned'
/usr/include/wayland-client-protocol.h:1061: undefined reference to `wl_proxy_marshal_constructor_versioned'
/usr/include/wayland-client-protocol.h:1061: undefined reference to `wl_proxy_marshal_constructor_versioned'
CMakeFiles/SDL2.dir/src/video/wayland/SDL_waylandvideo.c.o:/usr/include/wayland-client-protocol.h:1061: more undefined references to `wl_proxy_marshal_constructor_versioned' follow
collect2: error: ld returned 1 exit status
CMakeFiles/SDL2.dir/build.make:3709: recipe for target 'libSDL2-2.0.so.0.4.0' failed
make[5]: *** [libSDL2-2.0.so.0.4.0] Error 1
CMakeFiles/Makefile2:136: recipe for target 'CMakeFiles/SDL2.dir/all' failed
make[4]: *** [CMakeFiles/SDL2.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/sdl_EXTERNAL.dir/build.make:111: recipe for target 'sdl_EXTERNAL-prefix/src/sdl_EXTERNAL-stamp/sdl_EXTERNAL-build' failed
make[2]: *** [sdl_EXTERNAL-prefix/src/sdl_EXTERNAL-stamp/sdl_EXTERNAL-build] Error 2
CMakeFiles/Makefile2:141: recipe for target 'CMakeFiles/sdl_EXTERNAL.dir/all' failed
make[1]: *** [CMakeFiles/sdl_EXTERNAL.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

Including Windows Headers in Linux Build

Built on Ubuntu 14.04 with clang:

clint@flexo:~/source/truss/dist$ ./truss  scripts/examples/00_buffercube.t 
>>>>>>>>>>>>>> TRUSS_TEST CALLED <<<<<<<<<<<<<
In file included from <buffer>:1:
include/compat/stdint.h:33:2: warning: "Use this header only with Microsoft Visual C++ compilers!"
#warning "Use this header only with Microsoft Visual C++ compilers!"
 ^
<buffer>:16:5: error: unknown type name 'size_t'
    size_t data_length;
    ^
<buffer>:50:37: error: unknown type name 'size_t'
truss_message* truss_create_message(size_t data_length);
                                    ^

double SDL_KEYDOWN events on letter keys

Letter keys (printable characters, to be more specific) seem to produce double keydowns. Might be a windows 10 quirk, but I've tested on multiple keyboards to make sure it isn't a hardware issue.

Large allocations should be done with malloc and not terralib.new

terralib.new allocates onto the lua heap which, for large allocations, interacts with the garbage collector so that the memory usage grows over time to eventually use 2x to 3x as much memory as it should. For example, an array of 1M floats will initially take 4mb as expected, but over time will increase the memory footprint by 8-12mb.

Instead, a truss.new should just use malloc, as per gilbo/ebb#42.

Have all stb_* implementations in one place

stb requires that there be a cpp that actually 'implements' each library by defining STB_[module]_IMPLEMENTATION before including the header. This has to happen exactly once in the code. Right now nanovg.cpp implements stb_image and stb_truetype, but these 'implementations' should probably be moved into their own dedicated file.

lower-left texture origin: canvas drawing

Canvas drawing is currently broken in opengl because of the lower-left texture origin vs upper left in directx. Probably blit functionality should be rolled into Texture so the correct origin-checking can be encapsulated there.

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.