Giter VIP home page Giter VIP logo

vu's Issues

Implement Direct3D Renderer

There is a Direct3D9 wrapper here: https://github.com/gonutz/d3d9
Having a Direct3D renderer would make deployment on Windows easier, since Windows comes with DirectX drivers but usually has bad built-in OpenGL support and the average user usually is not inclined to or capable of updating their graphics drivers which often breaks something in a blue-screeny kind of way.

Doesn't compile on OpenSuse

# github.com/gazed/vu/device
../go/src/github.com/gazed/vu/device/input.go:196: undefined: controlKeyMask
../go/src/github.com/gazed/vu/device/input.go:197: undefined: shiftKeyMask
../go/src/github.com/gazed/vu/device/input.go:198: undefined: functionKeyMask
../go/src/github.com/gazed/vu/device/input.go:199: undefined: commandKeyMask
../go/src/github.com/gazed/vu/device/input.go:200: undefined: altKeyMask
../go/src/github.com/gazed/vu/device/input.go:208: undefined: key0
../go/src/github.com/gazed/vu/device/input.go:209: undefined: key1
../go/src/github.com/gazed/vu/device/input.go:210: undefined: key2
../go/src/github.com/gazed/vu/device/input.go:211: undefined: key3
../go/src/github.com/gazed/vu/device/input.go:212: undefined: key4
../go/src/github.com/gazed/vu/device/input.go:212: too many errors
# github.com/gazed/vu/audio/al
could not determine kind of name for C.uintptr_t
could not determine kind of name for C.wrap_alcCaptureCloseDevice
could not determine kind of name for C.wrap_alcCaptureSamples
could not determine kind of name for C.wrap_alcCaptureStart
could not determine kind of name for C.wrap_alcCaptureStop
could not determine kind of name for C.wrap_alcCloseDevice
could not determine kind of name for C.wrap_alcCreateContext
could not determine kind of name for C.wrap_alcDestroyContext
could not determine kind of name for C.wrap_alcGetContextsDevice
could not determine kind of name for C.wrap_alcGetEnumValue
could not determine kind of name for C.wrap_alcGetError
could not determine kind of name for C.wrap_alcGetIntegerv
could not determine kind of name for C.wrap_alcGetProcAddress
could not determine kind of name for C.wrap_alcGetString
could not determine kind of name for C.wrap_alcIsExtensionPresent
could not determine kind of name for C.wrap_alcMakeContextCurrent
could not determine kind of name for C.wrap_alcProcessContext
could not determine kind of name for C.wrap_alcSuspendContext

gcc errors for preamble:
../go/src/github.com/gazed/vu/audio/al/al.go:272:2: error: unknown type name 'uintptr_t'
 // ALC_API uintptr_t    ALC_APIENTRY wrap_alcCreateContext( uintptr_t device, const int* attrlist ) { return (uintptr_t)(*pfn_alcCreateContext)((ALCdevice *)device, attrlist); }
  ^
../go/src/github.com/gazed/vu/audio/al/al.go:272:59: error: unknown type name 'uintptr_t'
 // ALC_API uintptr_t    ALC_APIENTRY wrap_alcCreateContext( uintptr_t device, const int* attrlist ) { return (uintptr_t)(*pfn_alcCreateContext)((ALCdevice *)device, attrlist); }
                                                           ^
../go/src/github.com/gazed/vu/audio/al/al.go:273:64: error: unknown type name 'uintptr_t'
 // ALC_API ALCboolean   ALC_APIENTRY wrap_alcMakeContextCurrent( uintptr_t context ) { return (*pfn_alcMakeContextCurrent)( (ALCcontext *)context ); }
                                                                ^
../go/src/github.com/gazed/vu/audio/al/al.go:274:60: error: unknown type name 'uintptr_t'
 // ALC_API void         ALC_APIENTRY wrap_alcProcessContext( uintptr_t context ) { (*pfn_alcProcessContext)( (ALCcontext *)context ); }
                                                            ^
../go/src/github.com/gazed/vu/audio/al/al.go:275:60: error: unknown type name 'uintptr_t'
 // ALC_API void         ALC_APIENTRY wrap_alcSuspendContext( uintptr_t context ) { (*pfn_alcSuspendContext)( (ALCcontext *)context ); }
                                                            ^
../go/src/github.com/gazed/vu/audio/al/al.go:276:60: error: unknown type name 'uintptr_t'
 // ALC_API void         ALC_APIENTRY wrap_alcDestroyContext( uintptr_t context ) { (*pfn_alcDestroyContext)( (ALCcontext *)context ); }
                                                            ^
../go/src/github.com/gazed/vu/audio/al/al.go:277:2: error: unknown type name 'uintptr_t'
 // ALC_API uintptr_t    ALC_APIENTRY wrap_alcGetCurrentContext( void ) { return (uintptr_t)(*pfn_alcGetCurrentContext)(); }
  ^
../go/src/github.com/gazed/vu/audio/al/al.go: In function 'wrap_alcGetCurrentContext':
../go/src/github.com/gazed/vu/audio/al/al.go:277:80: error: 'uintptr_t' undeclared (first use in this function)
 // ALC_API uintptr_t    ALC_APIENTRY wrap_alcGetCurrentContext( void ) { return (uintptr_t)(*pfn_alcGetCurrentContext)(); }
                                                                                ^
../go/src/github.com/gazed/vu/audio/al/al.go:277:80: note: each undeclared identifier is reported only once for each function it appears in
../go/src/github.com/gazed/vu/audio/al/al.go: At top level:
../go/src/github.com/gazed/vu/audio/al/al.go:278:2: error: unknown type name 'uintptr_t'
 // ALC_API uintptr_t    ALC_APIENTRY wrap_alcGetContextsDevice( uintptr_t context ) { return (uintptr_t)(*pfn_alcGetContextsDevice)( (ALCcontext *)context ); }
  ^
../go/src/github.com/gazed/vu/audio/al/al.go:278:63: error: unknown type name 'uintptr_t'
 // ALC_API uintptr_t    ALC_APIENTRY wrap_alcGetContextsDevice( uintptr_t context ) { return (uintptr_t)(*pfn_alcGetContextsDevice)( (ALCcontext *)context ); }
                                                               ^
../go/src/github.com/gazed/vu/audio/al/al.go:279:2: error: unknown type name 'uintptr_t'
 // ALC_API uintptr_t    ALC_APIENTRY wrap_alcOpenDevice( const char *devicename ) { return (uintptr_t)(*pfn_alcOpenDevice)( devicename ); }
  ^
../go/src/github.com/gazed/vu/audio/al/al.go: In function 'wrap_alcOpenDevice':
../go/src/github.com/gazed/vu/audio/al/al.go:279:91: error: 'uintptr_t' undeclared (first use in this function)
 // ALC_API uintptr_t    ALC_APIENTRY wrap_alcOpenDevice( const char *devicename ) { return (uintptr_t)(*pfn_alcOpenDevice)( devicename ); }
                                                                                           ^
../go/src/github.com/gazed/vu/audio/al/al.go: At top level:
../go/src/github.com/gazed/vu/audio/al/al.go:280:57: error: unknown type name 'uintptr_t'
 // ALC_API ALCboolean   ALC_APIENTRY wrap_alcCloseDevice( uintptr_t device ) { return (*pfn_alcCloseDevice)( (ALCdevice *)device ); }
                                                         ^
../go/src/github.com/gazed/vu/audio/al/al.go:281:54: error: unknown type name 'uintptr_t'
 // ALC_API ALCenum      ALC_APIENTRY wrap_alcGetError( uintptr_t device ) { return (*pfn_alcGetError)( (ALCdevice *)device ); }
                                                      ^
../go/src/github.com/gazed/vu/audio/al/al.go:282:64: error: unknown type name 'uintptr_t'
 // ALC_API ALCboolean   ALC_APIENTRY wrap_alcIsExtensionPresent( uintptr_t device, const char *extname ) { return (*pfn_alcIsExtensionPresent)( (ALCdevice *)device, extname ); }
                                                                ^
../go/src/github.com/gazed/vu/audio/al/al.go:283:60: error: unknown type name 'uintptr_t'
 // ALC_API void  *      ALC_APIENTRY wrap_alcGetProcAddress( uintptr_t device, const char *funcname ) { return (*pfn_alcGetProcAddress)( (ALCdevice *)device, funcname ); }
                                                            ^
../go/src/github.com/gazed/vu/audio/al/al.go:284:58: error: unknown type name 'uintptr_t'
 // ALC_API ALCenum      ALC_APIENTRY wrap_alcGetEnumValue( uintptr_t device, const char *enumname ) { return (*pfn_alcGetEnumValue)( (ALCdevice *)device, enumname ); }
                                                          ^
../go/src/github.com/gazed/vu/audio/al/al.go:285:55: error: unknown type name 'uintptr_t'
 // ALC_API const char * ALC_APIENTRY wrap_alcGetString( uintptr_t device, int param ) { return (*pfn_alcGetString)( (ALCdevice *)device, param ); }
                                                       ^
../go/src/github.com/gazed/vu/audio/al/al.go:286:57: error: unknown type name 'uintptr_t'
 // ALC_API void         ALC_APIENTRY wrap_alcGetIntegerv( uintptr_t device, int param, int size, int *data ) { (*pfn_alcGetIntegerv)( (ALCdevice *)device, param, size, data ); }
                                                         ^
../go/src/github.com/gazed/vu/audio/al/al.go:287:2: error: unknown type name 'uintptr_t'
 // ALC_API uintptr_t    ALC_APIENTRY wrap_alcCaptureOpenDevice( const char *devicename, unsigned int frequency, int format, int buffersize ) { return (uintptr_t)(*pfn_alcCaptureOpenDevice)( devicename, frequency, format, buffersize ); }
  ^
../go/src/github.com/gazed/vu/audio/al/al.go: In function 'wrap_alcCaptureOpenDevice':
../go/src/github.com/gazed/vu/audio/al/al.go:287:150: error: 'uintptr_t' undeclared (first use in this function)
 // ALC_API uintptr_t    ALC_APIENTRY wrap_alcCaptureOpenDevice( const char *devicename, unsigned int frequency, int format, int buffersize ) { return (uintptr_t)(*pfn_alcCaptureOpenDevice)( devicename, frequency, format, buffersize ); }
                                                                                                                                                      ^
../go/src/github.com/gazed/vu/audio/al/al.go: At top level:
../go/src/github.com/gazed/vu/audio/al/al.go:288:64: error: unknown type name 'uintptr_t'
 // ALC_API ALCboolean   ALC_APIENTRY wrap_alcCaptureCloseDevice( uintptr_t device ) { return (*pfn_alcCaptureCloseDevice)( (ALCdevice *)device ); }
                                                                ^
../go/src/github.com/gazed/vu/audio/al/al.go:289:58: error: unknown type name 'uintptr_t'
 // ALC_API void         ALC_APIENTRY wrap_alcCaptureStart( uintptr_t device ) { (*pfn_alcCaptureStart)( (ALCdevice *)device ); }
                                                          ^
../go/src/github.com/gazed/vu/audio/al/al.go:290:57: error: unknown type name 'uintptr_t'
 // ALC_API void         ALC_APIENTRY wrap_alcCaptureStop( uintptr_t device ) { (*pfn_alcCaptureStop)( (ALCdevice *)device ); }
                                                         ^
../go/src/github.com/gazed/vu/audio/al/al.go:291:60: error: unknown type name 'uintptr_t'
 // ALC_API void         ALC_APIENTRY wrap_alcCaptureSamples( uintptr_t device, ALCvoid *buffer, int samples ) { (*pfn_alcCaptureSamples)( (ALCdevice *)device, buffer, samples ); }
                                                            ^

# github.com/gazed/vu/physics
/tmp/go-build827693216/github.com/gazed/vu/physics/_obj/collision.o: In function `btAtan2':
../go/src/github.com/gazed/vu/physics/collision.c:58: undefined reference to `atan2'
/tmp/go-build827693216/github.com/gazed/vu/physics/_obj/collision.o: In function `btSqrt':
../go/src/github.com/gazed/vu/physics/collision.c:59: undefined reference to `sqrt'
../go/src/github.com/gazed/vu/physics/collision.c:59: undefined reference to `sqrt'
../go/src/github.com/gazed/vu/physics/collision.c:59: undefined reference to `sqrt'
../go/src/github.com/gazed/vu/physics/collision.c:59: undefined reference to `sqrt'
../go/src/github.com/gazed/vu/physics/collision.c:59: undefined reference to `sqrt'
/tmp/go-build827693216/github.com/gazed/vu/physics/_obj/collision.o:/home/terminal/go/src/github.com/gazed/vu/physics/collision.c:59: more undefined references to `sqrt' follow
collect2: error: ld returned 1 exit status

go get -u github.com/gazed/vu

terminal@linux-iflx:~/Downloads> uname -a
Linux linux-iflx 4.4.74-18.20-default #1 SMP Fri Jun 30 19:01:19 UTC 2017 (b5079b8) x86_64 x86_64 x86_64 GNU/Linux
terminal@linux-iflx:~/Downloads> cat /etc/os-release
NAME="openSUSE Leap"
VERSION="42.2"

Doesn't compile on Ubuntu (linux).

Currently the project does not compile on Ubuntu, while browsing through the code I found this:

// FUTURE
// Currently the most popular linux distro (ubuntu) is replacing the xserver
// display server with Mir. An example Mir shell can be found at:
//     http://unity.ubuntu.com/mir/demo_shell_8cpp-example.html
// Work on the linux portion will be delayed until there is an
// ubuntu version that fully supports Mir.

// The ubuntu (linux) native layer implementation.
// This wraps the linux windows API's (where the real work is done).

// // The following block is C code and cgo directvies.

You can use Qt5 to create an openGL context and this is supported under Mir.
Ubuntu on the phone fully supports Mir and I have been able to get openGL contexts working under QT5 with QML and Go.

Consistent Color/Colour naming

Hi!
awesome library thanks for the hard work so far!
I just started using it but I already fell in love :-)

But it would awesome if color would be named consistently within the library (preferably color :P).

In vu.Eng#SetColor its SetColor but in
render.Light its SetColour/GetColour().

Thx!

Importing a heightmap into VU

Hi! How would one go about importing a heightmap into VU (something like this)? I am interested in simulating some projectile collisions with terrain. Are there other options apart from adding boxes on every position to recreate the terrain mesh?

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.